Интервью с разработчиком - Алекс - Программист физики
" Уважаемый, вы, по всей видимости, не имеете опыта программирования, и уж тем более оптимизации кода. Если очень на пальцах, то смысл примерно такой - для решения некоей программной задачи можно придумать сотни различных путей, и все они будут эту самую задачу решать; Но тогда, из всех возможных решений необходимо выбрать такое, которое решает поставленную задачу максимально просто и быстро, наименьшим количеством. А в целях оптимизации код просчитывают на количество процессорных операций, проводимых для решения той или иной задачи. Банальный пример - порядок булевых функций, сначала должны идти те, вероятность соответствия которым минимальна, и лишь потом - самые общие, в таком случае количество проверочных операций будет намного ниже. Другой вариант - общие математические функции - библиотечные мат.функции языков высокого уровня универсальны, но невероятно громоздки, и какая-нибудь функция возведения в степень типа Math.Pow будет иметь в себе и ветвление, и циклы и кучу логических проверок, и она естественно куда жирнее выражения x^y. Так вот, дружок, оптимизация - это процесс переработки тяжеловесного оригинального кода на предмет более быстрых решений. Это в плане того, что касается математики, которая грузит машины. По поводу графики - уж тянуть хайрес текстуры сейчас могут и компы трехлетней давности, дело не в них; дело в количестве отдельных объектов, которые существуют в каждый момент времени. Партикловые анимации в их изначальном виде - замечательное средство для создания подвижных и даже красивых эффектов, по сути своей представляет из себя 3D модель не имеющую геометрии, в которой на определенных относительных координатах есть источники которые согласно определенной настройке "запускают" собственно партиклы, т.е точки в трехмерном пространстве для которых задан изначальный вектор движения (может быть как прямой вектор, так и "гравитационный"). Плюс есть картинка, которая привязанна к координатам, она может меняться (для этого её текстура представляет из себя коллаж её изменений). Так вот эти самые партикловые эффекты достаточно просты, но если ими злоупотребить - даже самые простые партиклы повесят даже самую мощную систему, потому что для каждого партикла происходит постоянный математический рассчет траектории его движения, плюс каждый эффект - это отдельный игровой объект, у которого есть свои координаты, он помещен внутрь игрового поля и так далее. И вот условно говоря эффекты кровавых фейрверков - это "отдельный" партикл (частица) на каждую каплю крови или все таки цельный эффект? От этого зависит нагрузка на систему. И это - вопрос оптимизации. Самое банальное что приходит в голову в качестве примера: Задача: что бы наш меч-гладенец святился как зубочистка Дарта Вейдера. Решение 1 (критически неверное): прицепим к гладенцу спамящийся партикловый эффект по его геометрической длинне (т.е все время будет происходить вычисление длины меча, и на нем, внутри игры, будут создаваться партикловые эффекты как отдельные объекты). Минусы: постоянная доп. нагрузка на вычисление границ для создания объектов, огромное количество объектов. Решение 2 (умеренное): создадим под меч-гладенец партикловый эффект и прицепим его к оружию. Эффект будет один и будет сразу подогнан по размерам, но у нас там спамятся сотни партиклов в секунду. Еще один минус - для каждого оружия нужен свой собственный партикловый эффект что бы не выходить за пределы геометрии. Решение 3 (оптимальное): добавить геометрию эффекту, добавить анимации текстур для эффекта, снизить количество партикловых эффектов до минимума. Выглядеть будет намного лучше, но технически делается сложнее, и занимает больше места на диске, однако это самый оптимальный с т.з расхода ресурсов способ. В общем я это все к чему - оптимизация не делается относительно какого-то конкретного технического средства, под которое подгоняется производительность. Более того, вопрос оптимизации совершенно не находится на балансе с красотой и функционалом, где на одной стороне была бы "скорость", а на другой такие не менее важные вещи как красота и функционал. Именно поэтому твоя аллегория про разные ключи и разные механизмы в корне неверна, потому, что ключ и замок тут одни, и вопрос исключительно в смазке замка, сложности и надежности его механизма и точности формы ключа. | |
" ну это же была шутка.... а вы зануда, епт) | |
Двойную Новогоднюю премию человеку который забанил господина vitamin-pinsk.
Как он умудряется под каждым постом разработчика страконить "всё г*вно дайти мине аптимизацию"? | |
Больше крутых эффектов и предметов,каеф.Fpshavemercypls люди жалуются на низкий фпс даже на 1070 1080,но разработчикам виднее,что и куда в первую очередь надо добавлять хихи.
Стримы: https://www.twitch.tv/gary_poetter
Гайды: https://youtube.com/@GaryPoE Дискорд: garypoe |
|
Лучше больше бы думали об оптимизации игры, а не о том как сделать ее красивой
| |
" хихихихихи ИХИХИХИХИХИИХИХИХИХИХХИ
PoE Blocklist - расширение хрома для форума |