嗨,我在创建和释放顶点着色器时发生内存泄漏。
这是我编译的着色器https://pastebin.com/raw/4w8tyY1n
这是我非常简单的代码,我只创建设备和上下文,然后创建顶点着色器,然后全部循环释放。
HRESULT hr;
while(true)
{
ID3D11Device* device;
ID3D11DeviceContext* deviceCtx;
ID3D11VertexShader* vertexShader;
hr = D3D11CreateDevice (
nullptr,
D3D_DRIVER_TYPE_HARDWARE,
nullptr,
D3D11_CREATE_DEVICE_BGRA_SUPPORT,
nullptr,
0,
D3D11_SDK_VERSION,
&device,
nullptr,
&deviceCtx);
if (SUCCEEDED (hr))
{
UINT Size = ARRAYSIZE (g_VS);
hr = device->CreateVertexShader (g_VS, Size, nullptr, &vertexShader);
if (SUCCEEDED (hr))
{
vertexShader->Release ();
}
deviceCtx->Release ();
device->Release ();
}
}
我对此一无所知,我已经阅读了所有可能的msdn文档,但我只是不知道可能是什么问题。
好,问题出在英特尔®HD Graphics 620驱动程序上,此更新为我解决了所有问题。