Утечки памяти в C ++ при рендеринге мешей

Я планирую создать игровой движок на C ++ и DirectX 9. Поэтому я просто тестирую возможности Direct3D. Моя проблема в том, что, когда я рендерил объекты с помощью функций Direct3DX (текст, текстуры, сетки), использование памяти приложения продолжает расти, а производительность моего компьютера падает. Когда у меня есть только очищенная сцена без какого-либо рендеринга, использование памяти остается около 4 МБ, но когда я добавляю текст или сетки (даже с предопределенными функциями рисования сетки, т.е. D3DXCreateBox, D3DXCreateTeapot), возникает проблема, упомянутая выше. Может кто-нибудь помочь мне это исправить?
ПРИМЕЧАНИЕ. Когда я не выполняю рендеринг в цикле, использование памяти остается на уровне 9 Мб, но, конечно, все остается статичным.

0

Решение

Вы вызываете IUnknown :: Release на указатели интерфейса D3D, когда вы закончите использовать их? Использование класса интеллектуальных указателей, таких как ATL CComPtr помогает избежать этих проблем.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]