Ага, вот здесь: http://zx-pk.ru/showthread.php?t=21212
Если вкратце, это расплата за отсутствие медленной памяти и происходит оттого, что у процессора приоритет по доступу к памяти, и ULA берёт байты не когда ей хочется, а когда у неё получится.
Особенно чёткая иллюстрация в том же треде, вот тут: http://zx-pk.ru/showpost.php?p=596826&postcount=6
на три порядка больше чего?
Ты бы вначале разобрался что это за разброс, а потом бы выводы делал. Разброс этот возникает от того что фпс вычисляется через время между двумя соседними кадрами. А т.к. эмуляция спектрума требует 50 Гц, а развертка у дисплея обычно 60-100, то некоторые кадры приходится пропускать. Это значит что между первым и вторым кадром будет время t, а между вторым и третьим будет время 2*t (один кадр пропускается чтобы поддерживать 50 Гц). В итоге на одном кадре будет 75 Гц, а на другом 37 Гц, после усреднения получаем 50 Гц, которые будут колебаться. На самом деле при этом выдерживается четко 50 Гц.
Расчет фпс нужно переделать чтобы не вводил в заблуждение
---------- Post added at 01:46 ---------- Previous post was at 01:43 ----------
в ZXMAK2 такой-же точно разброс как и в unreal. Специально проверил - все тютелька в тютельку, один в один, по крайней мере при развертке дисплея 75 Гц. Методика измерения фпс другая, отсюда и разброс, о котором ты говоришь, см. выше. Это разброс измерения, а не реальный разброс.
Последний раз редактировалось ZXMAK; 11.07.2013 в 02:49.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Для любителей померять FPS, зачекинил код для точного измерения данного параметра. Для тех у кого нет компилятора, в аттачменте готовый exe-шник (остальные файлы брать из архива с релизом).
Есть правда одно замечание, замер фпс делается с помощью системного таймера, поэтому точность будет зависеть от его частоты. Во избежание влияния на систему эмулятор не меняет частоту системного таймера, а использует ту что доступна. Соответственно точность измерения будет зависеть от частоты системного таймера (обычно +-0.3 fps).
Последний раз редактировалось ZXMAK; 11.07.2013 в 05:39.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)