[英]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标准库广泛使用了加速器模块。
用外行的话来说。 Cython可以说是Python和C之间的混合体。 目标是优化和执行速度。
关于PyOpenGL-accelerate,这意味着PyOpenGL提供了各种帮助程序类。 而是以提供更多性能的方式实施。
从文档中 :
这组C(Cython)扩展为PyOpenGL 3.x中的慢点提供了常用操作的加速。 对于广泛使用大型数组的代码,与未加速的代码相比,速度提高了约10%。
如果您想精确地知道定义了哪些优化,则可以深入研究代码,但是OpenGL通常围绕令人惊讶的粗略优化来构建,以考虑到不同的硬件-我想这也扩展到了解释器的运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.