Интервью с разработчиком - Алекс - Программист физики

"
dnoalt написал:

Проект ужасно оптимизирован для чего-то одного или для всего на свете? Если оптимизацией вы называете возможность одного ключа открывать все замки, то вы сказочник. К разным дверям нужны разные ключи - одни толстые со стержневой основой и требуют вращательного действия, другие толстые с четырехугольной основой со скругленными углами и требующие толкательное действие, есть тоненькие, которые работают как зажимы и тоже требуют вращения... Вроде бы всё ключи да замки, делают одно и то же, но почему-то внутри механизм другой. Оптимизируйте мой ключ, чтобы он мог открывать всё на свете. :)
Ничего подобного. В игре есть оптимизация, она прилична для одних машин с использованием DX11, для других с DX9. Оптимизация есть как для красных так и для зеленых видеокарточек. Другой вопрос, что нельзя сделать её идеальной сразу для всего и странно будет, если разработчики отдадут предпочтение одному или будут отдельно для каждого пользователя её делать. Игра это же не беспилотник с 1Мб памяти, софт для которого разрабатывается индивидуально, она будет оптимизирована на сколько это возможно. Даже "Сапёр" тормозит на каком-то железе и прекрасно работает на всём, что выше второго пентиума.


Уважаемый, вы, по всей видимости, не имеете опыта программирования, и уж тем более оптимизации кода. Если очень на пальцах, то смысл примерно такой - для решения некоей программной задачи можно придумать сотни различных путей, и все они будут эту самую задачу решать; Но тогда, из всех возможных решений необходимо выбрать такое, которое решает поставленную задачу максимально просто и быстро, наименьшим количеством. А в целях оптимизации код просчитывают на количество процессорных операций, проводимых для решения той или иной задачи. Банальный пример - порядок булевых функций, сначала должны идти те, вероятность соответствия которым минимальна, и лишь потом - самые общие, в таком случае количество проверочных операций будет намного ниже. Другой вариант - общие математические функции - библиотечные мат.функции языков высокого уровня универсальны, но невероятно громоздки, и какая-нибудь функция возведения в степень типа Math.Pow будет иметь в себе и ветвление, и циклы и кучу логических проверок, и она естественно куда жирнее выражения x^y. Так вот, дружок, оптимизация - это процесс переработки тяжеловесного оригинального кода на предмет более быстрых решений. Это в плане того, что касается математики, которая грузит машины.

По поводу графики - уж тянуть хайрес текстуры сейчас могут и компы трехлетней давности, дело не в них; дело в количестве отдельных объектов, которые существуют в каждый момент времени. Партикловые анимации в их изначальном виде - замечательное средство для создания подвижных и даже красивых эффектов, по сути своей представляет из себя 3D модель не имеющую геометрии, в которой на определенных относительных координатах есть источники которые согласно определенной настройке "запускают" собственно партиклы, т.е точки в трехмерном пространстве для которых задан изначальный вектор движения (может быть как прямой вектор, так и "гравитационный"). Плюс есть картинка, которая привязанна к координатам, она может меняться (для этого её текстура представляет из себя коллаж её изменений). Так вот эти самые партикловые эффекты достаточно просты, но если ими злоупотребить - даже самые простые партиклы повесят даже самую мощную систему, потому что для каждого партикла происходит постоянный математический рассчет траектории его движения, плюс каждый эффект - это отдельный игровой объект, у которого есть свои координаты, он помещен внутрь игрового поля и так далее. И вот условно говоря эффекты кровавых фейрверков - это "отдельный" партикл (частица) на каждую каплю крови или все таки цельный эффект? От этого зависит нагрузка на систему. И это - вопрос оптимизации. Самое банальное что приходит в голову в качестве примера:
Задача: что бы наш меч-гладенец святился как зубочистка Дарта Вейдера.
Решение 1 (критически неверное): прицепим к гладенцу спамящийся партикловый эффект по его геометрической длинне (т.е все время будет происходить вычисление длины меча, и на нем, внутри игры, будут создаваться партикловые эффекты как отдельные объекты). Минусы: постоянная доп. нагрузка на вычисление границ для создания объектов, огромное количество объектов.
Решение 2 (умеренное): создадим под меч-гладенец партикловый эффект и прицепим его к оружию. Эффект будет один и будет сразу подогнан по размерам, но у нас там спамятся сотни партиклов в секунду. Еще один минус - для каждого оружия нужен свой собственный партикловый эффект что бы не выходить за пределы геометрии.
Решение 3 (оптимальное): добавить геометрию эффекту, добавить анимации текстур для эффекта, снизить количество партикловых эффектов до минимума. Выглядеть будет намного лучше, но технически делается сложнее, и занимает больше места на диске, однако это самый оптимальный с т.з расхода ресурсов способ.

В общем я это все к чему - оптимизация не делается относительно какого-то конкретного технического средства, под которое подгоняется производительность. Более того, вопрос оптимизации совершенно не находится на балансе с красотой и функционалом, где на одной стороне была бы "скорость", а на другой такие не менее важные вещи как красота и функционал. Именно поэтому твоя аллегория про разные ключи и разные механизмы в корне неверна, потому, что ключ и замок тут одни, и вопрос исключительно в смазке замка, сложности и надежности его механизма и точности формы ключа.
"
MMM_Corp написал:

И уверен прямо на сервере они не тестят. Потому что 99% серверов в мире - это Unix. И под Wine мучить сервак явно никто не будет, это бред... там может бить серверная часть на какомто Node.JS, Tornado, Java или сапопале, СУБД напр. Postgres, + Zabix, центральный пункт управления и сервер мониторинга, + сервера отказоусточивости... не думайте что все прямо вертится на 1 сервере, это очень далеко от истины, принципы построения серверов везде одинаковы.


ну это же была шутка.... а вы зануда, епт)
Двойную Новогоднюю премию человеку который забанил господина vitamin-pinsk.
Как он умудряется под каждым постом разработчика страконить "всё г*вно дайти мине аптимизацию"?
Больше крутых эффектов и предметов,каеф.Fpshavemercypls люди жалуются на низкий фпс даже на 1070 1080,но разработчикам виднее,что и куда в первую очередь надо добавлять хихи.
Стримы: https://www.twitch.tv/gary_poetter
Гайды: https://youtube.com/@GaryPoE
Дискорд: garypoe
Лучше больше бы думали об оптимизации игры, а не о том как сделать ее красивой
"
harryhermy написал:
Больше крутых эффектов и предметов,каеф.Fpshavemercypls люди жалуются на низкий фпс даже на 1070 1080,но разработчикам виднее,что и куда в первую очередь надо добавлять хихи.


хихихихихи
ИХИХИХИХИХИИХИХИХИХИХХИ
PoE Blocklist - расширение хрома для форума

Пожаловаться на запись форума

Пожаловаться на учетную запись:

Тип жалобы

Дополнительная информация