前面两次讨论的VBO与Displaylist的速度比较都没有加裁剪(View Frustum Culling),在我的地形渲染程序中加入裁剪功能之后测试发现:
1,加入裁剪之后,使用VBO与使用Displaylist绘制帧率相当。
2,不做View Frustum Culling,窗口内观察到的地形范围为渲染管线裁剪之后的范围,此时Displaylist的速度会有较大的变化。一种情况是摄像头观察到的范围为整个地形范围,一种就是被硬件自动裁剪之后的地形范围,两种情况下Displaylist的绘制方法在速度上有很大不同,后一种情况的帧率会比前一种情况大很多。
VBO和Displaylist每帧渲染的地形分块是一样的,所以按道理讲,既然VBO在硬件自动裁剪前后帧率没什么变化,Displaylist也应该没变化才行。分析原因,有两点猜测:
第一,Displaylist对硬件自动裁剪的处理比VBO优越
第二,我现在使用的显卡有问题,不能体现出VBO的优越性。