Directx 11 CreateVertexShader内存泄漏

问题描述 投票:0回答:1

嗨,我在创建和释放顶点着色器时发生内存泄漏。

这是我编译的着色器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文档,但我只是不知道可能是什么问题。

memory-leaks directx directx-11 vertex-shader
1个回答
0
投票

好,问题出在英特尔®HD Graphics 620驱动程序上,此更新为我解决了所有问题。

© www.soinside.com 2019 - 2024. All rights reserved.