|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Аватарки пользователей на gpu
Вопрос такой, стоит ли делать отображение аватарок пользователей на gpu (Starling)? При промотке списка, для отображения аватарок их текстуры придётся постоянно грузить/выгружать из gpu, это не будет слишком тормозить? Предположительно, максимум одновременно могут грузиться/выгружаться окола 10-15 картинок 100x100.
__________________
Дети не должны знать о своих родителях |
|
|||||
.
|
Сборка нового атласа никоим образом не отменяет последующих уничтожения (dispose) старой текстуры и загрузки новой, на основе нового атласа. Накладные расходы на сборку атласа могут превысить профит от его использования против использования одиночных текстур. Профит от атласа достигается, в основном, от снижения количества draw calls, а так же от переключения видеокарточки на новую текстурку. Короче, не так страшны дро коллз, как fillrate. Если напрягает производительность списков с аватарками, то я бы порекомендовал взглянуть в сторону техники виртуальности, когда фактически на сцене присутствуют только видимые в данный момент рендереры при любом произвольном количестве элементов в data provider.
|
|
|||||
Что же, спасибо за советы.
caseyryan, Кеш текстур, разве что, какой-то временный делать. Если не выгружать не отображаемые аватарки, память быстро закончится. KBAC, Мысль интересная. Наверное, тут только на практике можно определить, при каких обстоятельствах такой способ будет лучше одиночных текстур. Возможно, при большом количестве операций выгрузки/загрузки аватарок за раз, использование общего атласа будет выгоднее. dimarik, Подобная система вывода только видимых элементов сейчас у меня уже используется, только для обычного рендера. К ней я пришёл, после нескольких трудоёмких переделывании списков друзей, топов и т.п. Без этого было никак, иначе загруженные, не выгружаемые аватарки дико отжирали память, а дисплей лист вис из-за большого количества детей. После всего этого геморроя, помню, как потратил выходные и несколько дней в придачу на реализацию такой системы. Но в отличие от gpu, на обычном рендере аватарка появляется мгновенно, сразу после загрузки из сети. А для gpu её ещё нужно загрузить в видеокарту, а это только в основном потоке. Этот то момент меня и беспокоит, не вызовет ли это подвисании и подтормаживании при промотках списков? Тут за раз может потребоваться загрузить не более 10-15 аватарок и примерно столько же выгрузить старых. (dispose)
__________________
Дети не должны знать о своих родителях |
|
|||||
.
|
Скорость загрузки в видеокарту из оперативной памяти достаточно высокая. Серьёзные лаги могут проявляться только из-за загрузки из вэба или из локальной файловой системы (меньше). Однако после того как битмапдата загружена в оперативку, лаг на загрузку в видеопамять вы практически не заметите. Скаутом можно посмотреть.
По поводу кэша текстур. Нет такого кэша вне видеопамяти. Любая текстура находится в видеопамяти. Не уверен, но можно попробовать не убивать текстуру, а загружать в уже существующую новую аватарку. Т.о. избавиться от dispose. |
Часовой пояс GMT +4, время: 20:07. |
|
« Предыдущая тема | Следующая тема » |
|
|