21.03.2016, 04:20 | #1 | ||
Пугатель
Регистрация: 26.06.2005
Адрес: Москва, СССР
Сообщений: 6,105
Репутация: 1085
|
Оптимизация в играх, консоли и ПК
Вообще тема про консоли, PC и оптимизацию игр на этих платформах всплыла в разговоре про плановую экономику в разделе "Политика" (не спрашивайте, как это случилось).
Речь там шла вот о чем: Консоли имеют строго фиксированное железо в течение долгого времени, поэтому разработчики игр оптимизируют их как следует, а на ПК железо мощное, поэтому никто ничего не оптимизирует или оптимизирует недостаточно, поэтому приходится каждые джва года покупать новую видеокарту. Поэтому консоли лучше, чем ПК, Поскольку разговор не для раздела Политика, пришлось перетащить свои задницы сюда. Заодно в качестве первого поста проведу ликбез по GPU и графике. Но сперва правила темы: Оффтопом не считается: 1. Обсуждение графики и производительности PC в сравнении с консолями. 2. Обсуждение того, что "вот эта игра могла работать лучше!", при условии аргументации 3. Сравнение характеристик железа (процессоров, памяти и GPU) PC и консолей, консолей и консолей, PC и PC. __________________________________________________ __________________________________________________ ___________ Итак, действительно ли разработчики игр сговорились с производителями видеокарт, чтобы те могли продавать больше видеокарт и получать больше На самом деле нет. Когда вы запускаете игру, в начале запускается целый ряд заставок в стиле "Коламбия пикчерс представляет", где вы видите лого издателя, разработчика и прочих причастных организаций. И часто в этом списке обитают NVidia и AMD. Это значит, что разработчики обращались к производителям видеокарт, чтобы те сделали их игру более Но все же есть подозрения, что разработчики игр делают не все для того, чтобы игра быстро бегала на вашем компьютере, да? Отчасти это так. Зависит от конкретной команды разработчиков, а именно того, каких программистов они наняли для написания движка (или какой движок они взяли готовым) и как художники распорядились тем, что дали им программисты. Окей, а как дела с приставками? Ну, с приставками, на самом деле, в плане железа, все удручающе. Посмотрите вот на этот график: Скрытый текст: Здесь показано, чем занимаются создатели видеокарт, пока создатели приставок стригут капусту. Обратите внимание, что шкала флопсов (от слова FLOPS - Floating Point OPerations - операции с плавающей запятой) - логарифмическая. Это значит, что значение каждой следующей горизонтальной линии в 10 раз больше предыдущего. То есть если GeForce 8800 имел где-то 500-600 GigaFLOP (это миллиардов операций, стало быть), то уже Titan X имеет больше 6000 GigaFLOP, т.е. в 10 раз больше. Окей, и как же на помогут эти флопсы, спросите вы? Да очень просто. Один флоп - это одно сложение, вычитание, умножение или деление, выполненное над некой переменной типа float. Чтобы получить цвет пикселя, которым будет закрашена поверхность треугольника без текстуры, освещенного каким-нибудь источником света с помощью аппроксимации Ламберта, нужно найти косинус угла между нормалью к этому треугольнику и направлением на источник света, и умножить его на цвет поверхности и цвет источника света. Это все вместе со скалярным произведением занимает 7 операций. Эти операции нужно делать над каждым пикселем, то есть если у вас разрешение 1920 на 1080, а треугольник растянулся на весь экран, вам понадобится 14515200 операций с плавающей точки, то есть на один кадр вы должны потратить 14 миллионов флопов. А нынче ведь все любят уже не Ламберта, а какого-нибудь Орена-Наяра, где можно шероховатость материала указывать. Так почему же тогда разработчики игр любят приставки больше? Все из-за вас, маленькие жадные дети(с). Дело в пиратстве. Разработчик хочет кушать, и желательно побольше. Поэтому он хочет продавать свои игры, а за пиратские игры никто ему не заплатит. А на приставках с пиратством все гораздо лучше с точки зрения разработчика. В этом, кстати, заключается причина, почему часто одни и те же игры на консолях и на PC одинаково выглядят: они просто портированы с консолей. В этом случае в PC-версию можно добавить больше каких-то эффектов, которые не затрагивают ресурсы игры: какие-нибудь HBAO/shadow map based godrays/ ray-marching reflections. Текстуры и модели остаются прежними, поэтому особой разницы не заметно. Можем ли мы как-то выяснить, хорошо ли оптимизирована игра? Ну, если вы умеете программировать графику, у вас не maxwell-видеокарта и вы поставили себе NSight graphics debugger, то полагаю, кое-какие выводы сделать вполне получится. Этот дебаггер работает с картами NVidia и может показывать различные данные во время работы игры и выполнять capture frame - получение данных о всех вызовах, выполненных от одного D3D11ImmediateContext->Present() (или glSwapBuffers) до другого. Там можно понять, что рисует игра и как она это делает, сколько времени тратит на выполнение каждой операции, если ли в процессе рендера остановки для синхронизации GPU-CPU (например, когда игра пытается получить результаты GPU-based occlusion culling, и когда она делает это не правильно) и как выглядит шейдер, который выполняется на конкретном этапе, а также можно посмотреть состояние всех ресурсов. Единственное, что удручает - это то, что дебаггер не доступен для работы с видеокартами с архитектурой Maxwell внутри, а это 7хх и 9хх. Но я не программист, но хочу оптимизировать настройки игры так, чтобы она не тормозила и выглядела хорошо. Есть ли у меня шансы на это, док? Ага. Дальше под спойлером будет список новомодных фич, которые предлагаются в опциях графики игр, краткое их описание и насколько сильно все это грузит видеокарту. За один раз я их все не опишу, потому буду добавлять по мере поступления вдохновения. Скрытый текст:
__________________
Хорошо смеется тот, кто стреляет первым! (танкистская мудрость) Последний раз редактировалось [CCCP] Monster; 22.03.2016 в 17:00. |
||
|
22.03.2016, 16:52 | #42 | ||
Игроман
Регистрация: 02.03.2008
Адрес: ууууууу, такой городишко
Сообщений: 2,013
Репутация: 434
|
kassota, руки вверх. твое мнение, твой выбор. только опять же не корректно сравнил - в крайности идешь. Вижу любишь и кино и игры , и это не французский в котором 0, просто ленивый ты. Железо в компе тоже не сам меняешь?
Не против если тебя в пример, как потребителя консолей? Меня, жаба душит столько на игры тратить, при учете, что играю не часто- хотя люблю это дело. Скрытый текст: Добавлено через 1 минуту klop, плазма... хорошая штука, но и проблем с ней- сам знаешь.
__________________
Человек остался человеком даже после конца света. Он все также готов был грызть глотки своим собратьям из-за абстрактных идей… метро 2033 Вас убило индикатором гранат ---- Call of Duty 2 перевод с палёной версии . ¯\_(ツ)_/¯ Последний раз редактировалось кук; 22.03.2016 в 20:58. Причина: Добавлено сообщение |
||
|
22.03.2016, 16:57 | #43 | ||
Пугатель
Регистрация: 26.06.2005
Адрес: Москва, СССР
Сообщений: 6,105
Репутация: 1085
|
кук, а почему хиты должны быть для карточек? Видеокарта - это просто вичислительная система с набором технологий внутри, как и приставка. Просто приставка гарантированно не меняется, и ее надо покупать новую целиком, при этом у нее фиксированная архитектура, которая, кстати, довольно сильно отличается по способу использования от ПК. Поэтому для конкретных приставок выпускают игры специально (иначе эти приставки не продать). А видеокарта - это часть компьютера, там невозможно написать игру так, чтобы она работала только на конкретной модели видеокарт, потому что писать приходится через средства абстракции OpenGL и DirectX. Производители видеокарт делают так, что любое приложение, которое способно использовать эти средства абстракции, будет использовать мощности видеокарты, и как правило, связка видеокарта + драйвер + операционная система обеспечивают обратную совместимость, то есть старые технологии продолжают поддерживаться, поэтому там работает всё, что было ранее выпущено (конфликты бывают обычно из-за ОС, а не из-за видеокарт).
Что касается Масс-Эффекта, то во всех частях используется движок UE3 или UE3.5, поэтому минимальные системные требования во всех частях одинаковы, требуется только наличие SM3.0 и 256 МБ видеопамяти на борту (что полностью соответствует железу на PS3, например). Максимальные различаются. Это связано с наличием динамических теней от локальных источников света (очень заметно на крупных планах) и новой технологии SSAO, которая доступна в UE3.5, но по понятным причинам не доступна на PS3. В целом же аргумент про "недостаточную оптимизацию" здесь применим не может быть в принципе, потому что рендер у всех частей от UE3 / UE3.5 и его ядро никак не изменялось от версии к версии, менялся только контент, которого стало больше, и настройки, которые добавили больше динамических теней.
__________________
Хорошо смеется тот, кто стреляет первым! (танкистская мудрость) |
||
|
22.03.2016, 17:17 | #44 | ||
Игроман
Регистрация: 02.03.2008
Адрес: ууууууу, такой городишко
Сообщений: 2,013
Репутация: 434
|
Цитата:
Тех, терминов не нужно - ты отлично все в шапке разобрал - тут вопрос чисто по логике. Добавлено через 16 минут [CCCP] Monster, вообще я больше люблю пк, тут дело- как, сказал kassotaи правильно сказал, дело интимного характера, комп это сугубо личное, там все и игры и видео и фото и порно в конце концов... просто реально иногда устаю менять железо в то время как пользователи приставок меняют только диски, можно конечно менять видяхи сразу на топовые, но тогда зачем выпускать бюджетные? рядовому пользователю от них разницы ни какой, а покупать каждое поколение 480х , 580, 680, 780, .... ну правда, сколько можно?
__________________
Человек остался человеком даже после конца света. Он все также готов был грызть глотки своим собратьям из-за абстрактных идей… метро 2033 Вас убило индикатором гранат ---- Call of Duty 2 перевод с палёной версии . ¯\_(ツ)_/¯ Последний раз редактировалось кук; 22.03.2016 в 17:34. Причина: Добавлено сообщение |
||
|
22.03.2016, 17:34 | #45 | ||
Игроман
Регистрация: 01.12.2011
Адрес: планета Земля
Сообщений: 3,659
Репутация: 188
|
я не ленивый, я вдумчивый попугай кеша, вот когда мне покажут как и что, то я это смогу повторить, а самому вникать, тем более если и так все устраивает- извольте.
когда Херстоун появился, я честно все туториалы 2 раза прошел, с компьютером играл много раз, но я не понимал механику игры. Как только мне показал человек как в нее играть, то я понял это за 20-30 минут. в 13м году сам собирал компутер, часов в 11 утра начал, к 5-6 вечера собрал, так как корпус как выяснилось маленький купил, пришлось ехать менять. в декабре 15 года просто заказал сборку всех частей, приехал и забрал))) я потребитель всего чего мне или моей семье нравится в рамках разумного, не вижу в этом ничего плохого, в противном случае для чего стараться добывать деньги, и чем больше тем лучше. Цитата:
в больших помещениях)) в ванной повесили, чуть не ослеп 42 дюйма и 3.5 метра от глаз до ящика с трубадурами))
__________________
Мыслил по-государственному: брал только в особо крупных размерах. |
||
|
22.03.2016, 17:37 | #46 | |||
Игроман
Регистрация: 09.10.2006
Адрес: IS, FedCom, New Exford
Сообщений: 3,590
Репутация: 321
|
Цитата:
Цитата:
Цитата:
|
|||
|
22.03.2016, 17:48 | #47 | ||
Игроман
Регистрация: 02.03.2008
Адрес: ууууууу, такой городишко
Сообщений: 2,013
Репутация: 434
|
у нас, это называется - обезьяния работа))) увидел, повторил - минимум фантазии и отсебятины)) я свой ПК, без посторонней помощи собирал - сам, почти с нуля .... ну правда 300 ред лейбл дернул для храбрости и потом пасту на проц кредиткой мазал... но, собрал все здорово, даже проводку строительными хомутами от греющихся деталей убрал)))
__________________
Человек остался человеком даже после конца света. Он все также готов был грызть глотки своим собратьям из-за абстрактных идей… метро 2033 Вас убило индикатором гранат ---- Call of Duty 2 перевод с палёной версии . ¯\_(ツ)_/¯ |
||
|
22.03.2016, 18:21 | #48 | ||
Пугатель
Регистрация: 26.06.2005
Адрес: Москва, СССР
Сообщений: 6,105
Репутация: 1085
|
кук, ну тогда возникает вопрос: ты пытаешься играть на минималках, и видеокарта не справляется? Или каким образом ты принимаешь решение об апгрейде?
Полагаю, тут разумной будет стратегия раз в 4 года покупать себе топовую видеокарту, потому как она служит достаточно долго (моя 580 GTX служила с 2010 года по 2015, и позволяла почти везде ставить максимальные настройки графики).
__________________
Хорошо смеется тот, кто стреляет первым! (танкистская мудрость) |
||
|
22.03.2016, 18:58 | #49 | ||
Игроман
Регистрация: 02.03.2008
Адрес: ууууууу, такой городишко
Сообщений: 2,013
Репутация: 434
|
[CCCP] Monster, ну, моя прошлая покупка была ошибкой - это была 750gtx. Толком радости она мне не принесла. Для меня на первом месте это родное разрешение все остальное не так важно - с переходом на новую карту получил кучу проблем.
Твоя идея о топовой карте мне нравится, но признаюсь честно - если необходимая сумма есть на руках, чисто на карту тратить не рискну, других расходов хватает... НО !! вспоминаю первый Фар край который идеально шел на слабой карте, но без красот джунглей и попугаев, почему сейчас так нельзя делать? Что, бы ровно, стабильно, но без красот? Того же Ведьмака 3 я на старой карте ровно и комфортно так и не смог запустить.
__________________
Человек остался человеком даже после конца света. Он все также готов был грызть глотки своим собратьям из-за абстрактных идей… метро 2033 Вас убило индикатором гранат ---- Call of Duty 2 перевод с палёной версии . ¯\_(ツ)_/¯ |
||
|
22.03.2016, 19:57 | #50 | ||
Пугатель
Регистрация: 26.06.2005
Адрес: Москва, СССР
Сообщений: 6,105
Репутация: 1085
|
кук, хм, технически, я думаю, откладывать 1000р ежемесячно на апгрейд - это не сложно. Однако потом, когда приходит время, трудно принять решение все эти 60к взять и потратить на память и видеокарту. Ну да, это в общем-то проблема.
Я полагаю, что в случае с недостаточно плавным фреймрейтом речь идет о так называемом статтеринге (stuttering - заикание/запинка) - ситуации, когда несколько секунд игра работает нормально, а потом будто спотыкается - время отрисовки одного из кадров оказывается аномально большим. Причин может быть много, причем не все из них устранимы, но можно попробовать ряд способов: 1. Самая частая причина тут - недостаток видеопамяти для хранения текстур, так что можно понизить их качество. 2. Поменять драйвера на какую-то другую версию. Создатели дров в основном ориентируются на текущую ситуацию в индустрии, чтобы игроки могли поиграть в новые тайтлы прямо сейчас, поэтому подкручивают настройки свежих дров так, чтобы они лучше всего работали с теми играми, что сейчас вышли или только собираются выйти. Понятно, что если игре уже пару лет, то настройки могут не совпадать. 3. Дальность отрисовки объектов. Этот параметр влияет на уровень детализации объектов в зависимости от расстояния и может снизить количество полигонов на экране и необходимость подгрузки сложной геометрии с жесткого диска, если речь идет об играх с открытым миром вроде ГТА, например. Если все просто тормозит, то нужно убирать эффекты, зависимые от разрешения экрана - это те самые HBAO/SSAO, постпроцессинг (всякий хитрый туман, лучи света от солнца и т.п.), MSAA/FSAA, фильтрацию.
__________________
Хорошо смеется тот, кто стреляет первым! (танкистская мудрость) |
||
|
22.03.2016, 20:35 | #51 | ||
нарута - эта крута!
Регистрация: 16.09.2009
Адрес: Арканар
Сообщений: 4,532
Репутация: 591
|
Цитата:
Потому, что нужно продавать железки.
__________________
Отняли статус, оставьте хоть подпись :с
|
||
|
22.03.2016, 21:04 | #52 | ||
Игроман
Регистрация: 02.03.2008
Адрес: ууууууу, такой городишко
Сообщений: 2,013
Репутация: 434
|
a1exios, не знаю как у вас принято, но кому нужно старое железо... кто понимает не купит не актуальное, не понимающие предпочитают новое, а не б.у.
Добавлено через 13 минут Цитата:
Буду рад если на примере какой то игры с большим количеством настроек расскажешь, что за, что отвечает - какие настройки зависят от видеокарты, какие от оперативной памяти, какие от цп. Я уверен это будет интересно не только мне- свое мнение и знание в этом конечно имею, но ты вижу в этом хорошо разбираешься, а полезный совет мне не повредит.
__________________
Человек остался человеком даже после конца света. Он все также готов был грызть глотки своим собратьям из-за абстрактных идей… метро 2033 Вас убило индикатором гранат ---- Call of Duty 2 перевод с палёной версии . ¯\_(ツ)_/¯ Последний раз редактировалось кук; 22.03.2016 в 21:17. Причина: Добавлено сообщение |
||
|
22.03.2016, 21:23 | #53 | ||
Пугатель
Регистрация: 26.06.2005
Адрес: Москва, СССР
Сообщений: 6,105
Репутация: 1085
|
a1exios, нет. Дальность отрисовки определяет расстояние, на котором ты будешь видеть нужный уровень детализации объектов. Почти все объекты обычно представлены несколькими моделями, от сложных и детальных, к очень простым (в самом простом варианте машинка может быть представлена просто параллелепипедом).
Это все называется level of detail, или LOD. Обычно разработчики записывают как можно больше вершин, представляющих каждую модель в игре, в один очень большой массив, потому что перестановка массивов съедает время. И потом, когда они хотят нарисовать на экране какой-то объект, они просто указывают место, где он находится в этом массиве. То есть нет разницы, на какой кусок массива ты укажешь: на тот, который представляет самую подробную модель с LOD0 или на тот, который представляет кубик с LOD5 например - это одинаково для процессора. А вот для видеокарты не одинаково, потому что во всех этих моделях разное число полигонов и им надо разное количество работы делать.
__________________
Хорошо смеется тот, кто стреляет первым! (танкистская мудрость) |
||
|
22.03.2016, 21:24 | #54 | ||
нарута - эта крута!
Регистрация: 16.09.2009
Адрес: Арканар
Сообщений: 4,532
Репутация: 591
|
Как этот рандомный набор слов относится к тому, что я написал?
__________________
Отняли статус, оставьте хоть подпись :с
|
||
|
22.03.2016, 21:27 | #55 | ||
Игроман
Регистрация: 02.03.2008
Адрес: ууууууу, такой городишко
Сообщений: 2,013
Репутация: 434
|
наверное так.
__________________
Человек остался человеком даже после конца света. Он все также готов был грызть глотки своим собратьям из-за абстрактных идей… метро 2033 Вас убило индикатором гранат ---- Call of Duty 2 перевод с палёной версии . ¯\_(ツ)_/¯ |
||
|
23.03.2016, 04:55 | #56 | ||
Надежда Редорана
Регистрация: 28.06.2009
Адрес: Н-ск
Сообщений: 2,069
Репутация: 469
|
А как же Draw Calls? Больше сущностей в кадре => больше Draw Calls => процессор или карта начинают захлёбываться очередью отрисовки.
__________________
"Познание даёт любовь" "Во тьме, свет особенно красив" Что-то нашли, что-то потеряли... |
||
|
23.03.2016, 12:37 | #57 | ||
Пугатель
Регистрация: 26.06.2005
Адрес: Москва, СССР
Сообщений: 6,105
Репутация: 1085
|
lYXl, это если программист глупый, и не знает, что такое инстансинг, и уж тем более, что такое indirect drawing.
Если же он все-таки знает, то в среднем может уложиться в 1000 вызовов на кадр (даже с gui и прочим хозяйством).
__________________
Хорошо смеется тот, кто стреляет первым! (танкистская мудрость) |
||
|
24.03.2016, 12:07 | #59 | ||
Dominator80lvl
Регистрация: 13.10.2009
Адрес: Айсберг Лаунж
Сообщений: 7,065
Репутация: 1473
|
афтар хорошо подкован в тех. плане, но а разного рода выводы о индустрии в целом довольно наивные. или мбыть это пропа и личный бложик?)
Цитата:
Цитата:
надеюсь объяснять не придется, хотя я и не собирался. чутка набросал, чтобы не скатываться в " я несогласен и точка". зы: честно, вот хочется качества и шлифовки того что есть, а не гонка за графоном. да и времени на идеи и интересные концепции при разработке соответственно будет больше. получается что прошлое поколение следовало бы еще продлить на пяток лет, раз такие криворукие макаки. человек(разраб) несправляется, а система ждать не может.
__________________
You're going down Последний раз редактировалось fastBrandon; 24.03.2016 в 12:18. |
||
|
26.03.2016, 13:49 | #60 | ||
Надежда Редорана
Регистрация: 28.06.2009
Адрес: Н-ск
Сообщений: 2,069
Репутация: 469
|
Цитата:
Всё бы хорошо, но как бы есть тени, тонны шейдеров, источников освещения, которые при deferred-подходе очень плохо дружат с прозрачными поверхностями и нужно комбинировать методы, что имеет свои издержки. Поэтому глупый или не очень, а без качественного планирования сцены в проработанных 3D проектах Draw Calls очень критичны, в той же серии ArmA это лютый бич, где шкалит за 10 000 в некоторых ракурсах, ну а в Crysis 1-2 непрочь перескочить за 4000. Так же это особенно критично на мобилках, которые вешаются уже от 300, а то и меньше. В итоге получаем, что основная война за производительность как раз разворачивается на вызовах отрисовки.
__________________
"Познание даёт любовь" "Во тьме, свет особенно красив" Что-то нашли, что-то потеряли... |
||
|
|