我正在尝试让我的程序更具防弹性。我的程序调整得很好,直到我把它变得非常小:
防止这种情况发生的方法是设置最小尺寸,我知道该怎么做。在我这样做之前,我想深入研究这个问题。
以下是功能开始崩溃的地方。
hr=swapChain->ResizeBuffers(settings.bufferCount, settings.width, settings.height, DXGI_FORMAT_UNKNOWN, 0);
if(FAILED(hr)) return 0;
我认为这是因为缓冲区太小,所以我制作了一个故障安全缓冲区大小。它也失败了。
hr=swapChain->ResizeBuffers(settings.bufferCount, fallback.width, fallback.height, DXGI_FORMAT_UNKNOWN, 0);
if(FAILED(hr)) return 0;
当我把它变得很小时程序会窒息的原因是什么?我认为缓冲区太小了。似乎并非如此。
修改
我发布这篇文章已经有一段时间了,所以我的代码发生了很大的变化。现在,当调用 deviceContext-> ClearRenderTargetView()时,它会发出未处理的异常崩溃。