Модель окна стека исчезла. Vista и выше использовать композитную модель рабочего стола
Я помню эти обсуждения еще тогда, когда Vista впервые появилась. Я буду стараться изо всех сил. Вы должны гуглить эти темы с Vista вместо Windows 7.
Широко известно, что менеджер окон рабочего стола (DWM) объединяет передние буферы для рендеринга на экран.
У меня такой вопрос: если фронтальные буферы за пределами экрана используются независимо от того, включен ли DWM или нет,> что делает композиция, когда DWM отключен?
Вы можете убедиться сами. Выключите Aero и переключитесь на Basic. Теперь вы работаете без DWM. Бум, нет DWM. Но если вы попытаетесь записать в память видеокарты, что произойдет? Большую часть времени вы будете перенаправлены за пределы экранных буферов, если вы не опытный программист. В этом случае вы бы не задавали этот вопрос. И вы бы знали, что происходит
Причина того, что фронтальный буфер за пределами экрана все еще используется, заключается в том, что драйверы больше не контролируют фронтальные буферы. Передний буфер виртуализирован. Это касается GDI и DirectX. Это как причина для менеджера виртуальной памяти в том, что вам больше не разрешено писать напрямую в физическую память. Таким образом, причина, по которой необходим буфер за пределами экрана.
Большую часть этого я узнал во время изучения WPF, поскольку DWM во многих отношениях является просто грандиозным WPF-приложением. Они оба используют DirectX и MIL для создания своих соответствующих рабочих пространств. Я бы начал с некоторых технических статей под Vista и WPF. Изменения в DVM и DDK под Windows 7 незначительны и не касаются вашего вопроса.
Я надеюсь, что все это имеет смысл.