
Преди около година публикувах статия . В нея бяха анализирани плюсовете и минусите на различни услуги за облачни игри на слабите компютри. По време на играта тестваните услуги и споделих общото си впечатление.
В коментарите под тази и други подобни статии читателите често споделяха впечатления за различни игрови услуги. Често се срещаха противоположни мнения за едно и също. Някои всичко беше чудесно, а други не можеха да играят заради лагове и прекъсвания. Тогава ми хрумна идеята да оценя качеството на работа на тези услуги при различни условия – от идеални до ужасни. Става въпрос за качеството на мрежата, тъй като далеч не всеки потребител може да се похвали с бърз и безпроблемен интернет, нали? Общото е, че по-долу е оценката на услугите с симулация на различно качество на работа на мрежата.
Какъв е проблемът?
Както беше споменато по-горе – в качеството на връзката. А по-скоро – в загубата на пакети по време на игра. Колкото по-високи са загубите, толкова повече проблеми има геймърът, толкова по-малко е доволен от играта. А рядко някой разполага с идеален канал за връзка, подобен на оптоволокно до устройството, с отделен, а не споделен интернет с всички жители на многоетажната сграда.
За справка - при скорост на връзка от 25 Мбит/с за предаване на 1 кадър/рамка са необходими 40-50 пакета данни. Колкото повече пакети се загубят, толкова по-ниско качество получава изображението и толкова по-силно се усещат лаговете и прекъсванията. В особено тежки случаи играта става просто невъзможна.
Естествено, самата облачна услуга не може да повлияе на широчината и стабилността на канала на потребителя (въпреки че би било чудесно, разбира се). Но може да се предвидят различни начини за смекчаване на проблемите с връзката. Кои услуги се справят с проблема най-добре – ще видим по-долу.
Какво точно сравняваме?
Обычен ПК (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
Първите няколко секунди изображението беше, героят даже тичаше. Но връзката със сървъра почти веднага беше загубена. Ох, този 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 — Forward Error Correction, известна още като излишък). Също така важен е начинът на адаптация спрямо загуби на пакети. Както видяхме, от реализацията значително зависи качеството на изображението.
- Как е настроена адаптацията на битрейта. Ако услугата спасява ситуацията в първия ред с битрейта, това повече влияе на картината. Ключът към успеха е крехкото равновесие между манипулациите с битрейта и излишъка.
- Как е настроена постобработката. Ако възникнат проблеми, кадрите или се сбрасыват, или се възстановяват, или се допълват с фрагменти от стари кадри.
- Близостта на сърверите до геймера и мощността на хардуера също значително влияят на качеството на играта, но това важи и за идеалната мрежа. Ако латентността до сърверите е твърде висока, дори на идеална мрежа комфортът в игра не е възможен. С латентността в това изследване не експериментирахме.
Както обещах, ето линк към.
Източник: habr.com
