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

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

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

Регистрация: Oct 2008
Сообщений: 24
Question Оптимизация фотогалереи (как убить все тормоза?)

Столкнулся с такой проблемой: есть интерактивный сайт с кучей граффики, который должен содержать несколько встроенных фотогалерей. В одну подгружается около 50 изображений примерно по 65 Кб каждое. Если начинать их двигать программно под маской то галерея начинает жутко тупить. Код отдельно от сайта работает на ура. Может ли объём изображений повлиять на скорость выполнения операций с ним и как избавиться от тормозов?


Последний раз редактировалось yanmasharski; 23.07.2009 в 23:29.
Старый 24.07.2009, 01:19
JinRu вне форума Посмотреть профиль Отправить личное сообщение для JinRu Найти все сообщения от JinRu
  № 2  
Ответить с цитированием
JinRu

Регистрация: Jun 2009
Сообщений: 28
Что значит: "Код отдельно от сайта работает на ура."? Он в дебаг плеере на ура работает? Или без картинок? Или с меньшим количеством картинок?
Насчет тормозов: сделай объектный пул. Т.е. на экране вместо 50 картинок есть (предположим) 10 битмапов, при их прокрутке, достигнув края, первый и последний (или наоборот, в зависимости от направления) меняются местами и грузиться соответствующее изображение из массива.

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

Регистрация: Oct 2008
Сообщений: 24
Отдельно это если создать новый проект, в котором только эта галерея. С теми же 50 картинками. Про дебаг я промолчу)))

Пул написать на AS3 неосилю, но попробую. Спасибо за ответ.
Может ещё варианты есть какие?

Старый 24.07.2009, 07:28
WRC_S вне форума Посмотреть профиль Отправить личное сообщение для WRC_S Посетить домашнюю страницу WRC_S Найти все сообщения от WRC_S
  № 4  
Ответить с цитированием
WRC_S
[+6 23.11.09]
 
Аватар для WRC_S

Регистрация: Jun 2009
Адрес: Россия
Сообщений: 318
Отправить сообщение для WRC_S с помощью ICQ
у тебя получается что в одной флехи много галерей примерно по 50 графических объектов в каждой галереи и идут тормоза? а в отдельности галереи не тормазят да? Тормаза в чем заключаются?

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

Регистрация: Oct 2008
Сообщений: 24
Да, именно так.
У меня контейнер общий двигается вправо-влево взависимости от положения мыши. Это всё обрабатывается через setInterval. Когда галерея отдельно, то перемещение проходит плавно, когда включена в сайт, то рывками.
Сейчас буду пробовать отключать свойство visible если объект за краями маски, может поможет.

Добавлено через 29 часов 1 минуту
В итоге ковыряния нашёл что всё проблема возникает при перемещении контейнера с моими изображениями.
Пробовал отключать видимость тех объектов, что не под маской. Не помогло.
Попробовал "убивать" детей, что не под маской. Помогло.
До этого эффект выполнялся за 10 сек. Стал за 5,5сек.

Получилось так, что продублировал сетинтервал. Т.е. функция вызывалась в 2х интервалах каждые 10 милисекунд. Это увеличило скорость эффекта (2.5 сек). Решил исправить и убрал лишний интервал, но вместо 10 мс ввёл 5мс. Вернулось в предыдущие 5.5 сек.

Попробовал посмотреть время выполнения операции для эффекта через getTimer(). От 0 до 1 мс. Т.е. операция выполняется быстрее, чем её вызывают, значит наложения не происходит.

В чём может быть проблема? Или я туплю?

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

Регистрация: Jul 2009
Сообщений: 35
Попробуй хотя бы локализовать проблему.
Добавь или уменьшь количество картинок, может проблема не в этом.

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от yanmasharski Посмотреть сообщение
У меня контейнер общий двигается вправо-влево взависимости от положения мыши. Это всё обрабатывается через setInterval
Вы, батенька, не ищите легких путей! =) Замените setInterval на MouseEvent.MOUSE_MOVE.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Oct 2008
Сообщений: 24
Цитата:
Сообщение от dimarik Посмотреть сообщение
Вы, батенька, не ищите легких путей! =) Замените setInterval на MouseEvent.MOUSE_MOVE.
Сие событие не подходит мне) Т.к. Даже при недвижущейся мыши объекты должны двигаться.


Последний раз редактировалось yanmasharski; 26.07.2009 в 22:46.
Старый 27.07.2009, 11:42
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 9  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Timer еще есть. Зачем правильным пацанам setInterval!
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 27.07.2009, 13:25
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 10  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
Делай на Interval или лучше ENTER_FRAME, но критерием освобождения от листинга сделай скорость движения галереи. Если скорость становиться близка к 0 - убирай все обработчики, на MOUSE_MOVE - врубай их. Ну чтоб постоянно не висели.
__________________
Стой! Опасная зона! Работа мозга!

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

Теги
галерея , интерактив , фото
Опции темы
Опции просмотра

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

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


 


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


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