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

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

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

Регистрация: Feb 2011
Сообщений: 42
По умолчанию Быстрая установка текстуры в Molehill

Пытаюсь делать фотогалерею, используя Molehill.
Взял для этого движок ND2D - можно рендерить 2D-графику с использованием GPU.
Проблема в том, что хотя спрайты быстро анимируются, но сложнее становится установить для них текстуру.
Мне нужно менять текстуру спрайта каждый раз при перелистывании фото.

Что в итоге каждый раз происходит:
1) В объект Image грузится фото. Там идет scale, smooth, может дорисоваться рамка и т.д.
2) Создается новая BitmapData
imgSnapshot = new BitmapData(image.width, image.height, true, 0);
3)imgSnapshot.draw(image);
4) Создается новый спрайт в движке ND2D, и в нём создается текстура на основе этой BitmapData. Старый спрайт удаляется.

В итоге на перелистывание фотки уходит примерно пол секунды. Если их листать быстро, то компу становится жарко. Надо оптимизировать как-то.
Я почти уверен, что в основном беда в методе draw().
Но не знаю, как можно избавиться от этого. Мне в любом случае нужно делать scale изображения, и что-то в него дорисовывать.
Может у кого-нибудь какие-то идеи будут...
Спасибо.

Старый 02.05.2011, 16:11
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 2  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,282
ткну пальцем в небо: если все рисуется через GPU, то тормоза скорее всего из-за частой переброски растра из памяти в gpu. Парни из adobe об этом говорили в ролики про molehill.

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

Регистрация: Feb 2011
Сообщений: 42
Да, оказалось, что всё время уходит на само создание текстуры.
Получается, тут вообще от тормоза не избавиться?

Старый 02.05.2011, 19:36
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 4  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,282
рисовать с помощью cpu. Флэш при грамотной оптимизации вполне может выдать приемлемый fps.

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

Регистрация: Feb 2011
Сообщений: 42
2 месяца работы выкинуть не готов))
Лучше пусть будет лаг. Хотя грустно, конечно.
Спасибо за ответы.

Старый 03.05.2011, 14:23
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 6  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,282
попробуй еще поиграться с cacheAsBitmap и cacheAsBitmapMatrix у контейнера с текстурой. Последний как-раз для оптимизации отрисовки на gpu.

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

Регистрация: Feb 2011
Сообщений: 42
Я рисую текстуру уже из BitmapData.

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

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

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


 


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


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