Средний пинг за сессию у Вас составил 2 мс. (реальный 1.56 мс., но лончер округляет вверх). Скачки пинга во время активной игры (до 30 мс.) - стандартное поведение TCP соединений под высокой нагрузкой (когда начинают работать очереди и шейпинг на маршрутизаторах) - клиент слишком редко проводит замеры.
На пальцах про пинг в клиенте, вдруг кому-то интересно... Букв много, но таков путь.
Используем вот такой макрос:
/run local t=0 local f=CreateFrame("Frame") f:SetScript("onUpdate",function(s,e) t=t+e if t>1 then t=0 print(select(3,GetNetStats())) end end)
... просто вставляем его в окно чата и в том же окне чата каждую секунду будет появляться число - это пинг, который видит клиент игры (его же Вы видите при наведении на иконку "компа"). Обращаю внимание, что тесты нужно проводить именно так, как написано - без "не хочу перезапускать игру - и так сойдёт!" - это важно!
Давайте проведём первый тест - без нагрузки:
- Поставьте чара где-нибудь в безлюдном месте - чтобы вокруг него происходило как можно меньше всего;
- Закройте игровой клиент;
- Зайдите на чара и как можно быстрее запустите макрос;
- Не совершайте никаких действий - просто уберите руки от клавиатуры и мыши;
- В течение примерно 30 секунд Вы будете видеть 0 - это нормально, клиент игры еще не понял ничего;
- Через 30 секунд Вы увидите пинг - запомните это число.
А теперь изменим условия тестирования:
- Закройте игровой клиент;
- Зайдите на того же чара чара и как можно быстрее запустите макрос;
- Зажмите правую кнопку мыши и активно и очень-очень-очень быстро шевелите ей влево-вправо - размашистыми движениями, так, чтобы ступни персонажа двигались, а сам персонаж тоже вертелся - обращаю внимание, что сделать нужно именно так, а не просто зажать кнопку влево или вправо на клавиатуре;
- Через 30 секунд Вы увидите пинг - удивительно, но он выше (иногда значительно), чем полученный в самом первом тесте (если такой же, Вы не выполнили пункт 3 или играете из серверной или двигаете рукой слишком медленно).
Почему так? В данном случае Вы заставляете игровой клиент отправлять большое количество (примерно 100 в секунду, если у Вас быстрая рука) маленьких (около 11 байт, кажется) пакетов. Сетевому оборудованию (Вашему роутеру, роутеру провайдера, еще 10-ку роутеров по пути к серверной и даже операционной системе, если включен Nagle) такое не нравится и они просто видя это начинают "перекладывать" данные из нескольких пакетов в 1, что требует времени и ресурсов. Плюс еще несколько факторов - но мы же не сетевые инженеры, чтобы их обсуждать? В итоге задержка для конкретного соединения растёт на уровне сети.
Кстати, если после окончания второго теста вы подождёте, то увидите, как пинг начнёт медленно падать... очень медленно, потому что игровой клиент просто считает средний за некоторый промежуток времени - т.е. фактически, как только вы перестали лихорадочно вертеться чаром, пинг снова стал, как в первом тесте, но игровой клиент продолжает помнить предыдущие значения и отображает среднее.
При использовании лончера при втором тестировании Вы увидите мгновенный всплеск задержки на графиках (лончер тоже выполняет замеры пинга внутри соединения), а когда прекратите движения - мгновенный спад: лончер не выполняет усреднений и отображает реальный пинг (ну и выполняет замер значительно чаще).
Итого, игровой пинг зависит от того, что Вы делали, что происходило вокруг Вас и насколько много сетевых пакетов эти действия породили - т.е. только зайдя в игру и увидев пинг 20 мс., а чуть позже во время боя с боссом увидев 40 мс. - это не "Интернет/сервер/я лагает", это "так работает Интернет". Лончер за счет создания нескольких соединений в некоторых случаях может значительно уменьшить задержку, в моём случае - с 87 до 62.
P.S.: в сообщении под пингом подразумевается "TCP ping", который отображает фактическую задержку для фактически существующего соединения на L7 уровне - не путайте его с ICMP ping (который Вы можете увидеть в командной строке).