繁体   English   中英

PyOpenGL加速到底是什么?

[英]What exactly is PyOpenGL-accelerate?

标题是这里的主要问题。 我在计算机上运行了一些PyOpenGL代码,运行速度有些慢。 我意识到我还没有安装PyOpenGL-accelerate。 这根本没有改变速度,但是大多数使用Python OpenGL绑定的教程都建议应安装PyOpenGL-accelerate。

该模块的作用是什么?

首先请注意,PyOpenGL加速不是灵丹妙药。 因此,如果您已经在优化应用程序方面做得不好,那么PyOpenGL-accelerate将不会给您带来太多的性能提升。

话虽如此。 PyOpenGL-accelerate由Cython加速器模块组成,这些模块试图加速PyOpenGL 3.x的各个方面。 因此,如果使用glBegin()glEnd()进行绘制,那么您将不会获得任何性能。

那么什么是Cython加速器模块?

这些模块是完全独立的,创建它们的目的是要比在CPython中运行的等效纯Python代码更快。 理想情况下,如果加速版本在给定的系统上不可用,则加速器模块将始终具有等效的纯Python用作备用。 CPython标准库广泛使用了加速器模块。

Python –二进制扩展

用外行的话来说。 Cython可以说是Python和C之间的混合体。 目标是优化和执行速度。

关于PyOpenGL-accelerate,这意味着PyOpenGL提供了各种帮助程序类。 而是以提供更多性能的方式实施。

文档中

这组C(Cython)扩展为PyOpenGL 3.x中的慢点提供了常用操作的加速。 对于广泛使用大型数组的代码,与未加速的代码相比,速度提高了约10%。

如果您想精确地知道定义了哪些优化,则可以深入研究代码,但是OpenGL通常围绕令人惊讶的粗略优化来构建,以考虑到不同的硬件-我想这也扩展到了解释器的运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM