我编写了一个Wavefront加载程序,它可以工作,但是FPS在500个多边形之后下降到~3,1000个多边形等于10秒延迟,而2000+多边形等于冻结和崩溃。
我的C++/Qt应用程序加载了大约15-20个FPS的100万个多边形,我怀疑PyOpengl(Ctype)和PyQt(sip)包装器。
有人试图将高分辨率模型加载到PyOpengl和PyQt应用程序中来帮助我吗?
编辑:我在OBJ加载程序中使用了“顶点缓冲区对象”,所以与CPU无关。
发布于 2012-02-15 10:59:20
Python + OpenGL的性能提示,来自http://pyopengl.sourceforge.net/ctypes/using.html
由于
的执行模型具有令人难以置信的通用性,它(目前)是一种相当慢的语言。这意味着某些在C或C++这样的语言中运行良好的编码C++的方法在Python中会非常缓慢。要记住的关键思想是,尽可能地将迭代和重复的工作推入OpenGL实现(在C和/或硬件中实现)。
要做到这一点,主要有两种方法:
已解决:
我通过使用C类型来解决性能问题,只需为我的C++应用程序(现在主要是C)编写一个小包装器,并为GUI和GL小部件使用PyQt。-我得到10个FPS ~100万多边形,性能岩石和强烈推荐!!
https://stackoverflow.com/questions/9290113
复制相似问题