Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850
#1

Привязка текстур и SpriteBatch - Android

21.02.2016, 13:00. Просмотров 158. Ответов 2
Метки нет (Все метки)

Читал в хелпе по LibGDX, что дергается видеокарта всякий раз, когда привязывается текстура. И что типа если использовать TextureRegion, то дергаться не будет так часто. Вопрос у меня вот в чем:когда именно возникает это подергивание? В методе render() при отрисовке? И если так, почему использование региона текстур помогает нам сократить привязки текстур? Мы же по сути также рисуем текстуры, просто берем часть текстуры и вырезаем ее из атласа. Почему меньше-то подергиваний будет? Или подергивание возникает не по этому? Вот как написано в руководстве:
Также в SpriteBatch есть публичное поле renderCalls. Оно указывает, сколько раз
SpriteBatch "дергал" видеокарту между вызовами begin() и end(). Каждое такое
"подергивание" случается, когда привязывается(binding) новая текстура или достигнуто
максимальное количество спрайтов в кэше (размер мы указываем в конструкторе). Если размер кэша указан близкий к оптимальному, а renderCalls велико
(больше, чем где-то 15-20), это значит, что у вас слишком большое количество текстур.
Пакуйте ваши картинки в атласы текстур.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2016, 13:00     Привязка текстур и SpriteBatch
Посмотрите здесь:

XNA SpriteBatch.End ошибка при вызове
Привязка приложения к Wi-Fi сети Android
XNA Если рисовать спрайты через SpriteBatch, то текстура многоугольников становится битой
Android Как можно ускорить рендер больших текстур?
Параметр Depth в SpriteBatch.Draw и матрица преобразований XNA
Привязка веб интерфейса Android
Android Привязка кнопки к компоненту ExpandableListView
Android Привязка OnGestureListener к ListView
Привязка класса к ArrayAdapter Android
Android Привязка маркера к камере в google maps
Android Как происходит привязка мобильного приложения с сервером?
Привязка времени к стрелочным часам canvas Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850
22.02.2016, 17:54  [ТС]     Привязка текстур и SpriteBatch #2
Если быть точным, про упаковку текстур в атлас говорит автор урока Виталий Непочатов, а на сайте про это не написано.
Я думаю, что так как SpriteBatch все равно пакует текстуры и посылает их в графический процессор, то не важно, из атласа их берешь или просто как отдельные.
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 850
23.02.2016, 23:58  [ТС]     Привязка текстур и SpriteBatch #3
Вот что рассказал один человек:
Ситуация 1 - две текстуры из двух разных файлов:
Две текстуры находятся в разных областях памяти и для отрисовки каждой нужен свой dc - в сумме две.

Ситуация 2 - один текстурный атлас с десятком регионов
Из атласа создаётся десяток текстур. Но они, по сути представляют собой одну текстуру, которую можно отрисовать одним махом (один dc).
Это для программиста каждая текстура представляет собой отдельную сущность. А для gpu - нет. Он просто отрисовывает все текстуры из одного атласа за один заход.
Yandex
Объявления
23.02.2016, 23:58     Привязка текстур и SpriteBatch
Ответ Создать тему
Опции темы

Текущее время: 09:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru