Ну какбэ опровержение вранья http://говнофорум.rф/showpost.php?p=771095&postcount=1344 (по поводу того, что в zxmak2 синхронизация такая же точная как в unreal)
- Интервалы между соседними кадрами в zxmak2
- zxmak.png (7.8 KB) Viewed 9383 times
- Интервалы между соседними кадрами в unreal
- unreal.png (7.44 KB) Viewed 9390 times
Измерения производились с использованием msi afterburner (наследник риватюнера и его rtss).
Для максимальной точности измерений приоритет процесса эмулятора был вручную повышен до realtime (и для zxmak2 и для unreal).
В unreal использовался вывод через d3d9 и аппаратный режим масштабирования 2x, режим синхронизации TSC.
Для zxmak2 использовался режим синхронизации по умолчанию (видимо по звуковой карте), т.к. режим VSync дает 100 fps вместо необходимых 50fps (по сути делается синхронный present с включенным vsync, при этом видеодравер выдает кадры с частотой обновления монитора).
На графиках показано время между выводом соседних кадров (масштаб от 19 до 24 мс, частоте 50гц соответствует 20мс).
Коментарии к графикам изишни.
P.S. Тут же добавлен экзешник унриала, котоырй показывает зависит ли частота счетчика RDTSC от изменения частоты проца (на всех современных процах частота RDTSC от реальной частоты проца не зависит).
cpu: Intel(R) Core(TM) i7 CPU 980 @ 3.33GHz 6.12.2 [MMX:YES,SSE:YES,SSE2:YES,TSCINV:YES] TSC at 3341 MHz
TSCINV:YES означает, что TSC не зависит от частоты проца.
TSCINV:NO означает, что TSC зависит от частоты проца.
TSCINV:UNK означает, что проц старый и не поддерживает фичу определения зависимости TSC от частоты проца (тут частота TSC может как зависеть от частоты проца (как на Pentium M), так и не зависеть (как на Pentium Pro)).