Фактически, причина, по которой Aero может предотвратить разрыв, не вызывая VSYNC в приложении, заключается в том, что это менеджер окон композитинга. Он рисует рабочий стол и все окна асинхронно относительно любого работающего приложения.
То есть, когда вы включаете композитинг в Windows Vista / 7 (он всегда включен в Windows 8), он будет рисовать все окна, используя копию последнего изображения, которое было заменено сзади вперед. Композитор (Microsoft называет его DWM, Desktop Window Manager ) комбинирует все с включенным VSYNC, и поскольку он рисует, используя копию последнего полностью замененного изображения переднего буфера для каждого окна, он никогда не отображает частично нарисованные кадры. Однако у него есть неприятный побочный эффект - он не позволяет действительно старому программному обеспечению, предназначенному исключительно для правильной работы в переднем буфере, работать с современным программным обеспечением.
В двух словах, DWM добавляет дополнительный уровень защиты от разрывов. Тот, который позволит любому приложению, работающему в системе, рисовать со скоростью, независимо от частоты обновления дисплея, и при этом предотвращать разрыв. В такой системе, в оконном режиме, единственное, для чего хорошо использовать VSYNC в OpenGL или Direct3D, - это фактически снизить нагрузку на CPU / GPU.
Вот почему был создан адаптивный VSYNC, идея которого состоит не в том, чтобы наказывать приложения, которые не могут поддерживать частоту обновления дисплея, принудительно устанавливая их в более низкий коэффициент частоты обновления (например, 60 Гц -> 30, 20, 15, 10, 12). , 6, 5, 4, 3, 2, 1), но для ограничения приложений, которые рисуют быстрее, чем монитор может отображать изображения из-за чрезмерного использования мощности ЦП / ГП.