У меня есть тест, который показывает утечку памяти в моем приложении:
Использование ОЗУ увеличивается на 30-40 МБ за итерацию, профилировщик показывает, что он находится ввнешний код.
Между итерациями я выключаю, а затем воссоздаю устройство D3D.Когда я перестал это делать и просто сохранил устройство живым, стало хорошо:
Единственное отличие состоит в 2 указателях интерфейса: ID3D11Device
иIMFDXGIDeviceManager
.
Есть ли способ выключить устройство D3D, чтобы оно освобождает память вместо утечки?
Насколько я понимаю, если бы я где-нибудь просочился указатель ресурса,это продолжало бы протекать со старым устройством.Означает ли это, что проблема в Windows 10, а не в моем коде?На данный момент я, очевидно, поддерживаю устройство в рабочем состоянии, но в идеале я бы хотел, чтобы было реализовано чистое отключение.