forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Эффекты/Шейдеры (http://forum.boolean.name/forumdisplay.php?f=170)
-   -   Шейдеры и оптимизация (http://forum.boolean.name/showthread.php?t=19443)

Лit}{Ъ 27.09.2014 18:43

Шейдеры и оптимизация
 
Доброго времени суток, булчане. Мы с товарищами начинаем довольно таки амбициозный проект на юньке, и мне яро захотелось "подложить соломки" =). Помню я, был один любительский проект на юнити, слендер с крутой графикой, который лагал на минималках даже на мощном железе.
Посему я решил заранее озаботиться вопросами оптимизации. Тем более у игры лишь формируется графический стиль и его ещё можно упростить в угоду быстродействию.
1)Поделитесь знаниями и опытом как не терять через чур производительность на шейдерах? Не желательные виды шейдера, требования к bump и им подобным картам.
2)Через граф дизайнера с художественных форумов пришёл слушок, что, дескать лучше наклепать материалы в 3ds max, а юньку не грузить шейдерами, иначе загнётся по производительности. Так ли это? (мне, если честно, казалось что материалы это просто набор ресурсов для шейдера, потому я не понимаю этого метода оптимизации)
3)Мы подумывали сместить стиль в сторону CartoonShaider, и соответственно не особо детализировать модели. Но не являются ли сильные шейдеры в духе Cartoon (с глобальными а не косметическими изменениями) сильно жрущими?
4)Подскажите примеры CartoonShaider для юньки? Может кто знает не сильно лагающие или просто особо приятные. В аттаче пример близкий и идеалу =)
Заранее благодарен!

Mr_F_ 27.09.2014 19:24

Ответ: Шейдеры и оптимизация
 
Цитата:

)Поделитесь знаниями и опытом как не терять через чур производительность на шейдерах?
ну тут дохрена советов можно дать.
самое основное, что первое вспомнилось:
- выборки текстур значительно медленее арифметики.
- современные GPU скалярные, векторизация аля SSE не даст профита.
- следует избегать деления и квадратного корня по возможности (distance, normalize содержат корень).
- выборки с неизменёнными в PS текскоордами дешевле, чем с изменёнными (dependent read).

Цитата:

лучше наклепать материалы в 3ds max, а юньку не грузить шейдерами, иначе загнётся по производительности.
wtf?!

Цитата:

материалы это просто набор ресурсов для шейдера
в юнити (и много где) материал это указание шейдера и параметров к нему + стейтов рендера (в юнити стейты записываются внутри шейдера тоже)

Цитата:

сильно жрущими?
по разному можно реализовать, но все известные мне реализации дешёвые
вспоминается 2 варианта:
- тупо рендеришь второй раз объект чуть расширенный по нормали, чёрного цвета и с флипанутыми фейсами (так ещё в блице развлекались).
- едж детект постпроцесс на основе экранной глубины

Лit}{Ъ 27.09.2014 20:07

Ответ: Шейдеры и оптимизация
 
Спасибо огромное за советы ). Постараюсь следовать


Часовой пояс GMT +4, время: 02:58.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot