Мобильные платформыФорумОбщее

Кол-во полигонов в сцене на ARM устройствах

Страницы: 1 2 Следующая »
#0
22:27, 13 июня 2013

Всем доброе время суток!
Вопрос адресуется людям имеющим опыт реализации проектов под ARM устройства, интересует какое кол-во полигонов может отображать планшет/смартфон с приемлемой производительность(хотя бы 20-25 fps) на относительно новых процессорах и GPU. Интересует на сколько высокополигональной есть смысл создавать модели. По тем играм которые можно увидеть на данный момент могу лишь предположить, что порядка нескольких десятков тысяч, но я не профессионал в этом деле и мои догадки могут иметь погрешность в несколько порядков. У кого есть опыт отпишитесь пожалуйста или киньте линк где об этом можно почитать.

#1
23:42, 13 июня 2013

nofate83
На правах рекламы :) http://www.gamedev.ru/projects/forum/?id=175751
Это если устройство на руках есть.

#2
2:05, 14 июня 2013

Сам по себе полигонаж не особо грузит мобильные устройства. Важна общая оптимизация всего и вся.
Например, пара более-менее прожорливых шейдеров, которые PC даже не заметит, могут тебе намертво повесить планшет. То же самое с физикой, материалами, анимацией, текстурами, алгоритмами в коде (тот же pathfinding) и проч.
Больше полигонажа важны и так называемые draw calls. Гугл в помощь.

#3
9:56, 14 июня 2013

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

#4
9:57, 14 июня 2013

Хотя бы на 300-400 тысяч можно рассчитывать?

#5
12:00, 14 июня 2013

На втором айпаде запускаю статичную простую сцену состоящую из ландшафта (256x256, 130050 трианглов) + 300-400 кубов. Это 60 фпс. Простецкий шейдер дифуз, 5 аттрибут вершин(позиция, текстурные координаты, нормали, бинормали, тангенты). Без оптимизаций вывода геометрии. Т.е. на каждый куб идет подключение шейдера, передача своей матрицы.
При выводе 500 кубов уже начинает проседать фпс (40-50).
Но бывают моменты, когда запускаю эту же сцену, и фпс плавает в районе 30-40. Помогает перезапуск. От чего зависит, не пойму.
И да, это сугубо моя наколенная поделка. Имеет право на жизнь только для самого себя. Думаю при должной оптимизации вывода геометрии можно добиться гораздо лучшей оптимизации. И как сказал arte_de_mort, основной просест по времени это drawcall'ы.

#6
12:20, 14 июня 2013

nofate83
> Хотя бы на 300-400 тысяч можно рассчитывать?
Что ты собираешься делать с таким количеством полигонов? Даже если тебе удастся такое количество закинуть в сцену и получить хороший fps, на маленьком экране планшета не отличишь 400 тыс от 50-ти.
Более того, если ты изначально ориентируешься на такую тяжелую геометрию, может стоит налегать на нормал мапы? Я для планшета сейчас делаю скульпты по полтора миллиона полигонов и загоняю их в модель из 1500 полигонов, а выглядит она очень детальной.

#7
13:36, 14 июня 2013

Ну да, на экране 4-5" полигональность теряет свой смысл. Разве что на 10" удастся что-нибудь разглядеть. Буду работать. Спасибо за ответы

#8
12:24, 18 июня 2013

как показал опыт портируемых с PC на iOS проектов:
к примеру https://itunes.apple.com/us/app/sherlock-holmes-awakened-hd/id506126326?mt=8

Проблемы которые давали ботелнек:

Проблема: №1 - Альфатест(кустики, заборчики)  - на ipad 1 давал рваный swap dt ~ 10-30 ms
Решение: Сделали лоды с альфаблендингом отсортировали от центра индексы

Проблема: №2 - Альфабленд(кустики, заборчики)  - на ipad 1 давал рваный swap dt ~ 5-10 ms
Решение: Порезали листву тем самым уменьшив филрейт, другие объекты про моделили мешами.

Проблема: №3 Филрейт - shader complexity
Решение: Сделали шейдер-лоды которые аплаются на дальние объекты.

#9
13:20, 18 июня 2013

ReeV
> Проблема: №1 - Альфатест(кустики, заборчики)
Это проблема PVR'ов - при альфа тесте не работает HSR, а после альфа теста идет write-back в ISP, в следствии чего другие треугольники которые перекрывают данный пиксель не могут рисоваться и ждут апдейта буфера глубины. Альфа бленд работает быстрее потому, что геометрия отсортирована и можно никого не ждать.
На говенной тегре, к примеру, дискард не должен так бить по производительности

#10
15:27, 18 июня 2013

>>Это проблема PVR'ов - при альфа тесте не работает HSR, а после альфа теста идет write-back в ISP,
наверное имелось ввиду TSP-discard?

#11
20:38, 18 июня 2013

ReeV
> наверное имелось ввиду TSP-discard?
Ага. Результат TSP-discard записывается в ISP буферы

#12
21:04, 19 июня 2013

StiX
> Ага. Результат TSP-discard записывается в ISP буферы

Есть ссылочка на эти схемы ?

#13
19:20, 20 июня 2013

innuendo
POWERVR Series5 Graphics SGX architecture guide for developers

#14
23:15, 20 июня 2013

ReeV
> POWERVR Series5 Graphics SGX architecture guide for developers
Спасибо. Забавно, но выяснилось, что читал эти документы - видать не внимательно :)

Страницы: 1 2 Следующая »
Мобильные платформыФорумОбщее

Тема в архиве.