嗨,我有一个内存泄漏时,创建和释放顶点着色器。
这是我编译的着色器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文档,我只是不知道问题可能是什么。
发布于 2019-11-06 11:03:42
好的,问题在于Intel HD Graphics 620驱动程序--更新修复了我的一切。
https://stackoverflow.com/questions/58726052
复制相似问题