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

1

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

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

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

http://blogs.msdn.com/b/greg_schechter/archive/2006/05/02/588934.aspx

Широко известно, что менеджер окон рабочего стола (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 для создания соответствующих рабочих пространств. Я бы начал с некоторых технических статей под Vista и WPF. Изменения в DVM и DDK под Windows 7 незначительны и не касаются вашего вопроса.

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

surfasb
источник