我一直在阅读 Direct3D11 的很多内容(包括这里的堆栈溢出!),在我所有的研究中,我都无法最终回答这个问题:
当一个 Resource 对象(即一个 Buffer 或一个 Texture 对象)被创建时,例如使用 pDevice->CreateBuffer(),它存储在哪里?在系统 RAM 上还是在 GPU 的 Video-RAM 上?还是我完全误解了 Resource 对象的基本性质?
显然,无论您使用什么数据填充资源(例如顶点和索引数组)都存储在您(程序员)放置它的任何位置,但是一旦您将这些数据映射到 Resource,它会复制到哪里?(我假设,由于必须映射和取消映射资源以进行读/写保护,因此映射的数据实际上被复制了,可能复制到了 VRAM)。此外,Resource 对象本身在哪里实例化?
提前感谢您的任何帮助!