Разработчик рассказал, почему 8GB VRAM уже всё. В Nvidia говорят, что нам нужны 32GB видеокарты для уровня PlayStation 5
На канале Moore's Law Is Dead вышел подкаст с разработчиком, который работает с Unreal Engine.
В рамках этого подкаста, разработчик ответил на несколько вопросов и объяснил, почему 8GB это мало.
Что говорилось в подкасте.
Если коротко, то дальше будет только хуже и все большему количеству игр уже в ближайшее время нужно будет более 8ГБ VRAM.
Разработчики ориентируются на консоли и их характеристики, а в консолях под видеопамять доступно 12ГБ. И игры создаются изначально под консоли, а ПК у них в самом конце списка дел.
Если игры не будут выпускаться на PS4/Xbox One, а только под PS5/Xbox Series, то требования как минимум к VRAM у этих игр будут выше.
Делать новые и современные игры под консоли у которых доступно 12ГБ видеопамяти, а потом сделанную под консоли игру пытаться заставить идти на 8ГБ видеокартах очень сложно.
И это требует ухудшения качества (с попыткой его сохранить все же) и на все это нужно очень много времени которого у разработчиков нету и которое никто им не даст.
Кроме того, в консолях используется аппаратный декомпрессия и используется стриминг с SSD, а чтобы на ПК игра работала хотя бы так же как на консолях, то ПК должен быть мощнее и лучше, чем характеристики консолей.
DirectStorage никак не поможет и не спасет карты 8GB, потому что DirectStorage бьет по производности и для его работы нужно больше видеопамяти.
Перевод и вырезки из подкаста.
Почему разработчикам теперь нужно больше VRAM?
- Переход на фотореалистичные текстуры и высокую детализацию. Раньше можно было сделать размытую текстуру и просто нанести ее на каждый камень и использовать эту текстуру снова и снова.
А теперь, у нас может быть так, что каждый камень будет выглядеть по разному и иметь высокую детализацию.
Детализация возросла
- Мы используем больше объектов, текстур, мелких деталей и все это использует VRAM. Даже геометрия, но не так сильно как текстуры конечно, но все же.
- Раньше количество полигонов было около 5000, а теперь мы говорим про 500 000 полигонов или даже несколько миллионов если говорить про Unreal's Nanite.
Еще больше текстур поверх текстур
- Помимо всего прочего, мы используем больше текстур для объектов чтобы придать им реалистичности и глубины.
- Используем различные фичи чтобы создать еще больше деталей и скрыть тот факт, что некоторые текстуры повторяются. В старых играх было заметно как текстуры повторяются, а сейчас мы стараемся скрывать это различными дополнительными деталями.
- Поверх одной текстуры мы наносим еще одну текстуру, которая так же имеет несколько различных комбинация.
- А для некоторых огромных пейзажей нам нужны 4К и даже 8К текстуры чтобы они выглядели хорошо. И все это вместе складывается и получается, что нужно больше VRAM.
Реалистичность требует жертв
- Несколько лет назад мы создавали фейковое изображение, теперь мы стараемся делать реалистичную картинку.
- Раньше мы брали модель персонажа и поверх этого наносили единую текстуру и получалась 1 модель и 1 текстура. Все тело и каждая его часть была на одной текстуре вместе с одеждой.
- А теперь, у нас есть модель персонажа с различными детализированными частями. Каждая мелкая деталь может использовать свою собственную текстуру и таких текстур может быть несколько даже для одной детали. И все это очень повышает использование VRAM.
- Основное потребление VRAM происходит в большей части из-за текстур и мешей. А они становятся все больше и больше.
- Даже геометрия объектов нынче требуют существенно больше VRAM, чем раньше. Допустим, есть у нас кирпичная стена и вот когда ты смотришь на нее сбоку, то хочется чтобы было видно, как выпирают кирпичи и что это не просто плоская стена с текстурой кирпичей. Можно конечно для объема использовать Parallax Occlusion Mapping, но это огромный удар по производительности.
Все последние релизы имели проблемы с высоким потреблением VRAM и я не думаю, что это проблема вдруг исчезнет?
- Нет. Станет только хуже. Особенно из-за перехода на разработку игр исключительно под новые консоли без выпуска игр на старых консолях.
- Потреблением VRAM будет только увеличиваться. Текстуры и меши это еще не самое главное, что будет увеличивать потребление видеопамяти.
- Lumen еще больше увеличит потребление памяти. Вообще все новые технологии увеличивают потребление видеопамяти.
Реалистичные NPC удар по памяти
- Неужели игроки хотят вернуться в прошлое, когда была модель персонажа и поверх него была нанесена единая текстура?
- Или все же лучше, когда можно подойти к персонажу и видеть его реалистичные глаза, видеть каждый его волосок? Так что потребление VRAM это плата за реалистичность и хорошую графику.
- Чтобы заставить игру идти на 8ГБ видеокартах нам приходится делать огромный объем работы.
- Вот сделали мы машину, на ней куча элементов, куча разных текстур, она просто невероятно детализированная и реалистичная.
- Но чтобы уложиться в 8 GB VRAM приходится все это ухудшать и тогда она уже не выглядит такой же красивой как была до этого. Чтобы уложиться в лимиты 8ГБ видеокарт, мы дублируем текстуры, мы пытаемся использовать разные приемы чтобы скрыть все косяки которые появились после "оптимизации".
- Но это все требует столько времени, что даже мы в итоге говорим себе, что нафиг это все, давайте короче на 12 GB VRAM ориентироваться. Потому что в противном случае, мы потратим слишком много времени на оптимизацию этой машины.
Автор канала Moore's Law Is Dead: Я вот хотел сказать, вот у нас уже есть несколько примеров когда игра идет плохо из-за нехватки VRAM. У нас есть игра Hogwarts Legacy которой нужно 12GB видеопамяти, потом у нас есть Forspoken которой нужно 12ГБ видеопамяти даже в 1080р.
Есть Resident Evil 4 где снова проблема с нехваткой видеопамяти на 8ГБ картах и NX Gamer показал нам, что из-за нехватки памяти игра просто крашится.
А теперь у нас еще есть The Last of US. Может игры и правда плохо оптимизированные, не знаю. Но я постоянно вижу комментарии в стиле: да нет смысла ориентироваться на Hogwarts Legacy, нет смысла ориентироваться на Forspoken, нет смысла ориентироваться на...
Сколько еще нам нужно игр в качестве примера, прежде чем эти люди перестанут говорить "да нет смысла ориентировать на игру Х" и задумаются о том, что 8GB это мало?! Это уже не просто какие-то отдельные редкие игры, это уже выглядит как тренд и каждая игра требует больше 8ГБ видеопамяти.
Хотя можно конечно снижать настройки и спокойно играть. Ведь вообще, низкие настройки графики сейчас выглядят так же как ультра в старых играх, конечно не в случае с The Last Of Us, но в других то играх сейчас ультра это как низкие несколько лет назад.
Можно конечно вспомнить пару недавних "оптимизированных" релизов, в которых некоторые текстуры выглядят хорошо, но другие выглядели не очень и хуже, чем в прошлых играх. Но даже там для высокого разрешения 8ГБ это прям в притык. Это выглядит так, словно 8ГБ картам уже пора на покой?
- Да, это так. Разработчики конечно пытаются оптимизировать, но есть предел оптимизации. Вот к примеру для той же травы мы не используем индивидуальные текстуры для каждой отдельной травинки. Мы используем рандомайзер текстуры или текстуру шума.
Нанеси поверх сантиметр красного оттенка, тут сантиметр темного оттенка и в итоге трава получается разнообразной не используя множества разных файлов текстур самой травы.
Тогда получается, что если у тебя 8 ГБ карта, то просто снизь тогда текстуры до низко и играй. Вообще, я не знаю, мы имеем карты за 300 баксов с 8ГБ памяти уже довольно давно. Кажется, 8ГБ еще были в 2015 году когда вышла Radeon R9 390 8GB за почти такую сумму...
2015 год. Топ карта за 329$ с 8GB памяти
Поможет ли имплементация Direct Storage?
- В какой-то степени это может немного помочь, но полностью не решит проблему. Потому что в Unreal Engine есть так называемый Texture Streaming Pool, объём которого определяется объемом памяти вашей видеокарты.
- Если вылезти за его пределы, то происходит ошибка и перестают стримиться текстуры. И тогда вы увидите, что вместо нормальной текстуры будет к примеру голая стена с мыльной текстурой низкого разрешения. Такое случается, если превысить объем Texture Streaming Pool.
Автор канала Moore's Law Is Dead: У меня есть друг, который был на GDC и видел презентацию Direct Storage и он сказал мне: смотря на то, что я вижу, если Direct Storage на ПК пытается делать то, что делает PlayStation 5 с помощью аппаратной декомпрессии и стриминга ассетов с SSD во время игры, то на ПК это скажется на производительности.
Использование Direct Storage будет использовать ресурсы видеокарты, а это снизит производительность на 20% из-за стриминга и рендеринга игры.
Но появятся статтеры, поэтому, чтобы их избежать, то скорее всего надо будет задействовать еще больше мощностей ради Direct Storage и тогда производительность уже упадет на 30-40%. А это означает, что понадобится ПК мощнее консолей, для аналогичной консолям производительности.
Вообще, я часто говорю с разными разработчиками. Иногда я общаюсь с людьми из АМД и они отвечают на некоторые вопросы и дают разные подсказки, естественно инсайдами они со мной не делятся конечно. Но говорил однажды с представителем из Nvidia и задал им вопрос про RTX I/O и Direct Storage.
И представитель Nvidia сказал мне:
- Вы знаете *улыбается*...это (Direct Storage) поможет, это поможет нам загружать данные очень быстро...Но для нормальной работы этой технологии нам нужны 32 GB видеокарты...
И я про себя подумал, а ведь это говорит человек из компании, которая выпускает 8GB видеокарты. Человек в открытую мне сказал, что если мы хотим делать то, что делает Playstation 5, но не в 1440р конечно, а в 4К, то нам нужны видеокарты с 32 GB видеопамяти!
Вообще, со всеми с кем я говорил, в том числе из Nvidia, говорили мне, что Direct Storage никак не исправит проблемы с нехваткой VRAM. Будем честны - говорили мне они, у консолей есть свой уникальный аппаратный подход для такого.
А на ПК как мы это решаем? Обычным брутфорсом, то есть - мощностями превышающими консоли. Нам нужны 32GB видеокарты для такой же эффективной работы как это работает у консолей и нужно 64 GB DDR5 памяти.
Вся эта информация просто взорвала мне мозг, ведь это мне сказал человек из Santa Monica, из Nvidia и даже человек из АМД.
Разработчик:
- Ну, в целом, пока нам и без Direct Storage без проблем хватило бы и 16 GB видеопамяти. Да и в консолях сейчас доступно 12 GB под VRAM. Так что, 12 GB видеопамяти у видеокарт сейчас должно быть минимумом.
- Даже у бюджетных видеокарт должно быть 12GB видеопамяти даже для 1080р гейминга. 12GB это минимум который у вас сейчас должен быть.
Представь, что ты разрабатываешь игру исключительно для будущих ПК и консолей. И когда эта игра выйдет, то к тому времени уже будет новое железо. Ты хочешь создать некстген игру, которая произведет впечатление как когда-то Crysis и будет прорывом для своего времени. Под какие спеки ты будешь делать игру. Какой процессор? Сколько VRAM? Скорость SSD? Количество ядер?
- Сложный вопрос. Но что касается видеопамяти, то где-то 16-20 GB было бы самый раз и с запасом.
- А что касается процессора, то я бы выбрал процессор с большей тактовой частотой ядер, нежели с большим количеством ядер. Я могу сказать со своей точки зрения и с точки зрения других разработчиков с которыми я общаюсь, реализовать использование большего количества ядер в играх на самом деле очень сложно. Так что, хорошая производительность на ядро будет просто топ.
- Что касается консолей, то я хотел бы, чтобы у них было 32GB общей памяти что было бы с хорошим запасом на будущее. Ну и конечно быстрый SSD.
- Если бы сейчас такое железо было нормой, то я с уверенностью могу сказать, что я бы смог без проблем реализовать все задумки, сделать очень качественную игру и смог бы реализовать все самое лучшее на данный момент.
Что случится, как только перестанут выпускать игры под Playstation 4 и Xbox One? После этого системные требования на ПК вырастут?
- Да, системные требования станут выше. Особенно если мы говорим про порты игр с консолей. Разработчики делают игры в первую очередь под консоли и их характеристики. На консолях одинаковые характеристики и у них есть аппаратный блок декомпрессии и другие фичи.
- И если ты хочешь выжать из этого все, то ты в первую очередь оптимизируешь игру исключительно под все эти характеристики. А потом уже в конце ты начинаешь оптимизировать под ПК, а там у кого-то 4Гб памяти, у кого-то 8ГБ памяти, а у кого-то вообще 24ГБ. Вот и приходится что-то придумывать.
Видеокарты с 8GB видеопамяти Nvidia продает нам с 2016 года. Карты с 8ГБ уже существуют давно. Если Nvidia выпустит RTX 4060 с 8GB за 450$. Тогда желаю им удачи. Это такая же цена как у RX 6800 сейчас. И RTX 4060 не будет тянуть половину игр которые будут выходить...
-Да
...с разрешением выше 1080р
-Да
Я разговаривал с множеством разработчиков и они мне сказали, что эта карта (RTX 4060 8GB) не будет тянуть новые игры. Я надеюсь, что АМД выпустит свои оставшиеся карты с 16GB памяти... Как ты думаешь, компании должны пересмотреть свой подход и начать делать карты с большим объем памяти вместо 8ГБ карт?
- С точки зрения покупателя я очень на это надеюсь. И я согласен с высказыванием Hardware Unboxed, что выпуск 8Гб карт это планируемое устаревание.
- Ты сейчас покупаешь эту карту из-за ее низкой цены, но скоро она перестает тянуть игры исключительно из-за малого объема видеопамяти и ты опять бежишь за новой картой.
- Особенно меня смешит Nvidia со своим маркетингом. Рекламируют свои лучи и что они лучшие в лучах, но пхах, какие лучи когда на твоей карте недостаточно видеопамяти чтобы хранить в ней данные...это вообще не имеет никакого смысла.
Когда Ray Tracing станет стандартом в играх? Сейчас мне кажется, что RT это все еще гиммик в большинстве игр и мы как минимум 5 лет позади того момента когда RT станет стандартом.
- Сейчас мы определенно еще очень далеко от того момента когда RT станет стандартом. Но рано или поздно это произойдет, но это будет не скоро. Скорее всего с выходом PS6 или даже PS7. Кроме того, Ray Tracing требует огромного количества знаний чтобы его добавить и правильно настроить и не все сейчас могут с ним работать.
- RT это не просто какая-то магическая фича которую добавил и она работает и все становится реалистично. Нет, для правильной работы RT требует огромного количества оптимизации и настроек, нужно даже указывать степень отражения материалов, расстояние отражения, сколько отражений/отскоков и прочее.
- А еще станет ли RT стандартом будет зависеть от упертости Nvidia.
Что ты имеешь ввиду говоря про упертость Nvidia?
- Если через 5 лет стандартом все еще будет только 12 GB VRAM, то будет слишком сложно сделать качественную трассировку лучей используя все преимущества RT.