首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DirectX RenderContext内存/VRAM

DirectX RenderContext内存/VRAM
EN

Stack Overflow用户
提问于 2018-09-17 21:56:43
回答 1查看 233关注 0票数 0

我有8 8GB或Vram (Gpu) &16 8GB的普通Ram,当分配(创建)许多比方说大的4096x4096纹理时,我最终用完了Vram。然而,从我所看到的来看,然后在ram上创建它..当你需要渲染它时..为了这样做,似乎要将渲染上下文从ram传输到vram。运行正常,每帧(60fps等)一遍又一遍地访问许多渲染上下文,pc会滞后,因为它试图来回传输非常高的数据量。然而,只要新的(不是最近使用的渲染上下文(等,仍然在ram上,而不是vram上)的量是每秒的引用。应该不会有问题(性能方面的)。问题是这个信息是否正确?

EN

回答 1

Stack Overflow用户

发布于 2018-09-18 12:59:21

DirectX将从视频内存和/或DEFAULT孔径内存中分配GPU池资源,这两个内存都可以由PCIe直接访问。渲染目标通常必须在视频RAM中,通常视频RAM是更快的内存--尽管它在很大程度上取决于图形卡的确切架构。

您所描述的是“过度提交”的情况,在这种情况下,您分配的资源超过了GPU可访问资源的实际容量。在这种情况下,DirectX 11进行了“尽力而为”,通常涉及更改虚拟内存映射以获得场景渲染,但与更正常的情况相比,性能显然相当差。

DirectX 12将“过度提交”的问题留给了应用程序来处理,就像DirectX 12中的其他事情一样,通常“运行时魔术行为”已经被删除了。有关此行为的详细信息,请参阅docs以及this sample

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

https://stackoverflow.com/questions/52369471

复制
相关文章

相似问题

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