Почему программы требуют больше ресурсов процессора при повороте рабочего стола на 90 градусов?
Я заметил, что когда я использую ATI Tray Tools, чтобы повернуть мой экран на 90 градусов (влево или вправо), обработка экрана становится очень медленной; Firefox или любая другая программа отстает (использует 100% одного ядра ЦП, когда отображаются элементы меню), и я вижу мерзкую частоту обновления, когда прокручиваю страницы вниз в Firefox (похоже, что экран разделен на несколько вертикальных частей и каждый из они ушли на ~30 пикселей больше, чем предыдущие части слева).
Если я смотрю видео (с VLC) и затем щелкаю правой кнопкой мыши для настроек, пользовательский интерфейс начинает сильно отставать; из-за этого трудно перейти к другому пункту меню, и загрузка процессора достигает 100% (для одного ядра), и когда я выхожу из меню, я замечаю, что декомпрессия видео стала "поврежденной", поэтому мне нужно подождать пока, пока не вернется к норме.
В Windows Media Player декомпрессия видео постоянно прерывается, поэтому смотреть фильмы с ней невозможно (не так, как я). С другой стороны, проигрыватель Windows Media не запаздывает, когда я щелкаю правой кнопкой мыши по меню. Возможно, Firefox и VLC используют одну и ту же библиотеку рендеринга меню, которая как-то глючит при этом повороте на 90 градусов?
Можно ли исправить это отставание / чрезмерное использование процессора, не заменяя мой экран или графический процессор?
Экран: Samsung SyncMaster 226BW
GPU: ASUS EAH3450 (новейшие драйверы)
ОС: Windows XP SP3 (не обновлялась через год и, вероятно, не будет обновляться из-за боязни заблокировать мой компьютер из-за "нелегальной" копии окон (которую я фактически купил (к сожалению))).
Изменение моей ОС не является решением для меня. Я уже пробовал Windows 7 раньше, но это снизило эффективность моего графического процессора примерно на 20%. У меня уже есть очень плохой графический процессор, поэтому мне нужна вся скорость, которую я могу получить, поэтому я использую Windows XP.
1 ответ
Я полагаю, что это происходит из-за метода рисования, источник всего этого "потока данных" и рисование экрана должны были нарисовать его построчно перед зрителем. (Элт)
Данные по-прежнему передаются между вещами в том же линейном потоке данных, что и раньше.
_______________________________________line1
_______________________________________line2 (etc)
Теперь он отображается только в одном обновлении экрана. Когда вы вращаете вещь, все меняется:
_ <-- that goes | there
and _ this goes | here
and _ on & on |
До тех пор, пока все данные не будут переданы линейно на устройство отображения, полностью переставлены. Это совсем другая работа, в отличие от оригинального дизайна.
Это довольно слабое объяснение, но оно может объяснить это достаточно быстро.
Если оба компонента аппаратного обеспечения были разработаны для работы в другом аспекте "повернутого" дисплея (фактически не повернутого), и поток данных не должен был быть перераспределен, то нет никакой причины, по которой "портретное" отображение будь медленнее. Просто так не делается. Вполне возможно, что существует монитор, который имеет другой аспект, где он выше по ширине.
Если этот процесс ротации выполняется лучше, лучше работает с аппаратным обеспечением, это должно быть в состоянии сделать, не разрушая все.
Еще одна вещь, которая может произойти, это субпиксельная визуализация (прозрачный тип), которая работает неправильно, из-за того, что 3 цветных ячейки расположены горизонтально, а теперь вращаются. Так сделано правильно, что все тоже должно быть изменено. Из того, что я понимаю, пока это не так.
Говоря о Renders, для вещей, которые действуют по-разному, и из-за неудачного отображения видеоплеера, измените тип рендеринга. Тип рендеринга "оверлей" только вырезает дыру в программном обеспечении, затем эта дыра заполняется аппаратными средствами. Почти все видеоплееры, включая microsofts, имеют настройку для изменения типа рендеринга.