Что происходит с закадровыми буферами в Windows 7 при отключении DWM?

Что происходит с закадровыми буферами в Windows 7 при отключении DWM?

В этих двух статьях указано, что внеэкранный передний буфер является частью модели драйвера Windows Vista/7 (WDDM).

http://www.opengl.org/pipeline/article/vol003_7/

Даже отключение DWM вряд ли исправит эти проблемы, учитывая, что наличие заэкранного переднего буфера является требованием самой модели драйвера.

Связь

Широко известно, что диспетчер окон рабочего стола (DWM) объединяет передние буферы для рендеринга на экране.

У меня такой вопрос: если используются внеэкранные передние буферы независимо от того, включен DWM или нет, что выполняет операцию композиции, когда DWM включен?неполноценный?

Я также ищу любые хорошие ссылки о том, как ведет себя Windows 7 при отключенном DWM. Она просто возвращается к стековой оконной модели XP?

решение1

Модель стекирования окон ушла. Vista и выше используют составную модель рабочего стола

Я помню эти обсуждения, когда впервые появилась Vista. Я постараюсь изо всех сил. Вам следует гуглить эти темы с Vista, а не с Windows 7.

Широко известно, что диспетчер окон рабочего стола (DWM) объединяет передние буферы для рендеринга на экране.

У меня такой вопрос: если внеэкранные передние буферы используются независимо от того, включен DWM или нет, что делает композиция, когда DWM отключен?

Вы можете убедиться сами. Отключите Aero и переключитесь на Basic. Теперь вы работаете без DWM. Бум, нет DWM. Но если вы попытаетесь записать в память видеокарты, что произойдет? В большинстве случаев вы будете перенаправлены в буферы за пределами экрана, если только вы не опытный программист. В таком случае вы бы не задавали этот вопрос. И вы бы знали, что происходит

Причина, по которой внеэкранный передний буфер все еще используется, заключается в том, что драйверы больше не контролируют передние буферы. Передний буфер виртуализирован. Это касается GDIИDirectX. Это как будто причина для виртуального менеджера памяти в том, что вам больше не разрешено писать напрямую в физическую память. Вот почему необходим буфер за пределами экрана.

Я узнал большую часть этого, изучая WPF, поскольку, ну, DWM во многих отношениях является просто гигантским приложением WPF. Они оба используют DirectX и MIL для составления своих рабочих пространств. Я бы начал с некоторых статей technet по Vista и WPF. Изменения в DVM и DDK под Windows 7 незначительны и не имеют отношения к вашему вопросу.

Надеюсь, все это имеет смысл.

Связанный контент