LINUX.ORG.RU

«Рваные» кадры в 3D приложениях


0

0

Проблема: большинство отображаемых кадров получаются как бы состоящими из верхней части предыдущего и нижней следующего, причем фреймрейт сам по себе приемлем, и, учитывая высокую скорость обновления кадров, изображение воспринимается «рваным», как будто его разрезали на горизонтальные полоски и чуть-чуть подвинули их влево-вправо. Особенно бросается в глаза при быстром движении вертикальных контрастных обьектов.
Наблюдается как в нативных, так и запускаемых из-под Wine приложениях. На скриншотах не отражается. Похоже, степень проявления зависит от сложности рендерящейся геометрии. Вот, нашел на ютубе пример, в котором немного заметен такой эффект:
http://www.youtube.com/watch?v=RspDpDmq2bc
Иногда подобное наблюдается даже при масшабировании изображений в Firefox - хотя не уверен, что причины те же.
Gentoo, пропиетарный драйвер nVidia, карточка - GeForce 7900GS.
Кто-то еще замечал? Куда копать?

★★

Последнее исправление: shatsky (всего исправлений: 1)

Вывод изображения не синхронизирован с обновлением монитора.

Надо синхронизировать - проблемы не будет

Проверено на винде

namezys ★★★★
()
Ответ на: комментарий от roman77

>Нвидии sync to vblank не всегда помогает. Вернее почти не помогает.
4.2
просто его надо включать в компизе (если он используется), а не в настройках нвидии

megabaks ★★★★
()
Ответ на: compiz nvidia tearing? от as33

Спасибо, пока что выяснил, что с переменной окружения __GL_SYNC_TO_VBLANK=«1» эффект пропадает.
Не совсем понял, чем отличается sync to vblank от vsync? Или это одно и то же?
vsync - драйвер ждет, пока луч ЭЛТ-монитора «дорисует» предыдущий кадр, и только потом передает следующий. В случае с ЖК (у меня) - работает примерно так же, или картинка обновляется практически мгновенно, и дело не в этом?

shatsky ★★
() автор топика
Ответ на: compiz nvidia tearing? от as33

Причем, в неполноэкранных приложениях при этом фреймрейт на глаз падает до ~15фпс, хотя по счетчику около 60 (частота монитора, до которой по идее он и должен ограничиваться) - пока что есть подозрение, что причина в обмене буферов копированием вместо переключения (вычитал в руководстве драйвера что преключение, как правило, работает для полноэкранных OpenGL окон)

shatsky ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.