???
Математика на уровне МГУ

Показано с 1 по 25 из 74

Тема: АЕР 2.01 - тюнинг графики.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    . Аватар для Maximus_G
    Регистрация
    09.04.2002
    Адрес
    Владивосток
    Возраст
    46
    Сообщений
    10,064

    Ответ: Сабж в рамках темы "тюнинг графики"

    Цитата Сообщение от NewLander
    Не должен, если ФПС превосходит частоту рефреша - в этом случае ФПС равен рефрешу. Если ФПС меньше частоты регенерации экрана, то Верт. синхр. делит рефреш на 2, 4 и т.д. - пока не уложится.
    Увы, похоже на то.
    В тестах видно, что как только синхронизированные фпсы опускаются чуть ниже рефреша, они резко уменьшаются в 2 раза. Если чуть ниже половины - сбрасываются в 3 раза от частоты рефреша. Затем, видимо, 4, 5 раз и так далее. Получаются ступеньки - 72, 36, 24...

    ---

    СТОП!
    В таком случае, почему в безшейдерном режиме такие ступени отсутствуют?
    Крайний раз редактировалось Maximus_G; 29.05.2004 в 17:28.
    "Как говорит наш дорогой шеф, в нашем деле главное - реализьм!" (c) к/ф "Бриллиантовая рука"

  2. #2
    Ищущий
    Регистрация
    20.12.2001
    Адрес
    Омск
    Возраст
    46
    Сообщений
    2,974

    Ответ: Сабж в рамках темы "тюнинг графики"

    Цитата Сообщение от Maximus_G
    СТОП!
    В таком случае, почему в безшейдерном режиме такие ступени отсутствуют?
    А часто у тебя на такой конфе в бесшэйдерном режиме ФПС опускается ниже 72-х?

  3. #3
    . Аватар для Maximus_G
    Регистрация
    09.04.2002
    Адрес
    Владивосток
    Возраст
    46
    Сообщений
    10,064

    Ответ: Сабж в рамках темы "тюнинг графики"

    Цитата Сообщение от Ash
    А часто у тебя на такой конфе в бесшэйдерном режиме ФПС опускается ниже 72-х?
    См. трек в предыдущем сообщении

    Цитата Сообщение от LeR19_Borg
    А у меня вообще ничего не изменяется-ни в одном из режимов.Даже вода вечно одинаковая,как прогу не дергай.Может я что-то не так делаю?
    Какая у вас карточка?
    И какая вода - ш.1 или ш.2?
    Режим (D3D, OGL)?
    Параметр water=?
    "Как говорит наш дорогой шеф, в нашем деле главное - реализьм!" (c) к/ф "Бриллиантовая рука"

  4. #4
    Зоофил
    Регистрация
    21.04.2002
    Адрес
    Nsk
    Возраст
    48
    Сообщений
    2,693

    Ответ: Сабж в рамках темы "тюнинг графики"

    Цитата Сообщение от Maximus_G
    Увы, похоже на то.
    В тестах видно, что как только синхронизированные фпсы опускаются чуть ниже рефреша, они резко уменьшаются в 2 раза. Если чуть ниже половины - сбрасываются в 3 раза от частоты рефреша. Затем, видимо, 4, 5 раз и так далее. Получаются ступеньки - 72, 36, 24...
    Так и должно быть.
    Если при 100Гц (10мс/кадр) рендеринг занимает 11мс, то значит через 10мс (на момент обновления) кадр еще не готов, и он пропускается (отображается тот же кадр, что и в предыдущий раз).
    Если у тебя двойная буферизация, то через 11мс кадр уже готов, но отображается предыдущий, а этот, готовый, будет отображаться только через 20мс от начала его рендеринга (т.е. через одно обновление). Итого, пропускается ровно один кадр.
    Через 20 мс (т.е. после 2 рефрешей) новый кадр отобразится, и предыдущий будет свободен для рендеринга очередного (третьего) кадра, и ситуация повториться, т.к. он, скорее всего тоже не успеет отрендериться за 10мс (соседние кадры, как правило, строятся на одной или на похожих сценах).

    Если ему выставить тройную буферизацию, то ситуация изменится:
    1. Первый кадр (1) отображается на экране, пока рендериться следующий (2).
    2. Через 10мс наступает рефреш, но след. кадр (2) еще не готов. По-этому отображается опять кадр (1).
    3. Через 11мс (1мс после рефреша) кадр (2) готов. Кадр (1) отображается на мониторе, кадр (3) - свободен. Запоминаем кадр (2) и начинаем рендерить кадр (3). Допустим, он будет обсчитываться тоже 11мс.
    4. Имейте в виду, что в этот момент отображается все еще кадр (1), а физический движок уверен, что обсчитывает кадр (3), т.е. картинка на экране отстает на 20мс от положения вещей в физическом пространстве
    5. Через 20мс кадр (2) уже готов, кадр (3) обсчитывается (и будет обсчитываться еще 2мс). Отображаем кадр (2), и кадр (1) (который висел все это время) уже свободен для рассчета.
    6. Через 22мс кадр (3) готов, отображется кадр (2) и кадр (1)- свободен. Начинаем рендерить кадр (1) - четвертый по счету кадр от начала.
    7. Через 30мс кадр (3) готов, и начинает отображаться. Кадр (2)- освобождается для рендеринга, кадр (1)- рендерится (и бедут рассчитываться еще 3мс).
    И т.д.

    Как видим, в первом случае четвертый кадр №3 последовательности отображается через 40мс (4 кадра) от начала последовательности, ФПС падают вдвое (дублируется каждый второй кадр, в нашем примере с 11мс на осчет кадра и 10мс на смену кадра на мониторе).
    Во втором случае- на том же железе кадр №3 последовательности отображается через 30мс от начала последовательности, ФПС падают на 10% (дублируется каждый 10 кадр).
    Если отключить верт. синхронизацию, то кадр №3 последовательности отображается через 22мс от начала последовательности, ФПС соответствует возможностям железа.

    По-идее "prerender limit" в nVidia должен отвечать именно за количество доступных буфферов в режиме вертикальной синхронизации. Чем больше это количество, тем "глаже" ступеньки ФПС.
    Средний ФПС растет, но падает интерактивность (картинка отстает от физики на эти самые "prerender limit" кадров), что при низком (меньше 30) ФПС дает нам более 100мс задержки.

    Но в хелпе РиваТюнера указано, что это количество кадров, которые готовит процессор видеокарточке, а не видеокарточка- монитору. Надеюсь, там ошибка.
    - А что, отец, невесты у вас в городе есть?
    - Кому и кобыла невеста.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •