Излом изображения в приложениях OpenGL

Тема в разделе "WASM.HARDWARE", создана пользователем riden, 7 сен 2017.

  1. riden

    riden New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2017
    Сообщения:
    2
    Ge Force GT 240, Windows 7.
    При включенной вертикальной синхронизации оконного приложения OpenGL наблюдается артефакт в изображении, если окно находится в верхней части экрана, при движении объектов или камеры: преломление изображения по горизонтальной полосе (одной или даже нескольким полосам) верхней части окна, если окно разместить в верхней части экрана.
    Артефакт не виден при захвате фрапсом, он наблюдается только визуально. Артефакт не наблюдается в полноэкранных приложениях OpenGL.
    Что касается DirectX, то во всех оконных приложениях проверенных мной, FPS не ограничен. В DirectX приложениях FPS ограничивается (вертикальной синхронизацией), как правило, только в полноэкранных приложениях. Самому же, включить вертикальную синхронизацию для окна, не получается. DirectX 10 и 11 не видят команд о вертикальной синхронизации из nvidia control panel.
    Сам же я не программирую под DirectX, умею программно включать/отключать вертикальную синхронизацию только в OpenGL приложениях.
    Примеры:
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    Все изображения, кроме последнего, получены в фотошопе, так как я имею лишь единственную плохую камеру, в телефоне, которая плохо снимает движущиеся объекты.
    На снимках − Serious Sam FE, пример из уроков Nehe, мое приложение, в котором спрайт движется по фону.
    Данный артефакт не исчез при подключении другого монитора. Также его нет на двух других компьютерах с другими видеокартами (Ge Force 7050 PV и Intel GMA 3150; с Intel GMA 3150 понятно, тут не возможно включить вертикальную синхронизацию, хотя FPS ограничен, но 180 кадрами, за счет этого нет этого артефакта, может быть).
    Обновление драйверов видеокарты привело лишь к тому, что это полоса излома "переместилась" выше. Теперь, в окнах с заголовком артефакта не видно, видно в popup окнах (без заголовка), и, если отключить в Windows прилипание к верхней границе экрана, то можно переместить окно так, что будет видна эта полоса.
    Вопрос такой: это норма, или какие-то неполадки видеокарты?
     
    Последнее редактирование: 7 сен 2017
  2. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.546
    Адрес:
    Russia
    DWM попробуйте включить
     
  3. riden

    riden New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2017
    Сообщения:
    2
    Вопрос другой. Этих артефактов нет в "официальных" приложениях от известных компаний, при запуске их в окне (я специально отключал вертикальню синхролнизацию для них, чтобы проверить будут эти артефакты или нет). Они есть в примерах Nehe, в моих приложениях, потому как там не отключена вертикальная синхронизация и FPS ограничен, скажем, 60-ю кадрами (я умею отключать v-sync программно, это не проблема, но все-таки хочется ПОНИМАТЬ). Мне не так важно что там будет с DirectX.
    Вопрос такой: эти артефакты в оконных приложениях, с включенной v-sync, это норма, или какие-то неполадки видеокарты? Я веду к тому, что может известные разработчики что-то знают, раз в их приложениях в оконном режиме вертикальная синхронизация отключена (а слдедовательно и артефактов не появляется), и, таким образом, это норма?
     
  4. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.546
    Адрес:
    Russia
    Я ведь не просто так вам предложил включить DWM.
    Отвечаю на ваш вопрос - это норма, и это особенность работы Windows 7 с оконным OpenGL-ем