Как стать автором
Обновить
22
0

Пользователь

Отправить сообщение

Это скорее я накосячил, а не ответ проставился ) Прошу прощения.

Но считайте, что я ответил "за себя и за того парня".

Хм. Интересно, в какую именно нашу игру Вы играли, если говорите про "монстриков" ) В Warface: GO нет никаких монстриков, там же "реализъм!". Монстрики есть в Left to Survive, но там и не используется таких оптимизаций, потому что не нужны, да. Там персонажи фиксированы в своей экипировке, моделька всегда едина.

А если все-таки речь про WarfaceL GO, то тут история такая. Не знаю, на чем именно Вы играли, но спектр устройств очень широкий. Особенно, когда речь заходит про Андроид. Нам приходится затачиваться под самые слабые и старые устройства, чтобы на них возможно было играть.

Далее, если рассуждать в ключе "обычно не много персонажей", есть шанс напороться на кучу негативных отзывов от игроков в тот момент, когда дизайнер решит сделать какую-нибудь мелкую арену, где вдруг станут видны все 8 персонажей. Или банально соберутся 8 человек по договоренности поиграть вместе и придут все в одну точку. Что в этот момент будет с игрой?

А еще есть такой нюанс, что любая лишняя нагрузка на CPU/GPU приводит к лишнему же потреблению энергии аккумулятора на мобильном устройстве и нагреву этого устройства. И лучше не выполнять какие-то расчеты per-frame, чем выполнять.

Ну и в целом, рассмотренный в статье подход - он про атласы, которые сами по себе не имеют отношения к производительности. Они имеют отношение к оперативной памяти и упихивании нужного контента в ее ограниченный объем. На старых устройствах мы еле-еле влезаем в лимиты, чтобы не быть прибитыми lmkd или jetsam.

Или это вообще про Pathfinder? )

Интересно, почему речь про gles 3.1? Я писал в статье про iphone 6 и даже 5s на старте, а там нет поддержки текстурных массивов. На Андроиде наверняка много устройств современных поддерживает 3.1, но мы целимся на 3.0. Более того, до прошлого года у нас еще и gles2 был в ходу.

Помимо этого у текстурных массивов есть как плюсы, так и минусы. Кесарю кесарево. Почему вдруг "они куда лучше" так вот безапелляционно? Они, к примеру, требуют одинаковых размеров исходных текстур. Если Вы посмотрите на атласы из статьи, то заметите, что там текстуры разного размера (перчатки, ботинки, даже одна голова есть). Приводить все к одному размеру - это будет сильно разная плотность пикселей на разных участках персонажа, будет слишком бросаться в глаза.

Если что, я даже сослался прям в тексте на статью Пиксоников про текстурные массивы - там можно почитать и про ограничения в том числе.

Виртуальные текстуры немного для другого, но, в целом, можно было бы, наверное, и на них сделать, да. Мне, правда, кажется, что тут совсем другой инструмент и для других целей. Как стрельба из пушки по воробьям.

Хочется отметить, что для реализации "настроек качества графики" можно просто пропускать несколько мипов и объединять не с нулевого, а с 1-2-3-etc.

А касаемо dxt компрессии - у вас все-таки ПК и консоли, а не мобилки. Ваши 25мс превращаются у нас в куда более значимые цифры на low-end'ах.

Покраска вставляет палки в колеса, да, но часто ее можно сделать в шейдере арифметикой или текстурной маской. С ней я тоже уже намучался в нескольких проектах.

А чтобы не делать медленный readback, я бы посоветовал перевести компрессию на compute, чтобы все ресурсы оставались на стороне GPU. Я где-то уже читал про DXT на GPU в рантайме (пример, пример2, но это просто беглый поиск, а не то, что я читал).

Нет, потому что наши целевые платформы полноценно не поддерживали копирование. Нам нужно было универсальное решение, которое работать будет везде, а у CopyTexture довольно много ограничений. Например, банально не поддерживается PVRTC, который нам был нужен.

И я сейчас могу ошибаться, но мне помнится, что в момент изучения этой функции в качестве альтернативы, меня гугл привел к мысли, что на мобильных платформах она в принципе не работает со сжатыми форматами.

Слово "наивный" тут используется в значении "простой".

Мы тривиально объединяли несколько мешей в один копированием содержимого и исправлением индексов и UV, да. Без каких-либо дополнительных хитростей.

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность