Показать сообщение отдельно
Старый 01.06.2012, 22:34   #23
radiobutton
Бывалый
 
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений
(для 546 пользователей)
Ответ: Вопросы по XNA.

Сообщение от pax Посмотреть сообщение
Во втором тесте у картинок есть прозрачность? Спрайт батч имеет еще параметры сортировки спрайтов, что используется по умолчанию?
Deferred: спрайты не отображаются до вызова SpriteBatch.End. Затем все вызовы направляются на графическое устройство в том порядке, в каком они были сделаны. В этом режиме многочисленные объекты SpriteBatch могут проводить вызовы Draw без конфликтов друг с другом. (Это режим по умолчанию.)

Immediate: метод Begin сразу же после вызова устанавливает настройки для графического устройства, а новые вызовы Draw сразу же выводят спрайты на экран. Но только один объект SpriteBatch может быть активен в данное время. Это самый быстрый режим
Лол. в Этом режиме в 2 раза меньше фпс чем в других. а то и еще меньше. Хз в каком месте он самый быстрый.)) На счет прозрачности, разные режимы вроде не сильно влияют на результат.

Но самый быстрый это:
sprites.Begin(SpriteSortMode.Deferred, BlendState.Additive);
Additive: прозрачное смешивание; добавляет цвета спрайта к цвету фона без использования прозрачности.
Попробуй с такой строчкой.
и так попробуй: BlendState.Opaque
Но этот медлеенее у меня чем Additive
Opaque: непрозрачное смешивание; цвет фона заменяется цветом спрайта.
зы: Пользуясь случаем. Где можно почитать подробно про шейдеры разных версий. Чем 2.0 отличаются от 3.0 и 4.0 итд. И по HLSL какой нить учебник, чтобы все подробно, а не вкратце.=0
(Offline)
 
Ответить с цитированием