Пояснення графіка мережевий продуктивності та повідомлень у «осінньому патчі» Battlefield 4

0
5

В «осінній патч» Battlefield 4 увійдуть повністю оновлені мережевий графік продуктивності та інші повідомлення про поточний стан справ. Battle(non)sense докладно пояснив, яку інформацію ми зможемо побачити на моніторі, і як ця інформація допоможе усунути різні неполадки підключення до сервера.

Переклад: Олександр «SpiritOfNet» Костюков.
Текст читав: Павло «Snusmoomrik».

Текстова версія

Привіт! Мене звуть Кріс, і це Battle(non)sense!

Мережеві онлайн-ігри сьогодні дуже популярні, і всіх їх об’єднує одна проблема — у порівнянні з локальними мережами швидкість інтернету відчутно повільніше. І коли я кажу “повільніше”, я не маю на увазі пропускну здатність. Я кажу не про те, як швидко у вас викачуються або завантажуються файли. Я маю на увазі, що у порівнянні з локальними мережами, конкретному окремому біту інформації потрібно більше часу, щоб досягти пункту призначення. А для шутера від першої особи є вирішальним фактором. І коли дані вчасно не потрапляють куди треба, у вас починає лагают.

Термін, пов’язаний з лагом — це пінг. Коли ви шукаєте сервер, щоб пограти, то значення, відображене тут, це ваш пінг до сервера. У загальній таблиці результатів ви можете бачити пінг кожного окремого гравця на сервері. І з причини того, що всі підключені до сервера з різних місць, у кожного гравця своє значення пінгу.

Але що ж таке пінг насправді? Якщо ви дивилися фільм “Полювання за “Червоним Жовтнем”, то напевно пам’ятаєте момент, коли герой Шона Коннері віддав наказ дізнатися відстань до американського підводного човна, використовуючи одиничний сигнал. Суть цього у тому, що ваш корабель відправляє звуковий сигнал, який надалі відбивається від інших об’єктів і повертається на ваш корабель, де його вловлює мікрофон. Якщо виміряти час між відправленням сигналу та отриманням відбитого сигналу, то знаючи швидкість поширення цього звуку у воді, можна порахувати відстань до об’єкта.

Пінг, про який ми говоримо щодо мереж та пристроїв, практично те ж саме. Ви відправляєте ICMP-пакет на інший пристрій (наприклад, на ігровий сервер), який, у свою чергу, відправляє ICPM-відповідь вам. Якщо заміряти час між відправленням запиту й одержанням відповіді, то ми отримаємо величину пінгу. Або час даних у дорозі. Отже, цим цим треба пройти по мідних проводах і каналах оптико-волоконного зв’язку. І чим довше ці дроти, тим більше різниця між тим, що ви бачите на своєму екрані, і що бачать інші гравці. Тобто — більше лагів. Так що величина пінгу досить істотна при пошуку ігрового сервера, якщо ви хочете отримати якомога менше лагів.

Але не тільки час даних в дорозі може зіпсувати вам гру. Є ще багато факторів, що впливають на даний процес. На щастя, в Battlefield 4 у нас є достатньо потужний інструмент, який надає нам досить даних для визначення і усунення цих проблем. Це «мережевий графік продуктивності». Версія його, яку я збираюся показати вам у цьому відео, буде включена в осінній патч 2015 року для BF4 на ПК і Xbox One, адже Microsoft дали свій дозвіл на включення цього графіка в гру на їх консолі. На жаль, на PlayStation 4 такого інструменту не буде.

На ПК і Xbox One ви можете включити відображення даного графіка через активацію цього пункту меню. На ПК ви також можете скористатися консоллю в грі, ввівши цю команду для включення або відключення. Крім того можлива зміна положення графіка на екрані.

Перше значення, яке він відображає це тикрейт. Тобто, скільки прорахунків або симуляцій в секунду відбувається. На момент випуску цього відео стандартним значенням тикрейта було 30Гц — 30 симуляцій в секунду. Але хостери ігрових ПК-серверів вже тестують тикрейт в 60, 120 і 144 герца, і адміни ПК серверів вже найближчим часом зможуть отримати від провайдерів сервери з тикрейтом вище 30Гц.

Крім того, високий тикрей може дійти і до консолей, так як DICE LA зараз відчувають тикрейт 45, 50 і 55Гц для Xbox One. Тому є велика ймовірність, що власники PS4 і XboxOne отримають можливість грати з тикрейтом вище 30Гц через деякий час після релізу цього відео.

Отже, значення тикрейта у графіку дозволяє вам дізнатися поточний тикрейт на сервері. І чим вище це значення, тим плавніше буде відчуватися гра, так як більше даних буде оброблятися.

Таке значення це «затримка» (latency le?t?nsi), яка в чомусь схожа з пінгом, але, на відміну від ICMP-запиту, показує час у дорозі ігрових даних по UDP-протоколу. «Затримка» відображає час подорожі даних від клієнта до сервера і назад, і не включає в себе час обробки цих даних сервером, або клієнтом. І це значення буде трохи вище значення пінгу, так як пінг показує швидкість роботи мережі на більш низькому рівні.

Як же зрозуміти добре чи погане у вас час затримки? Розробники включили досить непогану фішку, яка змінює колір показника, залежно від того, як далекі ви від ідеального значення, чи що ваше з’єднання взагалі хрінове. Крім того, на праву частину екрану були додані значки відображення поточної затримки. Так що вам не потрібно тримати постійно відкритим мережевий графік продуктивності, ці значки самі попередять вас про те, що щось пішло не так.

Отже, я знаю, які значення затримки фарбують ці значки в жовтий і червоний кольори, але я вам цього не скажу, адже розробники можуть достатньо просто змінювати їх через свої інструменти. Тому, якщо я почну запевняти вас у тому, що, наприклад, значення затримки понад 220 мілісекунд забарвлює текст і значок в червоний колір, це значення може бути змінено до моменту публікації відео, так як розробники можуть змінювати їх, не випускаючи нові збірки серверів або патч для клієнтських машин. Так що вам достатньо знати того, що якщо колір тексту або значка жовті — ви можете відчувати проблеми з грою. А якщо колір стає червоним, значить пора міняти сервер.

Таке значення — це «зміна затримки», яке показує як сильно змінюється час у дорозі ваших ігрових даних. Постійне значення є ідеальним, так як сервера доводиться пристосовуватися до зміни затримки, і, якщо зміна затримки сильно скаче, це означає, що сервера доводиться туго з обробкою і пристосуванням. Жовтий і червоний колір тексту індикатора показують, що є проблеми з зміною затримки.

Як я вже говорив раніше, якщо інтернет-з’єднання не просто повільне, і кожному окремому пакету потрібно більше часу для досягнення мети, існують інші проблеми, що негативно впливають на враження від гри. Одна з них — це коли UDP-пакети просто пропадають по дорозі між клієнтом і сервером. Це називається “втрата пакетів” і, природно, це не дуже добре. Причина, з якої використовується не TCP, а саме UDP, полягає в тому, що мережні онлайн-ігри дуже сприйнятливі до часу. В інших додатках ви можете втратити пару пакетів то тут, то там, але затримка пакетів не пройде. Отже, жовтий індикатор говорить про те, що втрата пакетів додає вам деякі проблеми. У той же час червоний індикатор говорить про те, що варто пошукати інший сервер або перевірити ваше інтернет з’єднання.

Три наступні пункти мають відношення до реєстрації влучень.
1. Clients fired говорить про кількість зроблених пострілів;
2. Client hit говорить про те, скільки влучень нарахував ваш ігровий клієнт;
3. Server Confirmation Bundle показує, скільки пакетів з підтвердженням влучень ви отримали з сервера.

Ви можете подумати, що можна просто взяти значення реєстрацій клієнтом, відняти реєстрації сервером, і в результаті отримати кількість, відкинуте сервером. На жаль, не все так просто. Якщо стріляти по танку зі зброї, яке не може заподіяти йому шкоди, то ви отримаєте купу влучень з боку клієнта, але жодного підтвердженого завданої шкоди з боку сервера. З сервера ви отримуєте підтвердження лише в тому випадку, якщо дійсно наносите шкоди. А якщо шкоди завдано з використанням C4, гранат, клэйморов, гранатомета, ТВ-ракети або будь-якого іншого зброї, яке має збитків по області, то ви отримаєте тільки пакет підтвердження про втрати з боку сервера і жодного попадання для клієнтської частини, так як цей тип утрати прораховується виключно на стороні сервера. Крім того на серверах 64 «каски» з тикрейтом 30Гц є шанс того, що іншому гравцеві завдадуть шкоди два ваших пострілу, але сервер відправить тільки один пакет з підтвердженням. Так що ви не можете просто порахувати, скільки влучень відкинув сервер, а можете просто побачити ті дані, які надає цей інструмент.

Наступний пункт вельми цікавий. Це “цикл сервера (server tick). І говорить він нам про те, скільки часу потрібно серверу для обробки одного циклу. Коли сервер працює з частотою 30Гц це означає, що він виробляє 30 симуляцій або обчислень в секунду. Тобто близько 33 мілісекунд на кожну. Це означає, що, коли приходить час чергового циклу, сервер починає прораховувати надійшли до нього дані. Потім він відправляє результати обчислень на клієнтську машину і припиняє свою активність, поки не прийде час чергового циклу. І чим швидше сервер може закінчити цикл обчислень, тим швидше клієнт отримає відповідь на надіслані дані. Що в свою чергу означає зниження затримки для гравців при достатньої швидкості обробки циклів. А чим більше він обробляє, тим відчутніше лаги для гравців. Якщо подивитися на графік, то буде ясно, що ігрові сервери мали серйозні труднощі, коли не могли завершити операції протягом часу, відведеного під один цикл. Як тільки це стане відчутною проблемою, ви побачите жовтий індикатор по правому краю екрану. Якщо ж індикатор став червоним — це означає, що сервер не здатний обробити дані за той період часу, поки не надійшли нові. І це сигнал адмінам про те, що пора б вже перезавантажити сервер, а вам — сигнал про те, що пора б пошукати інший ігровий сервер.

Наступне — це Server Offset (Серверне Зміщення), яка показує, наскільки велика різниця між тим, що ви бачите і тим, що відбувається на сервері. Для цього показника немає значків оповіщення. Так що якщо ви помітите проблеми з грою (наприклад, коли вас відкидає назад), вам слід заглянути в мережевий монітор продуктивності і подивитися жовтого або червоного кольору там цей параметр.

І останнім у списку йде значення “Downstream Bandwidth” (Пропускна здатність на скачування), який просто показує, яку частину каналу гра на даний момент використовує. Ви можете помітити, що обсяг скачуваної інформації на серверах з великою кількістю гравців або високим тикрейтом вище, ніж на серверах з малим числом гравців. Це значення не має відображення у вигляді іконки, не змінює свій колір. Хоча я б хотів отримувати оповіщення про проблеми отримання ігрової інформації на серверах в 60, 120 або 144 герца.

Отже, я перерахували всі значки, які пов’язані з монітором мережевий продуктивності. Але є ще кілька іконок, які ви можете побачити при підключенні до сервера, що працює з тикрейтом 60 і більше герц. Говорячи в цілому, ваш fps завжди повинен бути не менше тикрейта сервера, щоб забезпечити цей самий тикрейт. Так що якщо ви граєте на 60-герцовом сервері з менш ніж 60 fps це не прийнятно, і ви побачите жовтий значок в якості оповіщення. Цей же значок стане червоним при значному зниженні вашого ФПС порівняно з тикрейтом. І тут вам вже доведеться пограти з налаштуваннями графіки, щоб підняти fps.

Наступний фактор — це частота вашого монітора. Якщо ви граєте на сервері в 120Гц, гра видає вам 120 fps, то ваш монітор повинен мати частоту в 120Гц. В іншому випадку ви просто не побачите ці 120 fps. Так що якщо ваш монітор має частоту оновлення 60Гц, а ви граєте з 120 fps на сервері з тикрейтом 120, гра покаже вам ось цей значок, який говорить, що ці параметри не ідеальні. Якщо ж у вас ігровий монітор з підтримкою 120 і 144 герц, то вам потрібно використовувати DVI або HDMI провід для підключення, так як тільки вони підтримують частоту понад 60 герц. Якщо саме їх ви використовуєте, то просто перейдіть в налаштування графіки і змінити дозвіл на значення з більш високою герцовкой.

Отже, це був мережевий монітор продуктивності та значки повідомлень, які увійдуть в BF4 в «осінньому патчі» 2015 року і сильно допоможуть нам з визначенням проблем у грі. Але що ще можна зробити для вирішення проблем крім зміни сервера? Або як запобігти їх появі?

По-перше, використовуйте хороший мережевий провід для підключення вашого ПК або консолі. Використовуйте WiFi або підключення через енергомережу тільки в крайньому випадку, коли підключення по дроту недоступно. Це виключить багато проблем з втратою пакетів або затримкою, від яких страждають багато. Крім того, ви коли-небудь зверталися до техпідтримки провайдера і у відповідь отримували рада перезавантажити обладнання? Насправді ж ця рада має сенс, так як обладнання, розраховане на широкі маси, має властивість давати збої, якщо воно довго включено. Найкраще рішення для того, щоб вам ніколи не довелося перезавантажувати роутер вручну, — це використовувати розетку з таймером. Просто призначте час, наприклад на 4 ранку, і вона сама відрубає харчування роутера, тим самим перезавантаживши його. Якщо ж ви перепробували вже все з перерахованого і все одно страждаєте від дискомфорту в грі на будь-яких серверах, то непогано б записати IP-адресу цього сервера і зв’язатися зі своїм провайдером. Можливо, вони зможуть змінити налаштування маршрутизації, зменшивши тим самим втрату пакетів.

І останнє за списком, але не по значущості. Коли ви шукаєте сервер, до якого потрібно підключитися, завжди вибирайте той, що розташований в вашому регіоні і має самий низький пінг.

Сподіваюся, що це відео було корисним для вас. Всі виниклі у вас питання ви можете задати у коментарях під ним. Я завжди намагаюся відповісти на стільки запитань, на скільки можу.

Якщо відео вам сподобалося — ставте лайк та підписуйтесь на канал, щоб бути в курсі нових випусків. І до зустрічі в наступний раз. А поки — бережіть себе і всього вам доброго.

Мене звуть Кріс, і це був Battle(non)sense.