Лажа в работе с памятью - Release()
От: RioRioRio  
Дата: 11.08.11 17:13
Оценка:
Всем доброго времени суток.

Я новичок в этом деле, и соответственно, у меня новичковский вопрос.

Пишу небольшую игру, постигаю секреты DirectX. Всё получается, всё превосходно. Но вот нюанс: при динамическом заполнении поверхностей (звуковых или графических, всё равно) приходится для корректности и вычищать из под них память. Так вот, Release(), отнаследованный от IUnknown, память не вычищает (память смотрю в Task Manager), хотя макрос FAILED показывает, что выполняется Release() прекрасно.

Перерыл весь код — у меня ошибки нет. Проверил в дебаг-режиме: реально после выполнения Release() размер памяти не уменьшается.

Но каково было моё удивление, когда я просто свернул программу — и количество памяти уменьшилось до реального размера (то ли кэш чистится, то ли файл подкачки — не знаю).

Вопрос в следующем: что я не так понимаю? Или если я понимаю правильно: как выполнить такую очистку, которая автоматом выполняется при сворачивании окна?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.