Не теоритик, а практик и не си доразбрал.
Следиш битрейт, с който ти върви клипа от stats, форсираш 4k резолюция с хардуерно ускорение, ако го поддържа хардуера, display manager-а, браузъра, имаш нужните драйвъри, и си следиш ресурсите, докато гледаш видеото.
В моя случай от скрийншота, e 4k 60fps ABR video и 160kbps audio, във FF. Dropped frames се получават при смяна на резолюция, refresh или буфериране. Реално в Wayland и с хардуерно ускорение, производителността във Firefox е с една идея по-висока от във всички останали браузъри. Тествай, ако не ми хващаш вяра
chunks са по 8.88mb/s и върви с около 20mbps
Разпъваш го на цял екран, за да ползва целия viewport с който разполагаш (резолюцията на монитора ти) и гледай колко насича, независимо от браузъра. Също си експортни един resource monitor лог с top или tail да видиш какво става със заетите ресурси, докато насича.. Ако гледаш в реално време с htop, ще добавяш допълнителен лаг. Това отчасти е заради ненавсякъде поддържаното хардуерно ускорение във VP9, но алтернативата е H264, където е изцяло софтуерно при резолюция над 1080p. Наследникът H265 вече поддържа 4K HEVC (60FPS), но тук говорим за 120 FPS и е неприложимо за cloud гейминг в текущите условия.
Това е просто база за сравнение. Cloud гейминг услугите използват RTP за видео и аудио стрийминг и UDP за input. Тъй като не може винаги да се подсигури 45-50mb/s какъвто е пика в тяхната компресия на 4К, вместо да се слиза на по-ниска резолюция по време на моментни падове, се прилага по-висока компресия във VP9 или H264 и резултатът са артефактите, за които
@Zeroadhesion говореше и лек stutter. Съответно и битрейта се лимитира според ситуацията - т.н. ABR - adaptive bitrate. 10mbps за същата резолюция, която върви с 45mbps създава артефакти, които варират според кодека. Направи друг експеримент - пусни да стриймваш локално видео с 1080p резолюция от OBS Studio с CBR 7000kbps. Свали на 2000kbps и гледай същото видео как изглежда при движещ се кадър. Спадове винаги има при връзка между сървър и клиент. При стандартен видео стрийминг (като в youtube) се контролират и изчистват от размера на буфера (например 4k видео има по-голям буфер, за да не прекъсва при флуктуации). При Cloud гейминг, това не е възможно заради input-а в реално време и единствения начин да се контролира, е динамично, през компресията на codec-а. Сменя се резолюция и битрейт с формула if bitrate <=x then transcode to lower resolution. 1080p>720p. И ако например threshold е зададен на 30000kbps, за 4K>2K; 10000kbps за 2K>1080p, и т.н, преди преминаването на по-ниска резолюция ще имаш най-лошо моментно качество. Може да го тестваш с network throttling от линукс, браузъра или ако щеш рутера си.
Различните провайдъри най-вероятно използват различни кодеци и протоколи за инфраструктурата, но базовия принцип е същия и не може да преодолее проблемите, които самото трасиране създава. Shapers, load balance, geo-location nodes и всичките data центрове на света не могат да доставят същия stutter-free experience и low latency input на високи кадри и опреснителна честота, както един мощен хардуер. И както и преди казах, ако някой може да се доближи до съвършенство вбъдеще, това са NVIDIA, просто защото имат предимство с хардуерното ускорение и директната имплементация.
Тук разединението ни е на базата
какво е качество, а всеки има своите индивидуални разбирания за това. Ако можеш да направиш компромис и не искаш да играеш игри с висока резолюция и кадри, на високо-честотен монитор, Cloud гейминга е по-евтин и леснодостъпен вариант да пробваш най-новите заглавия, които изискват мощен хардуер, в пъти по-скъп от инвестицията в Cloud gaming акаунт. Не твърдим, че това е лошо, а че си има своите недостатъци.