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