-2
A
回答
1
他们低估了它的原因是因为它好像你没有付出任何努力进入一个小小的谷歌搜索。
回答:当调用创建方法时,DirectX通常会将数据从系统内存传输到视频内存中。创建方法的一个例子是“ID3D11Device :: CreateBuffer”。这种方法需要一个指向数据存储位置的指针,以便从系统RAM复制到视频RAM。但是,如果传入的指针是空指针,那么它只是将空间量设置为边,以便稍后复制它。
例子:
如果您创建一个动态顶点缓冲区和你没有在第一,那么你将不得不使用地图/取消映射到数据复制到显存传递数据。
// Fill in a buffer description.
D3D11_BUFFER_DESC bufferDesc;
bufferDesc.Usage = D3D11_USAGE_DYNAMIC;
bufferDesc.ByteWidth = sizeof(Vertex_dynamic) * m_iHowManyVertices;
bufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER;
bufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
bufferDesc.MiscFlags = 0;
bufferDesc.StructureByteStride = NULL;
// Fill in the subresource data.
D3D11_SUBRESOURCE_DATA InitData;
InitData.pSysMem = &_vData[0];
InitData.SysMemPitch = NULL;
InitData.SysMemSlicePitch = NULL;
// Create the vertex buffer.
/*Data is being copyed right now*/
m_pDxDevice->CreateBuffer(&bufferDesc, &InitData, &m_pDxVertexBuffer_PiecePos);
1
DirectX manages the memory为你和数据被复制到GPU时,它需要。
相关问题
- 1. 将树复制到GPU内存
- 2. 将内存中的数据复制到内存时有多深?
- 3. 将阵列从RAM复制到GPU并从GPU复制到RAM
- 4. OS X上的ViennaCL:无法将数据复制到GPU
- 5. 如何将PyObject *内存数据复制到另一个内存地址?
- 6. 将纹理从GPU复制到CPU
- 7. 未将数据复制到寄存器
- 8. 将sqlite数据库从文件复制到:内存使用C#
- 9. 立刻将一堆数据复制到全局内存在CUDA
- 10. OpenCL - 将树复制到设备内存
- 11. 将Packagepart复制到文件或内存
- 12. Tensorflow GPU /多GPU如何分配内存?
- 13. 将数据复制到dataset.datatable
- 14. 何时将数据保存到内部缓存目录?
- 15. 将数据从文件复制到数据存储
- 16. 将数据传输到GPU内核同时运行,以节省时间
- 17. 问题复制内存时
- 18. 如何将DataGridView内容复制到数据集?
- 19. 如何将文件的内容复制到虚拟内存中?
- 20. 如何释放gpu内存?
- 21. 如何将深度缓冲区复制到GPU上的纹理?
- 22. 将内存块复制到内存的另一部分
- 23. 将数据导入到mongodb时如何修复JavaScript堆内存不足错误?
- 24. 将数据复制到可变数组时遇到问题
- 25. GPU内存分配
- 26. 将数据保存到黑莓内存
- 27. 将数据保存到内部存储
- 28. 如何将列内容从本地数据库复制到主数据库?
- 29. 将JSON数据复制到数组中
- 30. 关于将数据复制到Linux内核或从Linux内核复制数据的问题
对不起,您从哪里得到了这个答案?如果指针不是NULL,它是否一直在create方法中执行复制?谢谢! – Yola 2013-04-13 13:54:22
Yeahp ...它总是这样。这就是为什么在创建静态缓冲区时需要传入数据。 – Miguel 2013-04-14 15:17:25