首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用显存的OpenGL DisplayList

使用显存的OpenGL DisplayList
EN

Stack Overflow用户
提问于 2012-06-25 16:09:52
回答 2查看 683关注 0票数 1

是否可以将显示列表数据存储在显卡内存中?我想只使用视频内存,如视频缓冲对象(VBO)来存储DisplayList。但当我尝试它时,它总是使用主存而不是显存。我在nVidia geForce 8600GTS和GTX260上进行了测试。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-25 16:30:05

显示列表是一个非常古老的功能,可以追溯到OpenGL-1.0。它们很久以前就被弃用了。无论如何,出于兼容性的原因,您仍然可以使用它们。

OpenGL的工作方式,防止显示列表仅保存在图形处理器内存中。图形服务器( OpenGL称之为图形服务器)是一个纯粹抽象的东西,规范保证,您放在显示列表中的内容始终可用。然而,在现代GPU中,只有有限数量的内存,因此可以根据需要交换有效负载数据。

实际上,GPU内存是系统RAM中数据的缓存(与系统RAM作为存储缓存的方式相同)。

更重要的是,现代GPU可能会崩溃,驱动程序会执行完全重置,给用户的印象是一切正常。但是在重置之后,GPU内存中的所有数据都必须重新初始化。

因此,OpenGL有必要在内存中保留每个负载数据的副本,以支持平滑运行。

因此,您的数据显示为消耗系统RAM也是非常正常的。然而,显示列表很可能也被缓存在GPU内存中。

票数 2
EN

Stack Overflow用户

发布于 2012-06-25 16:14:16

显示列表已弃用。您可以使用VBO和顶点索引来使用图形内存,并使用glDrawElements绘制它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11185584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档