Проблема не в VLC или даже в драйверах; это Windows, или, если быть более точным, Aero.
В Windows XP аппаратно-ускоренная оверлейная поверхность видеокарты не использовалась Windows и, следовательно, была бесплатна для программ, позволяющих записывать данные непосредственно на выход видеокарты. (Вы когда-нибудь пытались получить скриншот видео и получили черный прямоугольник, когда вставляли его? Это потому, что вы сняли оверлейную поверхность, а не собственно видео.)
В Windows 7 интерфейс Aero занимает оверлейную поверхность, благодаря чему его обширная графика и прозрачность выглядят без замедления сканирования системы. В результате другие программы не могут использовать оверлей (у большинства видеокарт есть только одна), и поэтому для отображения видео вместо видео необходимо прибегнуть к программному рендерингу (например, с использованием процессора вместо графического процессора). (Предположительно, переключая экран в полноэкранный режим, приложение может использовать оверлей, хотя Alt-Tabbing на рабочем столе может вызвать проблемы или, по крайней мере, задержку, поскольку драйверы видеокарты переключаются. Конечно, это всего лишь теория, у меня нет реальных доказательств того, что программы используют аппаратное ускорение во время работы Aero.)
Как вы обнаружили, дисплей с программным отображением выглядит совсем не так, как дисплей с ускорением. Вы также выяснили, что вы можете использовать модуль вывода Direct-X для ускорения, но для этого необходимо отключить Aero. Имран упомянул об использовании OpenGL, но это также программный модуль.
Итак, вот сценарий при просмотре видео в Windows 7. У вас есть два основных варианта:
- Отключите Aero и используйте классическую тему Windows Basic или Windows, но получите видео с аппаратным ускорением.
- Сохраняйте Aero и используйте OpenGL (или другие) модули вывода в вашем видеоплеере для рендеринга их в программном обеспечении. Если вы выберете вариант по умолчанию, он будет выглядеть не так хорошо, но если вы выберете тот, который выглядит лучше (например, смешивание, сглаживание и т.д.), Он будет использовать больше ЦП.