Написание сервера для lineage 2 chronicle 1 на node.js

Наконец-то разобрался как синхронизировать бег с сервером и клиентом. Написал статью по этому поводу
упд.: перечитал, вник. похоже на правду . При тестах по изменению скорости создалось впечатление, что конец бега тоже завершается небольшим шагом хотьбы, чтобы сгладить резкую остановку. И да, наконец ты стал смотреть на уже имеющиеся решения, как я и советовал.... )
 
Последнее редактирование:

    TrueFell

    Баллов: 1
    Отличная статья, спасибо!

Наконец-то разобрался как синхронизировать бег с сервером и клиентом. Написал статью по этому поводу
Кажется, вся это борьба за точность и миллисекунды убивается о setTimeout, который не гарантирует вызов колбэка сразу в заданный момент времени, а лишь гарантирует, что он не будет вызван раньше. Не разбираюсь в ноде, но если там какой-то размазанный по процессорам event-loop, то при средней нагрузке эти таймеры начнут неплохо так съезжать. Я бы выделил отдельное ядро для легковесных задач, которым важна точность.
 
Последнее редактирование:
Кажется, вся это борьба за точность и миллисекунды убивается о setTimeout, который не гарантирует вызов колбэка сразу в заданный момент времени, а лишь гарантирует, что он не будет вызван раньше. Не разбираюсь в ноде, но если там какой-то размазанный по процессорам event-loop, то при средней нагрузке эти таймеры начнут неплохо так съезжать. Я бы выделил отдельное ядро для легковесных задач, которым важна точность. Возможно нода для setTimeout так и делает?
Точность не одна миллисекунда а 118(про данные из статьи)

Главное было понять проблему с бегом и решить ее. Потом можно все на воркеры перевести. Это дело 10ое

"Кажется, вся это борьба за точность и миллисекунды убивается о setTimeout"

Обратите внимание на последние gif файлы. Точность идеальная.
 
Назад
Сверху Снизу