Тема: Sigel
Показать сообщение отдельно
Старый 05.03.2009, 00:00   #473
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Sigel

Сообщение от MoKa Посмотреть сообщение
4. Альфа сортировка?
6. Слыхал ещё про сортировку стейтов - что очень мощно оптимизирует.
4. теперь есть. пока сделал сортировку раз в 100 кадров. + возможность отсортировать вручную (например при резком переносе камеры) SortAlphaEntites().

6. заюзал. дало ускорение от 20 до 50%. думаю в худшем случае (например очень легкая геометрия и очень тяжелый вершинный шейдер) сортировка с каши в упорядоченную систему может ускорить вывод в 2-3 раза. в среднем случае не думаю что даст больше 5-10 процентов перфомаранса.
На данный момент вручную - SortEntitesListByState() (наверное будет alias на эту функцию через какой нибудь менеджер конвеера). Что то не могу придумать как сделать по человечески автоматом. Каждый кадр - тупо. Стейты далеко не каждый кадр меняются. При изменении стейта ентити - тоже не катит. Возможны ситуации, когда в рантайме меняются стейты у многих объектов - будет тормозить. Раз в определенный промежуток времени - вариант кажется самым оптимальным, но... если стейты не меняются - то и сортировать ничего не надо. Делать ненужную сортировку, пусть и рпаз в 10 сек. например - меня жаба давит. Менять флаги в методах изменения стейтов - некрасиво. Да и опять же, жаба душит.

Последний раз редактировалось HolyDel, 06.03.2009 в 13:58.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (05.03.2009)