GL_COMPILE与GL_COMPILE_AND_EXECUTE的运行速度差异
来源:互联网 发布:mac 中文输入法删除 编辑:程序博客网 时间:2024/05/15 00:05
在修改一个多边形渲染的程序时,无意中将原有显示列表创建时的模式从GL_COMPILE_AND_EXECUTE改为了GL_COMPILE,性能居然有了很大的提高。对于一个简单的由8万个三角形组成的模型使用简单的光照渲染,修改前只有八十几帧,修改后提高到了四百帧,当然我使用的是Geforce 7950GTX,这么高的帧速率不是问题,但是这已经和使用VBO时的渲染速度没什么差别了。(VBO的灵活性肯定是显示列表无法比拟的)
在google上搜索了一下[1],原来这样的差别是在GL设计之初就存在的,两种模式的实际执行方式就是不同的,而且估计硬件驱动已经对显示列表的执行进行了优化,所以与VBO的效率相差无几了。
所以要是希望在使用显示列表的时候获得更好的性能,应当使用GL_COMPILE模式创建,当然了,现在VBO的使用更有前途。
参考资料
[1]. http://www.talisman.org/opengl-1.1/ImpGuide/05_WriteProg.html#GLCOMPILEandEXECUTEMode <script type="text/javascript"><!--google_ad_client = "pub-0008935412623678";//728x90, created 1/16/08google_ad_slot = "7746391271";google_ad_width = 728;google_ad_height = 90;//--></script> <script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> <script type="text/javascript"><!--google_ad_client = "pub-0008935412623678";//728x90, created 1/16/08google_ad_slot = "8291575712";google_ad_width = 728;google_ad_height = 90;//--></script> <script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
在google上搜索了一下[1],原来这样的差别是在GL设计之初就存在的,两种模式的实际执行方式就是不同的,而且估计硬件驱动已经对显示列表的执行进行了优化,所以与VBO的效率相差无几了。
所以要是希望在使用显示列表的时候获得更好的性能,应当使用GL_COMPILE模式创建,当然了,现在VBO的使用更有前途。
参考资料
[1]. http://www.talisman.org/opengl-1.1/ImpGuide/05_WriteProg.html#GLCOMPILEandEXECUTEMode <script type="text/javascript"><!--google_ad_client = "pub-0008935412623678";//728x90, created 1/16/08google_ad_slot = "7746391271";google_ad_width = 728;google_ad_height = 90;//--></script> <script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> <script type="text/javascript"><!--google_ad_client = "pub-0008935412623678";//728x90, created 1/16/08google_ad_slot = "8291575712";google_ad_width = 728;google_ad_height = 90;//--></script> <script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- GL_COMPILE与GL_COMPILE_AND_EXECUTE的运行速度差异
- C 风格 string 与 C++ 风格 string 的速度差异
- 优化MyEclipse 8.6.1的启动速度与运行速度
- 让App的运行速度与响应速度趋于一流
- C++宏,普通函数,内联函数的运行速度以及三者的差异
- 测试串行与并行的运行速度
- IE6与IE8运行JS时的一个差异
- VC++6.0与VS2008运行C语言的一点差异
- ACM-宏定义常量的运行速度与常量的运行速度
- 验证RA8875的硬件绘图与使用MCU软件绘图的速度差异
- 二叉树四种遍历方式的速度差异
- Oracle运行速度与效率高的秘密
- Debug与Release版本程序运行速度的比较
- oracle运行速度与效率高的秘密
- MATLAB运行速度与数组维数的关系
- 程序猿进化必读:让App的运行速度与响应速度趋于一流(iOS)
- 程序猿进化必读:让App的运行速度与响应速度趋于一流(iOS)
- 程序猿进化必读:让App的运行速度与响应速度趋于一流(iOS)
- OpenGL选择机制的一点讨论 (转)
- DOS下联网的方法
- Nokia J2ME系统属性
- eXeScope 使用中的小技巧
- 每日5条语法,伴你能力考好 No.7(周四)
- GL_COMPILE与GL_COMPILE_AND_EXECUTE的运行速度差异
- jsp作权限验证遇到的两个问题
- 如何使 Activesync 能够从 Visual Studio .NET 2003 连接到模拟器会话?
- asp.net服务器控件Repeater
- php中检查email完整性
- Compass开放源码JAVA搜索引擎框架简介
- 夏昕的《SpringGuide》中,Login例子出错的总结
- 你还不知道的网上可以做的30件事
- WPF学习手记-04 Basic Brushse(二)