我正在写这个关于directx的问题,以下问题是其中的一部分,但我意识到我需要将它们分开。
如果某些东西不在 GPU 上的“槽”(寄存器)中,是否必须将其重新传输到 GPU 才能再次使用,即如果将纹理 A 放入寄存器 t0,然后将纹理 B 放入寄存器 t0,是纹理 t0 在 GPU 上不再可用?还是它仍然驻留在 GPU 内存中,但我必须调用以将其加载到纹理寄存器中才能获取它?还是完全不同的东西?
以类似的方式调用 PSSetShaders、PSSetShaderResource 或 IASetVertexBuffers 等......在返回之前将数据阻塞并复制到 GPU,因此在调用之后可以更改甚至释放它们所基于的资源,因为它现在是驻留在 GPU 上?
我想这不仅仅是一个问题,但我希望如果我尝试在一天内提出太多 directx 问题,我会遇到麻烦(我认为这些确实是体面的问题,msdn 文档对此保持沉默,即使它们是所有新手问题)。