Чтобы вы поняли, почему меня так бомбит, отвечу вкратце про некоторые методы оптимизации, которые я сам привёл в пример - мип-маппинг и лоды.
Мип-маппинг - это несколько версий одной и той же текстуры, которые подгружаются на разном расстоянии от камеры игрока. К примеру, если мип-маппинг включен, а под игроком находится текстура с разрешением 1024х1024, то в нескольких метрах от игрока будет та же текстура, но в разрешении 512х512, дальше 256х256, 128х128, 64х64 и обычно на этом останавливается, но иногда всё доходит до 16х16. Делается это для того, чтобы на расстоянии от игрока не было текстур высокого разрешения и это довольно сильно снижает нагрузку на видеокарту и видеопамять, да и визуально глазу видеть мягкие текстуры вдали гораздо лучше, чем шумные (пример такого эффекта я вам потом покажу и вы поймёте, о чём я). Но это сделано капец как топорно! Если под игроком текстура с разрешением 1024х1024, то в 10-ти метрах от него уже 512х512, то есть разрешение текстуры снизилось 2 раза, но этот переход очень сильно видно. А всё потому, что сжатие текстур происходит в геометрической прогрессии, а это уже сделано, чтобы сборка игры занимала меньше времени. Если сделать переход плавным, то есть сжимать все текстуры не в 2 раза на каждом уровне, а на 5%, то мы получим очень плавный переход от высокой детализации к низкой без ущерба для производительности и глазу приятно. Но, увы, такая детализация текстур будет очень дорого стоить в плане потраченного времени на сборку игры, так как нужно будет отрисовать все уровни одной и той же текстуры. И как раз таки с этой задачей нейросети справляются гораздо быстрее, чем просто фильтры для сжатия текстур, а качество сжатых текстур гораздо выше, чем криво объединённые пиксели у билинейной или трилинейной фильтрации...
ЛОД - уровень детализации (Level Of Detail). Эта технология применяется для подмены качественных моделей на некачественные, когда игрок от них отдаляется на расстояние и это также экономит ресурсы видеокарты, позволяя увеличить детализацию окружения вокруг игрока. Эта технология старая, но она очень хорошо реализована в GTA V, а ещё лучше в Mafia 2, в которой как раз при помощи лодов отображаются машины на другом конце карты и это не сказывается на производительности и это сделано очень круто, за это я и полюбил эту игру. В MTS вы это как раз можете заметить на зданиях вдали, их детализация меняется, а деревья превращаются просто в зелёные кубы. В Жигулях и прочих играх есть тоже самое, а особенно в Жигулях транспорт в трафике на каком-то расстоянии от игрока вообще исчезает, при этом фактически продолжая существовать. Но в наше время, когда даже камни ка дороге имеют высокую детализацию, с лодами работать проблематично, так как нужно на каком-то расстоянии от игрока подменить модель на менее детализированную, а чтобы это выглядело не так вырвиглазно, нужно подменять модель плавно уменьшая её детализацию и тут как раз и зарыта та самая собака: на создание нескольких качественных уровней лодов для одного здания может уходить несколько десятков часов. В это же время можно было обучить ИИ анализировать модель здания и делать 10, а то и 20 уровней детализации и всё это всего за 2-3 минуты. Представьте, что в игре вы стоите в 5 метрах от здания и видите его нормальную модель, но в 10-ти вы видите уже немного урезанную, при этом на глаз это вообще незаметно, а видеокарта это заметно ощущает и говорит спасибо разработчикам за то, что пожалели её. И чем дальше вы отходите от здания, тем меньше его детализация, но за счёт огромного количества уровней детализации вы этого совсем не замечаете, даже когда это здание прекращается всего в пару пикселей. А сейчас же в играх с большими открытыми мирами с этим серьёзная проблема, эти переходы отлично видны на глаз, так как на лодах экономят и делают обычно по 2-3 уровня, иногда 5.