intel - отключить вертикальную синхронизацию
luethus 6 марта, 2010 - 15:40
всем привет.
mesa 7.5.2, X 1.6.5, драйвера xf86-video-intel-2.7.1 (да, старые, но на них с EXA все быстро работает, чего не скажешь о UXA и >=2.8).
карточка X3100 (GM965).
xorg.conf: http://pastebin.com/mDVGZ1kX
/etc/drirc и ~/.drirc: http://pastebin.com/JAhmPvBx
glxgears:
$ glxgears Running synchronized to the vertical refresh. The framerate should be approximately the same as the monitor refresh rate. 301 frames in 5.0 seconds = 60.176 FPS 301 frames in 5.0 seconds = 60.029 FPS
вот как ее отключить, эту синхронизацию?..
»
- Для комментирования войдите или зарегистрируйтесь
luethus написал(а): как ее
Простите мою невежливость (не очень хорошо вопросом на вопрос), но всё же зачем вам её отключать?
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Spoiler написал(а): luethus
может потому, что у него элт монитор?
nwanomaly написал(а): потому,
Wow! 60-герцовый ЭЛТ? Maybe, maybe...
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Spoiler
да хоть 85Гц. у меня такой был ещё полгода назад.
nwanomaly написал(а): да хоть
Не-не, здесь 60Hz (топикстартер указал: ...skipped...60.029 FPS...)
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Spoiler
fps - это не герцы развёртки )
nwanomaly написал(а): fps -
Во, как, с приехалом нас!.. fps -> Frames Per Second, а физ. смысл единицы измерения "герц" означает число событий (в нашем случае отрисовок) в секунду. Так что, fps - это как раз и есть герцы, другое дело, что в общем случае эти герцы никак не коррелированны с герцами вертикальной развёртки, и это приводит к избыточной, бессмысленной загрузке GPU и CPU. Указание иксам использовать VSync как раз и призвано исправить эту ситуацию... У топикстартера включена синхронизация, стал быть по fps можно однозначно судить о частоте развёртки
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Spoiler
fps - это число кадров, которые может видеокарта выдавать. а герцы тут - это способность их на мониторе отобразить.
я рисовал кубик в gl, который вращался и выдавал - 12к fps. причём тут физический смысл?
,
Герцы - это не тут или там, герцы -это единица измерения.
Просто частота обновления монитора и частота генерирования кадров GPU не связаны, но и то и то - частота, измеряемая в герцах.
izbushka
я прекрасно понимаю значения "герц".
только речь тут идёт о том, что выдаваемые glxgears числа fps трактуются как частоты, видимые на экране (развёртки).
если fps низкое - пожалуйста. включай vsync.
nwanomaly написал(а): я
Ну, хорошо, поясню на пальцах. glxgears показывает частоту смены информации (fps) в промежуточных буферах, специально для этого и предназначенных. Вывод на дисплей производится из оконечного видеобуфера с частотой кадровой (вертикальной) развёртки. При отсутствии синхронизации, есть смысл иметь максимальное значение fps, т.к. передача матрицы из пром. буфера в видеобуфер происходит в произвольный момент времени по отношению к вычислениям - началу прямого хода развёртки, и к этому моменту важно иметь максимально свежую информацию. Синхронизация выражается в том, что момент вычисления и заполнения пром. буферов привязывается к моменту "обратного хода" кадровой развёртки, а к началу "прямого хода" (отображения) в видеобуфере как раз и оказывается макс. свежая информация. Разница в том, что в даном случае не производятся ненужные операции с пром. буферами, т.к. всё равно на отображение это никак не повлияет. "Аномально низкие" значения fps при таком раскладе - фейк, и говорит не о низкой производительности видеоподсистемы, а об искусственно сдерживаемых бессмысленных вычислительных циклах
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Spoiler
ни разу не понятно то, почему было решено, что 60 fps - это 60Гц ЭЛТ?
у меня с включенной vsync на текущем компе выдаёт
17998 frames in 5.0 seconds = 3599.586 FPS
равно как и предыдущее число 60 свидетельствует просто о "бессмысленных" (неактуальных) циклах, так и 3к5 - тоже не частота монитора.
nwanomaly написал(а): ни разу
Похоже, вы не поняли принципа... Суть в том, что при полной синхронизации fps должна оказаться ~F развёртки
Судя по всему, синхронизация у вас просто не включена, либо включена частично (к примеру - только текстуры)
Мы тоже не всего читали Шнитке!.. © В. Вишневский
То есть если значения FPS
То есть, если значения FPS высокие ,выключить vsync?
valet2valet написал(а): если
Включить
Мы тоже не всего читали Шнитке!.. © В. Вишневский
У меня тоже $
У меня тоже
Но я не пытаюсь ничего выключать)
Тоже интересно,зачем?
у вас монитор 9 МГц? вообще
у вас монитор 9 МГц?
вообще похоже на баг glxgears
note173 написал(а): у вас
Похоже, что вы просто не знаете, что такое glxgears! :D
Не монитор...
а видео карта,
причем это ее частота кадров только для этого приложения, при выключенной вертикальной синхронизации.
Gentoo - Symphony of Creations
в новых выключается
в новых выключается так:
Option "SwapbuffersWait" "false"