Это разве не просто передача уже готовых кадров которые подготовила видеокарта ?
Ну давай посчитаем, что такое передача готовых кадров.
Берем простенькое 1980x1200, получаем 2376000 точек.
На цвет (если нам нужен нормальный true color), уходит 4 байта. Получаем 2376000*4=9 мегабайт.
это ОДИН кадр.
Берем средненькую игру, где ты хочешь наверное 50-60 frames per second, получаем 540 мегабайт.
В секунду.
Это то, что нужно передать на удаленный компьютер, причем у тебя не целая секунда, а наверное по ту сторону не будут слишком рады, если игра будет лагать по полсекунды или даже четверть секунды.
При скорости подключения в 1гбит у тебя в идеальнейшем случае будет 60-80 мегабайт в секунду, так что тут вообще не вариант.
Какой у нас выход? Сжимать видео. Сколько у нас времени на сжатие видео? Даже секунды нет, иначе будут лаги. Даже сжав видео раз в 10, ты получишь 54 мегабайта в секунду, что впритык к 1 гбиту. И все равно маловато.
В общем реал-тайм передача данных в хорошем разрешении, чтобы играть на удаленном компе практически нереальна.
Поэтому либо хорошее качество и жуткие задержки (например ютуб трансляцию обычно смотрят с задержкой в несколько секунд или минут, и видео успевает быть пережатым хорошим алгоритмом, уменьши трафик раз в 20-50 или больше).
Либо уменьшаем лаги, но сжиать надо быстрее (мощный проц, и плохое качество, так как не успеваем), плюс хитрые алгоритмы просчитывающие, чего не передавать (опять проц). Но все рано лаги будут приличные.
Ну и 1980x1200 потихоньку отмирает, сейчас приходит 2560x1440 и 4к (4096 × 3072)
А еще есть звук, который мы еще не считали, и который весит немало.