Автор Тема: Кадровая частота с интерлейсингом в консолях.  (Прочитано 1398 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн russslllan

  • Пользователь
  • Сообщений: 11
    • Просмотр профиля
Всем привет! Вот говорят что в Sega Genesis большинство игр идёт 60 фпс, и я сам вижу что есть 60 фпс когда играю, у меня приставка подключена к телику через композит а там как известно идет 480i, но каким образом кадры на экране телевизора могут обновляться со скоростью 60 фпс? Если в таком режиме работает черестрочная развертка с 60-ю полукадрами в секунду а с полными кадрами будет всего лишь 30 фпс.

Оффлайн Gameszzz

  • Пользователь
  • Сообщений: 2963
    • Просмотр профиля
Всем привет! Вот говорят что в Sega Genesis большинство игр идёт 60 фпс, и я сам вижу что есть 60 фпс когда играю, у меня приставка подключена к телику через композит а там как известно идет 480i, но каким образом кадры на экране телевизора могут обновляться со скоростью 60 фпс? Если в таком режиме работает черестрочная развертка с 60-ю полукадрами в секунду а с полными кадрами будет всего лишь 30 фпс.

Эта тема должна быть не только не в разделе консолей 1-3 поколения,но даже не в разделе консолей.
Переноси в техническую или общую часть,так как то как твой тв понимает 240/288р,это не тема консолей

Оффлайн russslllan

  • Пользователь
  • Сообщений: 11
    • Просмотр профиля
Как его перенести? Я не вижу тут кнопку "Перенести тему"

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2276
  • Пол: Мужской
    • Просмотр профиля
Ну а кто сказал, что приставка генерирует полукадры как часть одного кадра? Как я понимаю, приставка работает в режиме 240p, и при отображении на телевизоре просто выводится изображение с меньшим разрешением, оставляя пустые сканлайны. Но частота вывода 60 кадров в секунду. По сути, всегда перерисовываются только четные (либо нечетные) поля.

Оффлайн russslllan

  • Пользователь
  • Сообщений: 11
    • Просмотр профиля
Ну а кто сказал, что приставка генерирует полукадры как часть одного кадра? Как я понимаю, приставка работает в режиме 240p, и при отображении на телевизоре просто выводится изображение с меньшим разрешением, оставляя пустые сканлайны. Но частота вывода 60 кадров в секунду. По сути, всегда перерисовываются только четные (либо нечетные) поля.

Если бы перерисовывались только четные либо нечетные строки то они бы разъехались но этого не видно, если VDP выдаёт 240p то каким образом происходит преобразование в черестрочную, непонятно, ведь пишут что по композиту прогрессив не передают, смотрел схему мат платы Сеги, VDP напрямую соединён к видеокодеру и видеокодер занимается тем что преобразовывает RGB на телевизионый формат цветности, а развертка на выходе такая же как на входе.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2276
  • Пол: Мужской
    • Просмотр профиля
Не очень понял, что должно разъехаться. Если картинка только в четных, а нечетные всегда черные. Думаю там дело в синхроимпульсах, ведь по сути 240p и 480i это один и тот же композитный сигнал, только отрисовка происходит или только в одно поле или в оба.
« Последнее редактирование: 08 Апрель 2024, 09:19:35 от supremacy »

Оффлайн russslllan

  • Пользователь
  • Сообщений: 11
    • Просмотр профиля
Не очень понял, что должно разъехаться. Если картинка только в четных, а нечетные всегда черные.

А ну если нечетные всегда черные то норм, но а фпс видно что не 30 к/с а выше.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2276
  • Пол: Мужской
    • Просмотр профиля
Если бы отрисовка была в оба поля, то полный кадр, действительно, был бы сформирован за 1/30с, но если перерисовывается всегда только первый полукадр (второй выводится в те же поля что и первый), то обновление происходит за 1/60с

Да, и тут наглядно в чём различие: https://shmups.system11.org/viewtopic.php?t=53873
« Последнее редактирование: 08 Апрель 2024, 17:27:16 от supremacy »

Оффлайн russslllan

  • Пользователь
  • Сообщений: 11
    • Просмотр профиля
Если бы отрисовка была в оба поля, то полный кадр, действительно, был бы сформирован за 1/30с, но если перерисовывается всегда только первый полукадр (второй выводится в те же поля что и первый), то обновление происходит за 1/60с

Да, и тут наглядно в чём различие: https://shmups.system11.org/viewtopic.php?t=53873

Правильно ли я понял? В режиме 480i первый полукадр начинается с пол строки дальше полные, второй полукадр начинается с полной строки и из за наклона строки кадр рисуется черестрочно, а в 240p кадр всегда начинается с полной строки и рисуются всегда к примеру четные строки а в нечетные луч не попадает.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2276
  • Пол: Мужской
    • Просмотр профиля
Да, как-то так. Телевизор понимает в какие поля он будет выводить полукадр по первым и последним линиям полукадра. И этим приставка может управлять.

Первая горизонтальная линия нечётного поля и последняя горизонтальная линия чётного поля будут полными. Последняя горизонтальная линия нечётного поля и первая горизонтальная линия чётного поля будут половинными.

Оффлайн russslllan

  • Пользователь
  • Сообщений: 11
    • Просмотр профиля
Да, как-то так. Телевизор понимает в какие поля он будет выводить полукадр по первым и последним линиям полукадра. И этим приставка может управлять.

Первая горизонтальная линия нечётного поля и последняя горизонтальная линия чётного поля будут полными. Последняя горизонтальная линия нечётного поля и первая горизонтальная линия чётного поля будут половинными.

Как я понял в 480i в одном полукадре импульсы HSync сдвигаются на 33 мс(то есть на половину интервала между HSync) а в следующем отодвигается назад, из за чего в одном полукадре начинает и заканчивает с пол строки, а в 240p во всех полукадрах(в таком режиме уже полные кадры)  импульсы HSync не меняются. Теперь все понятно, спасибо что откликнулись на вопрос.
« Последнее редактирование: 08 Апрель 2024, 15:27:46 от russslllan »

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2276
  • Пол: Мужской
    • Просмотр профиля
Кадровая частота с интерлейсингом в консолях.
« Ответ #11 : 08 Апрель 2024, 17:31:22 »
HSync сдвигаются на 33 мс
Только там микросекунды.

Оффлайн russslllan

  • Пользователь
  • Сообщений: 11
    • Просмотр профиля
Кадровая частота с интерлейсингом в консолях.
« Ответ #12 : 09 Апрель 2024, 04:59:54 »
Только там микросекунды.

Да точно микросекунды.

Еще раз посмотрел по ссылке, все не так как я написал выше , синхроимпульсы HSync не меняются они постоянны, из за того что общее количество строк нечетное, в первом полукадре сигнал VSync приходит ровно с импульсом HSync, во втором полукадре VSync срабатывает чуть пораньше и где то по серединке между импульсами HSync и луч начинает рисовать в экран с середины горизонтальной линии и на одну строку выше чем первая строка с предыдущего полукадра и дальше линии ложатся ровно между строк предыдущего полукадра. В 240p VSync и HSync всегда синхроны, и нечетные строки не рисуются. Короче проще нарисовать и показать чем писать)

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2276
  • Пол: Мужской
    • Просмотр профиля
Кадровая частота с интерлейсингом в консолях.
« Ответ #13 : 09 Апрель 2024, 08:23:44 »
Я думаю, что всё понятно и без рисования  :)
Кстати, вроде Sonic 2 в мультиплеере использует режим 480i и там fps должен быть 30

Вообще у мегадрайва 4 режима

https://segaretro.org/Sega_Mega_Drive/VDP_registers
0C Mode Register 4
7   6  5  4  3   2   1  0
RS1 VS HS EP SH LS1-LS0 RS0
RS1/RS0: 1 = 320 pixel (40 cell) wide mode; 0 = 256 pixel (32 cell) wide mode. Both bits must be the same.
VS: Appears to do something relating to the horizontal sync, which seems to freeze it. (source md.railgun.works)
HS: Replaces the VSync signal with a pixel clock signal when set. (source md.railgun.works)
EP: 1 = enable external pixel bus.
SH: 1 = enable shadow/highlight mode.
LS1-LS0: Interlace mode:
00 = no interlace;
01 = interlace normal resolution;
10 = no interlace;
11 = interlace double resolution.
Changes do not take effect until the next vertical blank.

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7536
    • Просмотр профиля
Кадровая частота с интерлейсингом в консолях.
« Ответ #14 : 09 Апрель 2024, 09:47:59 »
Кстати, вроде Sonic 2 в мультиплеере использует режим 480i и там fps должен быть 30
С чего ты взял? Интерлейс не половинит автоматически FPS. Берём старую видеокамеру и внезапно понимаем, что она снимает 50 к/с, вместо 25 к/с, хотя выдаёт честный интерлейс. Кто оцифровывал записи с таких камер помнит, какой это геморой избавляться от гребёнки из-за слишком большой разницы полукадров. Так же и сега - она продолжает на своих 60/50, просто отрисовывает более точно. А гребёнку на телике ты не заметишь, пока не попробуешь задеинтерлейсить это видео. Так устроено зрение человека, которое абьюзит ЭЛТ телевизор.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2276
  • Пол: Мужской
    • Просмотр профиля
Кадровая частота с интерлейсингом в консолях.
« Ответ #15 : 09 Апрель 2024, 10:12:46 »
Тут зависит от того как именно устроен вывод изображения, как часто реально меняется кадр у приставки, если мы про телевидение говорим, то по сути там действительно полукадр является следующим кадром из-за чего появляется гребёнка. Если же про игру, то я так понимаю, что для того чтобы сделать split screen приходится генерировать в два раза больше кадров того же разрешения и это должно приводить к тому что реальная частота кадров должна снизиться.

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7536
    • Просмотр профиля
Кадровая частота с интерлейсингом в консолях.
« Ответ #16 : 09 Апрель 2024, 17:07:11 »
Если же про игру, то я так понимаю, что для того чтобы сделать split screen приходится генерировать в два раза больше кадров того же разрешения и это должно приводить к тому что реальная частота кадров должна снизиться.
Эм, ты реально не понимаешь, как оно работает. VDP делает VBlank каждый фрейм, вне зависимости "i" это или нет. Т.е. постоянно 50/60 в секунду. Далее, для сплитскрина используют отложенное HBlank прерывание, которое организовывается через регистр где указывается через сколько строк надо выстрелить. Настраивается на середину кадра (сколько там, 120 отображаемых строк из 240?). Затем VDP полностью перенастраивается на новое изображение. На это требуется время и чтобы не получить артефактов на экране изображение скрывают чёрным цветом. Поэтому между экранами чёрная полоса в 1 тайл (8 строк). На VBlank цикл повторяется. Логика игры работает на VBlank. Откуда замедление? Ты запусти этого соника 3 на двоих на реальной сеге и запиши видео, там точно такая же гребёнка будет.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2276
  • Пол: Мужской
    • Просмотр профиля
Кадровая частота с интерлейсингом в консолях.
« Ответ #17 : 09 Апрель 2024, 19:01:00 »
Да, согласен. Замедления не будет, просто появится гребёнка и мыло. Наверное разработчики решили, что это будет лучше чем просто уменьшенное разрешение.

Оффлайн russslllan

  • Пользователь
  • Сообщений: 11
    • Просмотр профиля
Незнаю в какую тему писать напишу тут, у меня есть приставка с платой по схеме HardWareMan, стоят ua6527p с перемычкой на 26 мгц и RP2A02 на 21 мгц, все идет четко, но заметил одну особенность, в местах где должны мерцать спрайты, они у меня не мерцают у них просто пропадает часть сканлайнов, проверял на трех жк тв и у всех одинакого, такое впечатление что как будто стоит режим 480i, в одном полукадре спрайт есть в другом полукадре спрайт исчезает и из за этого полоски на спрайтах. Смотрел в ютубе кто тоже подключал к жк тв у них все нормально спрайты просто мерцают. Вот как выглядит у меня https://youtu.be/ZqlQV1D7PmY?si=ugsvg38peQXbGJvo Что это такое?

Оффлайн mutabor

  • Пользователь
  • Сообщений: 306
    • Просмотр профиля
Проблема очевидно в том, что телик что-то там пытается деинтерлейсить. Разные телики - разные алгоритмы.

Оффлайн russslllan

  • Пользователь
  • Сообщений: 11
    • Просмотр профиля
mutabor,
Проблема очевидно в том, что телик что-то там пытается деинтерлейсить. Разные телики - разные алгоритмы.
Склоняюсь к этой мысли, но хотелось бы точно удостовериться что это телик виноват, а то мало ли ведь плата в приставке самодел.

Оффлайн Фамиклон

  • Пользователь
  • Сообщений: 701
    • Просмотр профиля
такое впечатление что как будто стоит режим 480i
Верное впечатление. Современные ТВ принимают нестандартные сигналы 240p 60гц / 288p 50гц как 480i 30гц и 576i 25гц, то есть, каждый кадр идёт как полукадр, отсюда и полоски вместо мерцания. По другому не будет. Но можно призвать на помощь какой-нибудь ретроскалер, специально заточенный для этих дел, он будет удваивать количество строк каждого кадра.

Оффлайн russslllan

  • Пользователь
  • Сообщений: 11
    • Просмотр профиля
Верное впечатление. Современные ТВ принимают нестандартные сигналы 240p 60гц / 288p 50гц как 480i 30гц и 576i 25гц, то есть, каждый кадр идёт как полукадр, отсюда и полоски вместо мерцания. По другому не будет. Но можно призвать на помощь какой-нибудь ретроскалер, специально заточенный для этих дел, он будет удваивать количество строк каждого кадра.
Я не писал но в игре Contra полоски появляются когда спрайты не двигаются а когда двигаются в основном они мерцают но иногда редко они могут иметь полоску в движении.

Добавлено позже:
Я думаю, что всё понятно и без рисования  :)
Кстати, вроде Sonic 2 в мультиплеере использует режим 480i и там fps должен быть 30

Вообще у мегадрайва 4 режима

https://segaretro.org/Sega_Mega_Drive/VDP_registers
0C Mode Register 4
7   6  5  4  3   2   1  0
RS1 VS HS EP SH LS1-LS0 RS0
RS1/RS0: 1 = 320 pixel (40 cell) wide mode; 0 = 256 pixel (32 cell) wide mode. Both bits must be the same.
VS: Appears to do something relating to the horizontal sync, which seems to freeze it. (source md.railgun.works)
HS: Replaces the VSync signal with a pixel clock signal when set. (source md.railgun.works)
EP: 1 = enable external pixel bus.
SH: 1 = enable shadow/highlight mode.
LS1-LS0: Interlace mode:
00 = no interlace;
01 = interlace normal resolution;
10 = no interlace;
11 = interlace double resolution.
Changes do not take effect until the next vertical blank.
480i это interlace normal resolution? Или дабл?

С чего ты взял? Интерлейс не половинит автоматически FPS. Берём старую видеокамеру и внезапно понимаем, что она снимает 50 к/с, вместо 25 к/с, хотя выдаёт честный интерлейс. Кто оцифровывал записи с таких камер помнит, какой это геморой избавляться от гребёнки из-за слишком большой разницы полукадров. Так же и сега - она продолжает на своих 60/50, просто отрисовывает более точно. А гребёнку на телике ты не заметишь, пока не попробуешь задеинтерлейсить это видео. Так устроено зрение человека, которое абьюзит ЭЛТ телевизор.
Все старые камеры снимали 50к/с ? Можно ли было в настройках поменять на 25 к/с?
« Последнее редактирование: 11 Май 2024, 12:26:23 от russslllan »

Оффлайн Talking_Sword

  • Пользователь
  • Сообщений: 903
  • Happy Games Only!
    • Просмотр профиля
заметил одну особенность, в местах где должны мерцать спрайты, они у меня не мерцают у них просто пропадает часть сканлайнов, проверял на трех жк тв и у всех одинакого
Еще ни разу не видел ЖК телевизоров, которые бы правильно отображали мерцание. Сколько видел - все полосят. Кстати, всякие ширпотребные конвертеры композит (или S-Video)>HDMI, композит (или S-Video)>VGA скорее всего будут работать так же.
С чего ты взял? Интерлейс не половинит автоматически FPS. Берём старую видеокамеру и внезапно понимаем, что она снимает 50 к/с, вместо 25 к/с, хотя выдаёт честный интерлейс. Кто оцифровывал записи с таких камер помнит, какой это геморой избавляться от гребёнки из-за слишком большой разницы полукадров. Так же и сега - она продолжает на своих 60/50, просто отрисовывает более точно. А гребёнку на телике ты не заметишь, пока не попробуешь задеинтерлейсить это видео. Так устроено зрение человека, которое абьюзит ЭЛТ телевизор.
Вот кстати, заметил, что если подключить видеокамеру к телевизору и включить воспроизведение кассеты, то все выглядит нормально. Но если подключить камеру к карте видеозахвата, то видео как будто теряет в динамике. Возможно как раз из-за этого?
Все старые камеры снимали 50к/с ? Можно ли было в настройках поменять на 25 к/с?
У меня есть одна видеокамера стандарта Hi8, там нет такой настройки.

Оффлайн russslllan

  • Пользователь
  • Сообщений: 11
    • Просмотр профиля
Еще ни разу не видел ЖК телевизоров, которые бы правильно отображали мерцание. Сколько видел - все полосят. Кстати, всякие ширпотребные конвертеры композит (или S-Video)>HDMI, композит (или S-Video)>VGA скорее всего будут работать так же.

Значит все дело в жк телике, спасибо успокоили, а то я весь день искал ролик в ютубе где снимают как Contra идет на жк тв, нашел только один ролик где на фамикоме  в какой то момент были видны полоски на спрайтах.

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7536
    • Просмотр профиля
Вот кстати, заметил, что если подключить видеокамеру к телевизору и включить воспроизведение кассеты, то все выглядит нормально. Но если подключить камеру к карте видеозахвата, то видео как будто теряет в динамике. Возможно как раз из-за этого?
Именно из-за этого.

Оффлайн Умный

  • Пользователь
  • Сообщений: 440
  • Пол: Мужской
    • Просмотр профиля
Кадровая частота с интерлейсингом в консолях.
« Ответ #26 : 07 Сентябрь 2024, 20:14:43 »
Вот это да, столько всего понаписали и в такие дебри полезли. Может я не прав, поправьте, но всё проще объяснить на мой взгляд:
Экран кинескопного телевизора обновляется с частотой 50 герц.

Каждую секунду телевизор (в системе PAL или SECAM) с помощью катодных лучей и электромагнитов 50 раз проходит по всему экрану, сверху вниз и слева направо.

За каждый из 50 проходов отображается только половина кадра, каждая чётная или нечётная строка.

Полных кадров получается 25 штук по 625 линий в каждом (видимых — 576), что достаточно для создания иллюзии движущихся картинок.

Добавлено позже:
Т. е.  При любом раскладе на выходе получаем 25/30гц (fps)
« Последнее редактирование: 07 Сентябрь 2024, 20:30:55 от Умный »

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2276
  • Пол: Мужской
    • Просмотр профиля
Кадровая частота с интерлейсингом в консолях.
« Ответ #27 : 07 Сентябрь 2024, 21:03:09 »
Нет, если четный полукадр выводится в те же строки что и нечетный, то получаются честные 50 кадров в секунду.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24712
    • Просмотр профиля
Кадровая частота с интерлейсингом в консолях.
« Ответ #28 : 07 Сентябрь 2024, 21:16:56 »
если четный полукадр выводится в те же строки что и нечетный
то они перестают быть чётными и нечетными. И строк будет 312

Онлайн Ogr

  • Пользователь
  • Сообщений: 7459
    • Просмотр профиля
Кадровая частота с интерлейсингом в консолях.
« Ответ #29 : 07 Сентябрь 2024, 23:26:32 »
Т. е.  При любом раскладе на выходе получаем 25/30гц (fps)
нет. будет 50/60гц - фпс черезстрочкой.