я некоторые хорошо известные шаги в моей программе:Когда данные копируются в память GPU?
CreateBuffer
Create..View
CSSet..Views
Dispatch
На каком этапе находится данные копируются в ГПУ?
я некоторые хорошо известные шаги в моей программе:Когда данные копируются в память GPU?
CreateBuffer
Create..View
CSSet..Views
Dispatch
На каком этапе находится данные копируются в ГПУ?
Причина, по которой они проголосовали, - это потому, что кажется, что вы не приложили никаких усилий для небольшого поиска Google.
Ответ: DirectX обычно передает данные из системной памяти в видеопамять при вызове методов создания. Примером метода создания является «ID3D11Device :: CreateBuffer». Для этого метода требуется указатель на расположение памяти, где данные, поэтому они могут быть скопированы из ОЗУ системы в видеопамять. Однако, если указатель, который передается, является нулевым указателем, он просто устанавливает объем пространства в сторону, чтобы вы могли его скопировать позже.
Пример:
При создании буфера Dynamic Vertex и не передают данные в на первом, то вам придется использовать карту/Unmap, чтобы скопировать данные в видеопамять.
// 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);
DirectX manages the memory для вас и данные копируются на GPU, когда это необходимо.
Извините, откуда вы получили этот ответ? он всегда выполняет копирование в методе создания, если указатель не равен NULL? Благодаря! – Yola
Да, это всегда так. Вот почему со статическими буферами вы должны передавать данные при их создании. – Miguel