Прихожу без разрешения, сею смерть и разрушение...
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Посмотрел, какие режимы синхронизации в ZXMAK2 самые 'плавные'.
Режим синхронизации по звуку и по таймеру выглядят похоже.
Режим синхронизации по видео - дергается больше. Примерно так же неприятно, как и Spectaculator, хотя визуально немного иначе.
В твоем эмуляторе 1.0 (который в первом посту) дергается примерно так же, как и в Spectaculator'е. Т.е. самым заметным образом.
Последний раз редактировалось Titus; 11.05.2019 в 15:40.
что значит "точную"? эмуляция любая будет с задержкой даже для осей реального времени
но хотя бы накопления ошибки избежать можно, а человеческому уху без разницы периодически плюс-минус десяток сэмплов
естьтакая партиятакой тест!
https://zx-pk.ru/threads/27710-zx-ulax.html
f2, f3 - переключение скорости на ходу
Прихожу без разрешения, сею смерть и разрушение...
в Win7 прекрасно приходят нотификации проигрываемой позиции. В ZXMAK2 они используются для подкидывания новой порции данных в циркулярный буфер. Правда верить им нельзя, видимо на нижнем уровне у системы есть своя буферизация, поэтому нотификации могут приходить по две штуки сразу не равномерно во времени.
Зачем отслеживать текущую позицию до байта не совсем понятно, т.к. произвести синхронизацию потоков с достатой скоростью (1/44100 = 0.0000226 сек) не получится.
- - - Добавлено - - -
многие хорошие жк дисплеи могут работать с развёрткой 75 Гц. В этом режиме 50 Гц скролы гораздо лучше работают, чем с 60 Гц или 85 Гц. У меня например работает 75 Гц. Правда режим 75 Гц виден только если выключить галку "не показывать режимы, которые не поддерживаются дисплеем".
С частотой дисплея есть ещё такой прикол, что в системе может быть несколько дисплеев, с разной частотой развёртки. Например одна область рабочего стола обновляется с частотой 100 Гц, вторая с частотой 75 Гц, а третья с частотой 60 Гц. И окошко можно прямо во время работы перемещать по пространству рабочего стола.
Т.е. часть окна эмулятора может обновляться с частотой 60 Гц, а другая часть с частотой 75 Гц, при этом много подводных камней возникает. Если интересно, можете глянуть как эти вещи ZXMAK2 обрабатывает. Смотреть с включенным логом, там будут сообщения появляться о переключении на другой дисплей/частоту развёртки во время перемещения окна по пространству рабочего стола
85 Гц - это очень неудачная частота для 50 Гц развёртки
Последний раз редактировалось ZXMAK; 11.05.2019 в 19:34.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
проблема там в том, что видеокарта и звуковая карта тактируются от разных кварцев, которые не синхронизированы между собой и у них плавают частота и фаза от температуры, у каждого по своему (да и температура у видеокарты и звуковухи разная). Поэтому ошибка со временем всегда будет набегать.
Тут уж надо выбирать что пропускать при критическом набегании ошибки - либо звуковой, либо видеокадр. Поэтому в ZXMAK2 сделан выбор источника синхронизации. При синхре от звука пропускаются видеокадры, а звук поддерживается стабильным. При синхре от видео наоборот. При синхре от времени выпадает и то и другое, в зависимости от того где частота больше уходит от системного таймера.
- - - Добавлено - - -
кратность не имеет смысла. Железо проигрывает циркулярный буфер, писать в него можно порции любого размера (в пределах размера буфера разумеется). Главное помнить, что при наложении записи на текущую позицию воспроизведения, будут возникать артефакты воспроизведения. Поэтому некоторый участок, где сейчас примерно идёт воспроизведение лучше не трогать.
Последний раз редактировалось ZXMAK; 11.05.2019 в 19:52.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)