Closed qboneteam closed 5 years ago
Подписываюсь под такой надобностью. Просто крепки уж ощущения, что прилично кадров скипаются :(
вам всем надо, сколько полных кадров сэмулировано или сколько их отрисовано? потому как это порой разные числа. PS: и чтобы увидеть торможение, надо притормозить ещё немного подсчётом и выводом фпс :smile:
А что, разве может тормозить еще и сэмулированные кадры? Лично я просто замечаю как регулярно вспышки, длящийся ровно один int, 1/50сек (вывод инфы) просто отсутствуют. И, подозреваю, что не потому что инфы нет, а потому что просто не прорисовывает эмуль. Вот 48 нарисовано на скрине. А 2 оставшихся где? :) Это, получается, какой-то Framedrops? И это нормально?
В основном тормозит именно эмуляция и формирование картинки в памяти, а не вывод её на экран. 1 фпс в половине случаев выпадает из-за округления. 50 фпс получается в геометрии экрана оригинального спека/скорпиона, а у пентагона на минутку 8 лишних строк, там фпс ниже (прыгает в районе 48-49).
А что, разве может тормозить еще и сэмулированные кадры? Лично я просто замечаю как регулярно вспышки, длящийся ровно один int, 1/50сек (вывод инфы) просто отсутствуют. И, подозреваю, что не потому что инфы нет, а потому что просто не прорисовывает эмуль. Вот 48 нарисовано на скрине. А 2 оставшихся где? :) Это, получается, какой-то Framedrops? И это нормально? Это нормально, ни один эмуль ни под линухом, ни под яблосью, ни под виндой не выдаст тебе честные 50фпс
Это нормально, ни один эмуль ни под линухом, ни под яблосью, ни под виндой не выдаст тебе честные 50фпс
Может я что-то делаю не так, но всякие версии US, и zx-spin и преснопамятный spectaculator настолько постоянно фреймы не выбрасывал. Гигаскрин смотрелся безо всяких обработок/сглаживаний.
Одно дело нерегулярные фреймы, сглаживаемые за счёт буфера (49/51 прыгает, кадр то в этой секунде оказался то в следующей), и совсем другое - безвозвратная их потеря.
Визуальные "пропуски" кадров, скорее всего, случаются из-за разницы в частоте формирования (48.8Гц для пентагона) и частоте их вывода на экран (50Гц). С одной стороны, можно запрашивать перерисовку окна по готовности кадра, и это сгладит эффект, но тогда что-то надо делать с режимом Fast - рисовать каждый кадр уже будет слишком затратно. PS: тут уже получается не фреймдроп, а оверфрейм - один кадр показывается 2 раза, т.к следующий ещё не подоспел.
вот по этому снапу можно посмотреть насколько фреймы равномерны. http://volutar.myds.me/gt23.sna Слева три квадрата - чередуются (gigascreen), справа - через кадр. Из гигаскрина трёхцветового хотя бы один раз каждый должен показываться. У меня какие-то из них по пол секунды отсутствуют. Когда оверфрейм - дважды один и тот же кадр на монитор выводится - картинка всего лишь чуть ярче становится. Но тут же просто дропы и причём так совпадает что именно каждый третий временами вываливается. Можно куда-то логировать вообще сколько времени какой спектрумовский фрейм фактически на ПК отображался? Запись с экрана: http://volutar.myds.me/gs_xp-tst.mp4
Протестил с включенным ФПС - у меня показывает 75. Это как понимать?:)) Типа не дожидается реального отображения на мониторе и уже стирает? Вроде скорость 100%...
Подумалось, что это выходит что каждый второй инт он отрисовывает 2 кадра, и один из них оказывается "между кадрами", визуально вообще отсутствует, и вместо 50 получается 75.
а то не ясно - тормозит хрессу в данном конкретном окружении, или нет