Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.05.2015, 17:29
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 1  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
По умолчанию Аватарки пользователей на gpu

Вопрос такой, стоит ли делать отображение аватарок пользователей на gpu (Starling)? При промотке списка, для отображения аватарок их текстуры придётся постоянно грузить/выгружать из gpu, это не будет слишком тормозить? Предположительно, максимум одновременно могут грузиться/выгружаться окола 10-15 картинок 100x100.
__________________
Дети не должны знать о своих родителях

Старый 06.05.2015, 17:48
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 2  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Если у тебя вся игра на GPU, то глупо будет делать аватарки на простом флеше. Делай кэш текстур просто

Старый 06.05.2015, 20:23
KBAC вне форума Посмотреть профиль Отправить личное сообщение для KBAC Найти все сообщения от KBAC
  № 3  
Ответить с цитированием
KBAC
 
Аватар для KBAC

Регистрация: Jan 2006
Адрес: Москва (Нижний Новгород)
Сообщений: 229
Записей в блоге: 1
Отправить сообщение для KBAC с помощью Skype™
А можно собирать атлас из подгружаемых картинок и обновлять одну текстуру.
__________________
Будь проще.

Старый 06.05.2015, 21:30
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 4  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Сборка нового атласа никоим образом не отменяет последующих уничтожения (dispose) старой текстуры и загрузки новой, на основе нового атласа. Накладные расходы на сборку атласа могут превысить профит от его использования против использования одиночных текстур. Профит от атласа достигается, в основном, от снижения количества draw calls, а так же от переключения видеокарточки на новую текстурку. Короче, не так страшны дро коллз, как fillrate. Если напрягает производительность списков с аватарками, то я бы порекомендовал взглянуть в сторону техники виртуальности, когда фактически на сцене присутствуют только видимые в данный момент рендереры при любом произвольном количестве элементов в data provider.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 07.05.2015, 00:31
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 5  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Что же, спасибо за советы.

caseyryan,
Кеш текстур, разве что, какой-то временный делать. Если не выгружать не отображаемые аватарки, память быстро закончится.

KBAC,
Мысль интересная. Наверное, тут только на практике можно определить, при каких обстоятельствах такой способ будет лучше одиночных текстур. Возможно, при большом количестве операций выгрузки/загрузки аватарок за раз, использование общего атласа будет выгоднее.

dimarik,
Подобная система вывода только видимых элементов сейчас у меня уже используется, только для обычного рендера. К ней я пришёл, после нескольких трудоёмких переделывании списков друзей, топов и т.п. Без этого было никак, иначе загруженные, не выгружаемые аватарки дико отжирали память, а дисплей лист вис из-за большого количества детей. После всего этого геморроя, помню, как потратил выходные и несколько дней в придачу на реализацию такой системы.

Но в отличие от gpu, на обычном рендере аватарка появляется мгновенно, сразу после загрузки из сети. А для gpu её ещё нужно загрузить в видеокарту, а это только в основном потоке. Этот то момент меня и беспокоит, не вызовет ли это подвисании и подтормаживании при промотках списков? Тут за раз может потребоваться загрузить не более 10-15 аватарок и примерно столько же выгрузить старых. (dispose)
__________________
Дети не должны знать о своих родителях

Старый 07.05.2015, 01:38
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 6  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Скорость загрузки в видеокарту из оперативной памяти достаточно высокая. Серьёзные лаги могут проявляться только из-за загрузки из вэба или из локальной файловой системы (меньше). Однако после того как битмапдата загружена в оперативку, лаг на загрузку в видеопамять вы практически не заметите. Скаутом можно посмотреть.


По поводу кэша текстур. Нет такого кэша вне видеопамяти. Любая текстура находится в видеопамяти.

Не уверен, но можно попробовать не убивать текстуру, а загружать в уже существующую новую аватарку. Т.о. избавиться от dispose.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 07.05.2015, 09:09
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 7  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Если не выгружать не отображаемые аватарки, память быстро закончится.
Так а ты не грузи ненужные аватарки. Грузи только по требованию. Вряд ли их там будет столько, что закончится память

Старый 07.05.2015, 09:14
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 8  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Всем большое спасибо за советы, я получил ответы на свой вопрос.
__________________
Дети не должны знать о своих родителях

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.