
Преди около година публикувах статия . В нея анализирах плюсовете и минусите на различни услуги за облачни игри на слаби PCs. По време на играта тествах всяка услуга и в крайна сметка споделих общото впечатление.
В коментарите под тази и други подобни статии читателите често споделяха впечатления за различни игрови услуги. Често се срещаха противоположни мнения за едно и също. При някои всичко е перфектно, а други не могат да играят заради лагове и фризове. Тогава ми хрумна да оценя качеството на работа на тези услуги при различни условия – от идеални до ужасни. Става въпрос за качеството на мрежата, тъй като далеч не винаги потребителят може да се похвали с бърз и безпроблемен интернет канал, нали? В общи линии, под кат ще намерите оценка на услугите със симулация на различно качество на работа на мрежата.
Какъв е проблемът изобщо?
Както беше казано по-горе – в качеството на връзката. По-точно – в загубите на пакети по време на игра. Колкото по-високи са загубите, толкова повече проблеми има геймърът, толкова по-малко е доволен от играта. А рядко някой има идеален интернет канал, например оптичен, до устройството, и то с отделен, а не споделен интернет с всички обитатели на многофамилния дом.
За справка – при скорост на връзката от 25 Мбит/с за предаването на 1 кадър са необходими 40-50 пакета данни. Колкото повече пакети се губят, толкова по-некачествена става картината и толкова по-силно се забелязват лаговете и фризовете. В особено тежки случаи играта става просто невъзможна.
Естествено, самата облачна услуга никога не може да повлияе на ширината и стабилността на канала на потребителя (макар и да е страхотно, ако можеше). Но пък може да се предвидят различни начини за нивелиране на проблемите с връзката. Кои услуги се справят най-добре с проблема – ще видим долу.
Какво точно сравняваме?
Обикновен PC (Intel i3-8100, GTX 1060 6 GB, 8GB RAM), GeForce Now (неговата руската версия с сървъри в Москва), , , , . На всички услуги, освен Stadia, изучаваме качеството на играта в „Вещицата“. В Google Stadia по време на написването на статията тази игра не беше налична, затова трябваше да тествам друга – „Одисеята“.
Какви са условията и методиката на тестването?
Тестваме от Москва. Провайдер — МГТС, тариф 500 Мбит/с, свързване чрез кабел, без WiFi. Настройките за качество на графиката в услугите приемаме по подразбиране, резолюцията — FullHD.
С помощта на програмата симулираме проблеми с мрежата, а именно, загуби на пакети с различен вид и обем.
Равномерни единични загуби. Това е, когато се губи само 1 пакет и загубите са разпределени повече-малко равномерно. Така, равномерни загуби от 10% означават, че на 100 пакета всеки 10-ти се губи, но винаги само 1 пакет. Проблемът обикновено се проявява при изкривявания (екраниране) на канала от клиента до сървъра.
Тестваме равномерни загуби от 5%, 10%, 25%.
Неравномерни масови загуби, когато в един момент веднага се губят 40-70 пакета последователно. Такива загуби най-често възникват при проблеми с мрежовото оборудване (рутери и т.н.) у потребителя или у провайдера. Могат да бъдат свързани с препълване на буфера на мрежовото оборудване по линията „потребител — сървър“. WiFi с дебели стени също може да предизвика подобни загуби. Натоварването на безжичната мрежа поради наличието на много устройства — още една причина, много характерна за офиси и многофамилни сгради.
Тестваме неравномерни загуби от 0,01%, 0,1%, 0,5%.
По-долу анализирам всички тези случаи и прикрепям видеосравнение за яснота. В края на статията предоставям линк към сурови, немонтирани видеа от играта от всички услуги и случаи — там можете по-подробно да разгледате артефактите, както и техническата информация (във всички услуги, с изключение на Stadia, са записани данни от техническата конзола; за Stadia не намерих такива).
Хайде да започваме!
По-долу — 7 сценария на стрес тест и видео с таймстемпове (видеото е същото, за удобство във всяка точка, гледането започва от необходимия момент). В самия край на поста — оригиналните видеа за всяка от услугите. Благодарение на добър познат, успях да създам видеото, за което му благодаря!
Сценарий №1. Идеални условия. Нулеви загуби в мрежата
Всичко, както би трябвало да бъде в идеалния свят. Няма проблеми с връзката, нито един разрив, няма смущения, точката ви на достъп — светлина в интернет. В такива оранжерийни условия почти всички участници в теста показват достойни резултати.

ПК
Във всеки сценарий взехме кадри от играта на РС като еталон. Разбира се, качеството на мрежата не влияе на него, играта стартира локално на РС. Наличието на тези кадри отговаря на въпроса "чувства ли се разликата при игра в облака в сравнение с играта на собственото си РС". При идеални условия в нашия случай — не се чувства разлика за повечето услуги. По-долу няма да пишем нищо за РС, просто запомнете, че той съществува.
GeForce Now
Всичко е наред, картината е ясна, процесът протича гладко, без забавяния.
Vortex
Ето, Vortex развалин нашия идеален свят. С него веднага започнаха проблеми — картината е по-лоша от всички останали, освен това забавяния са лесно забележими. Възможна причина — игровите сървъри са разположени далеч от Москва и изглежда, че хардуерът на игровите сървъри е по-слаб и FullHD не се справя добре. Във всичките тестове Vortex показа слаби резултати. Ако някой има положителен опит с Vortex — пишете в коментарите, споделете от къде играхте и колко добре се представи всичко.
Playkey
Всичко е отлично, точно като на локален РС. Няма видими проблеми като фриза, закъснения и т.н.
Loudplay
Услугата демонстрира отлична картина, без видими проблеми.
Stadia
Игровата услуга от Google работи отлично, въпреки че няма сървъри в РС, а и официално Stadia не работи в Русия. Въпреки това, всичко е наред. Жалко, разбира се, че "Вещерът" не беше наличен за Stadia по времето на играта, но какво да се прави, избрахме "Одисеята" — също изискваща, също за мъж, който сече хора и животни.
Сценарий №2. Равномерни загуби 5%
В това тестиране от 100 пакета се губи около всеки 20-ти. Напомням, че за рендиране на един кадър са необходими 40-50 пакета.

GeForce Now
Услугата от Nvidia е в отлично състояние, няма проблеми. Картината е малко по-размита в сравнение с Playkey, но "Вещерът" все още е играбелен.
Vortex
Тук всичко стана още по-лошо. Защо — не е напълно ясно, вероятно няма предвидена излишност или е минимална. Излишността е кодиране на данни с устойчивост на смущения (FEC — Forward Error Correction). Технологията възстановява данни при частични загуби поради проблеми в мрежата. Реализацията и настройката могат да варират, и, задължително по резултатите, създателите на Vortex в това не са успели. Дори с незначителни равномерни загуби не може да се играе. В последващи тестове Vortex просто "умря".
Playkey
Всичко е добре, няма съществена разлика с идеалните условия. Може би помага, че сървърите на компанията се намират и в Москва, откъдето бяха проведени тестовете. И, вероятно, излишността, спомената по-горе, е по-добре настроена.
Loudplay
Сервизът стана едва ли играем, въпреки относително малките загуби на пакети. Каква може да е причината? Предполагам, че Loudplay работи с протокола TCP. В този случай, докато няма потвърждение за получаване на пакета, не се изпращат други пакети, системата очаква потвърждение за доставката. Съответно, ако пакетът е загубен, потвърждение за доставката му няма, нови пакети не се изпращат, картината замръзва, край на историята.
Ако се използва UDP, потвърждението за получаване на пакета не е нужно. Колкото мога да преценя, всички останали услуги, освен Loudplay, използват протокола UDP. Ако това не е така, моля, поправете ме в коментарите.
Stadia
Всичко е играемо. Понякога картината пикселира, има минимални закъснения за реакция. Може би кодекът за устойчивост на смущения не работи идеално, откъдето идват незначителни артефакти в иначе играемия поток.
Сценарий №3. Равномерни загуби от 10%
Загубим всеки десети пакет на сто. Това е предизвикателство за услугите. За да се справят ефективно с такива загуби, са необходими технологии за възстановяване и/или повторно изпращане на загубените данни.

GeForce Now
При Geforce наблюдаваме малки спадове в качеството на видео потока. Колкото мога да преценя, GFN реагира на проблемите в мрежата, опитвайки се да ги минимизира. Услугата намалява битрейта, тоест количеството битове за предаване на данни. Така тя се опитва да намали натоварването на недостатъчно качествената, по нейно мнение, мрежа и да запази стабилна връзка. И стабилността наистина няма проблеми, но качеството на видео страда осезаемо. Виждаме значителна пикселация на картината. А тъй като симулацията предполага постоянна загуба на 10% пакети, намаляването на битрейта не помага особено, ситуацията не се подобрява.
В реалния живот картината, най-вероятно, ще бъде не стабилно лоша, а променлива. Загубите се увеличават — изображението е размазано; загубите намаляват — изображението се връща в нормата и така нататък. Това, разбира се, не е в полза на игровото изживяване.
Playkey
Няма особени проблеми. Вероятно, алгоритъмът открива проблеми в мрежата, определя нивото на загубите и се фокусира повече върху излишъка, отколкото върху намаляването на битрейта. Добива се така, че при 10% равномерни загуби качеството на картината практически не се променя, потребителят едва ли ще забележи такива загуби.
Loudplay
Не работи, просто не се стартира. При последващи тестове ситуацията се повтори. Колкото може да се съди, този сервиз не се адаптира към проблемите в мрежата. Вероятно именно TCP протоколът е виното. Минимални загуби парализират сервиза напълно. Не е много практично за реалния живот, разбира се.
Vortex
Също така има големи проблеми. Не може да се играе в такива условия, въпреки че картината все още е налична и персонажът продължава да бяга, макар и с ривки. Мисля, че всичко е в същата лошо реализирана или липсваща излишност. Пакетите се губят често и по никакъв начин не се възстановяват. В резултат на това качеството на изображението деградира до неприемливо ниво.
Stadia
За съжаление, тук всичко е лошо. Наблюдават се разкъсвания на потока, поради което събитията на екрана се случват с ривки, играта е изключително трудна. Може да се предположи, че проблемът се е появил, както и в случая с Vortex, поради минимална излишност или липса на такава. Консултирах се с няколко познати, които „разбират от нещата“, и те заявиха, че Stadia вероятно изчаква пълното изграждане на кадъра. За разлика от GFN, тя не се опитва да спаси ситуацията с тотално намаляване на битрейта. В резултат на това няма артефакти, но се появяват фризи и лагове (при GFN, обратно, фризите/лаговете са по-малко, но заради ниския битрейт картината е абсолютно непривлекателна).
Останалите услуги също не изчакват пълното изграждане на кадъра, заменяйки изгубената част с фрагмент от стар кадър. Това е добро решение; в повечето случаи потребителят няма да забележи капана (на секунда се сменят 30+ кадъра), въпреки че понякога могат да възникнат артефакти.
Сценарий №4. Равномерни загуби 25%
Всеки четвърти пакет се губи. Става все по-страшно и интересно. Всъщност, при такава “дупчеста” връзка нормалната игра в облака едва ли е възможна. Въпреки това, някои участници в сравнението се справят, макар и не перфектно.

GFN
Проблемите вече са доста забележими. Картината е пикселизирана и размита. Все още можете да играете, но това вече съвсем не е същото, което GFN предлагаше в началото. И определено не е начинът, по който трябва да играете в красиви игри. Красотата вече не може да се оцени.
Playkey
Игровият процес е на прилично ниво. Плавността е налице, въпреки че картината малко страда. Между другото, в горния ляв ъгъл — цифри, колко пакета се възстановяват. Както виждаме, 96% от пакетите се възстановяват.
Loudplay
Не се стартира.
Vortex
Не може да се играе, дори и с много желание, фризовете (спирането на изображението, възобновяването на видеопотока от нов фрагмент) са още по-забележими.
Stadia
Услугата практически не е игрална. Причините вече бяха посочени по-горе. Чака се събиране на кадри, излишността е минимална, при такива загуби не е достатъчна.
Сценарий №5. Непостоянни загуби 0,01%.
На 10 000 пакета 1 път се губят 40-70 пакета подред. Тоест, губим приблизително 1 от 200 кадри. Такъв случай става, когато буферът на мрежовото устройство е препълнен и всички нови пакети просто се изхвърлят (дропват), докато буферът не се освободи. Всички участници в сравнението, с изключение на Loudplay, са се справили с подобни загуби до някаква степен.

GFN
Картината е загубила съвсем малко качество, стана малко размита, но всичко е напълно играбелно.
Playkey
Всичко е много добре. Картината е плавна, изображението — добро. Може да се играе без проблеми.
Loudplay
В първите няколко секundy картината беше, героят даже започна да тича. Но връзката със сървъра почти веднага беше изгубена. Ах, този TCP протокол. Първата загуба уби услугата на място.
Vortex
Наблюдават се обичайни проблеми. Фризове, лагове и т.н. Играчите биха имали много трудности при такива условия.
Stadia
Играбелно. Забележими са малки спадове, картината понякога е пикселизирана.
Сценарий №6. Непостоянни загуби 0,1%
На 10 000 пакета 10 пъти се губят 40-70 пакета подред. Оказва се, че губим 10 от 200 кадри.
Веднага ще кажа, че забележими проблеми се появиха при мнозинството от услугите. Например, картината се накъсва, така че излишността вече не помага. Тоест, положителният ефект от използването на излишна технология е налице, но той не е голям.
Работата е там, че времето за реакция на действията на потребителя и самата игра — е ограничено, видеопотокът трябва да бъде непрекъснат. Възстановяването на потока до приемливо качество е невъзможно независтимо от усилията на услугите.
Появяват се артефакти (опит за компенсиране на загубите пакети, данни не достигат) и рязко изображение.

GFN
Качеството на картината забележимо спадна, битрейтът е значително понижен.
Playkey
Справя се по-добре — вероятно, защото излишността е добре настроена, плюс алгоритъмът за битрейт оценява загубите като не много високи и не превръща картината в пикселизирана каша.
Loudplay
Не се стартира.
Vortex
Стартира, но с ужасно качество на картината. Ясно се забелязват рязкове и падения. Игрането при такива условия е почти невъзможно.
Stadia
Ясно се забелязват рязкове, което е ясен показател, че излишността не е достатъчна. Картината замръзва, след това се появяват други кадри, настъпва прекъсване на видеопотока. Игрането изобщо е възможно, ако имате голямо желание и клинична предразположеност към самоизтезаване.
Сценарий №7. Нерегулярни загуби 0,5%
На 10 000 пакета 50 пъти се губят 40-70 пакета подред. Загубваме 50 кадра от 200.
Ситуация от класа “формен кошмар”. Вашият рутер искри, при доставчика има авария, проводниците са глодани от мишки, но вие все пак искате да играете в облака. Каква услуга да изберете?

GFN
Игрането вече е много трудно, ако изобщо е възможно — битрейтът е значително понижен. Кадри се губят, вместо нормална картина виждаме „суспензия“. Кадрите не се възстановяват — недостатъчно информация за възстановяване. Ако при GFN възстановяването изобщо е предвидено. Начинът, по който услугата се опитва да спаси ситуацията с битрейта, предизвиква съмнения в готовността й да работи с излишност.
Playkey
Има изкривяване на кадъра, изображението се поклаща, т.е. елементи от отделни кадри се повтарят. Видно е, че голяма част от „повредения“ кадър е била възстановена от парчета предишни. Тоест в новите кадри има части от стари кадри. Но изображението в същото време е по-или-малко ясно. Може да се управлява, но в динамични сцени, например, в бой, където е нужна добра реакция — трудно.
Loudplay
Не се стартира.
Vortex
Стартира, но по-добре да не беше стартирало — да се играе това е невъзможно.
Stadia
Услугата в такива условия е неигрална. Причините — необходимостта да изчаквате сглобяването на кадъра и слабата излишност.
Кой е победителят?
Рейтингът е, разбира се, субективен. В коментарите може да се спори. И, разбира се, първото място е за локалния компютър. Причината е, че облачните услуги са чувствителни към качеството на мрежата, а то е доста нестабилно в реалния свят. Затова собствената игрова машина остава без конкуренция. Но ако по някакви причини я нямате, погледнете рейтинга.
- Локален компютър. Очаквано.
- Playkey
- GeForce Now
- Google Stadia
- Vortex
- Loudplay
В заключение отново напомням, че основна роля в облачните игри играе устойчивостта срещу проблеми в мрежата:
- Кой мрежов протокол се използва. За предаване на видеопоток най-добре е да се използва UDP. Подозирам, че Loudplay използва TCP, но не съм сигурна. Въпреки това, резултатите от теста видяхте.
- Реализирано ли е кодиране с грешкореешение (FEC — Корекция на грешки напред, известна също като излишък). Също така е важен начинът за настройване на излишъка при загуба на пакети. Както видяхме, от реализацията зависи значително качеството на картината.
- Как е настроена адаптацията на битрейта. Ако услугата спасява ситуацията на първо място чрез битрейта, това в значителна степен влияе на картината. Ключът към успеха е крехкото равновесие между манипулациите на битрейта и излишността.
- Как е настроена постобработката. Ако възникнат проблеми, кадрите или се изтриват, или се възстановяват, или се сглобяват от фрагменти на стари кадри.
- Близостта на сървърите до играча и мощността на хардуера също значително влияят на качеството на играта, но това е вярно и за идеалната мрежа. Ако пингът до сървърите е твърде висок, дори и на идеална мрежа не можете да играете комфортно. В това изследване не експериментирахме с пинга.
Както обещах, ето линк към.
Източник: habr.com
