为什么在将大量顶点绘制操作放到显示列表中比直接模式慢呢?

来源:百度知道 编辑:UC知道 时间:2024/05/28 11:57:36
在OpenGL中使用显示列表应该是可以提高效率的,最近写程序却发现把大量画顶点的操作:glBegin(GL_POINTS);glVertex(...);glEnd();放在显示列表中速度反而比直接模式画在屏幕上慢许多。首先生成显示列表时间很长,实时调用显示列表感觉比直接画还要慢,这是为什么呢?高度困惑。请高手指教。谢谢。定点的数量大概在400万个左右。

估计是数据量大引起的。数据量大时,实际数组容量不够时要用到虚拟存储,就是读写磁盘,用读写磁盘把数据倒进倒出,用到磁盘时运行速度大大减慢。绘4M个点,图形分辨率如果要求不高,原来用double的数据试用float,原来用float的数据试用int(存放和绘画),画点时不要它修匀。