Вот примечания к скале о том, как все работает под ним.
Экран монитора всегда должен быть связан с так называемой первичной поверхностью, чтобы иметь возможность отображать что-либо, то есть видеокарта может сканировать только одну поверхность в видеопамяти.
Когда приложение работает в полноэкранном режиме (и все настроено правильно для включения переворачивания), первичная поверхность является лишь одним из буферов приложений и переворачивается в другой буфер каждый кадр. Это наиболее эффективный способ представления на экране, но для этого требуется, чтобы приложение владело всей областью монитора (т.е. всей первичной поверхностью).
Когда полноэкранного приложения нет, а DWM выключен, первичная поверхность принадлежит ОС, и каждое оконное приложение выполняет мгновенный переход от резервного буфера приложения к первичной поверхности. Для завершения этого блита требуется некоторое время на GPU (так же, как и для других приложений, видимых на экране), поэтому он не так эффективен, как полноэкранное представление. XP работал таким образом.
Когда DWM создает экран, все становится еще сложнее.
Здесь DWM владеет первичной поверхностью и должен рисовать там окна приложений. Чтобы сделать это возможным, каждое окно имеет ассоциированную поверхность, содержащую его содержимое, называемую поверхностью перенаправления (которая позволяет DWM активировать окошко с окошками, эффекты стекла и все такое хорошее). Каждый раз, когда приложение D3D выдает кадр, оно добавляет блик к поверхности перенаправления.
Таким образом, должно произойти несколько блиттов: блит к поверхности перенаправления приложением, блит с поверхности перенаправления к первичному с помощью DWM, что, опять-таки, накладные расходы по сравнению с полноэкранным.
Обратите внимание, что вся эта дополнительная работа выполняется на графическом процессоре, поэтому она не влияет на производительность процессора.
Материал для чтения далее:
http://blogs.msdn.com/greg_schechter/archive/2006/03/19/555087.aspx
http://blogs.msdn.com/greg_schechter/archive/2006/05/02/588934.aspx
http://blogs.msdn.com/greg_schechter/archive/2006/03/05/544314.aspx