![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2011
Сообщений: 42
|
Не придумал, как понятнее назвать тему...
Делаю фотогалерею (Нужен FP 11). Попробуйте покрутить колесо мыши вниз. Только вниз и только по одному разу: еще не дописал метод с анимацией. Превьюшки внизу сдвигаются влево, а основная фотка заменяется на следующую. Проблема в том, что анимация превьюшек тормозит. А происходит это потому, что одновременно с этим заменяется основная фотка - для этого нужно заменить текстуру в Molehill, что занимает время. К скроллу мыши привязан метод с таким кодом: img.source = SHService.imagePaths[displayedIndex];//Грузит фотографию и заменяет текстуру ts.displayedIndex=displayedIndex;//Запускает анимацию превьюшек Я надеюсь, эти вещи делаются в разных потоках? Можно ли как-то управлять приоритетом? Короче говоря, мне надо, чтобы фото грузилось одновременно с анимацией, но анимация не тормозила :] Надеюсь на вашу помощь, у меня плохие познания флеша) Спасибо. |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 86
|
Помню и сам расстроился когда узнал что AS однопоточен =(
|
|
|||||
|
Регистрация: Feb 2011
Сообщений: 42
|
Я понимаю, что управляемый поток во флеше только один.
Но реально там ведь не может быть одного потока О_о Он ведь может грузить файл из интернета, продолжая выполнять метод, например. И анимация нескольких объектов разве может выпоняться при одном потоке? А как тогда работает мой код? Он же действительно производит анимацию одновременно с загрузкой фотографии. |
|
|||||
|
Регистрация: Feb 2011
Сообщений: 42
|
Это понятно, но не может происходить одновременно твин с загрузкой фотки в одном потоке.
|
|
|||||
|
Цитата:
Когда происходит dispatchEvent, событийный объект попадает в некоторую очередь в недрах плеера. Основной поток плеера проходит эту очередь и выполняет связанный с ней код. Равно как и не связанный. Строго по одному. - Что у нас там в задачах - ага, скопировать кусок памяти отсюда до сюда. ок, копируем - Что еще осталось? ага, покрутить прелоадер. Ну и твин заодно проапдейтим
__________________
...вселенская грусть |
|
|||||
|
Регистрация: Feb 2011
Сообщений: 42
|
Не понимаю...вот допустим, работает в коде некий цикл. И диспатчится какой-нибудь ENTER_FRAME.
Уже не понятно, кто будет производить dispatchEvent, если поток занят циклом. А потом этот поток прекратит выполнять цикл и покрутит прелоадер? Это похоже на некую "эмуляцию" многопоточности. Не буду просить лекций по этой теме Я нашел кое-какой материал, но сложновато для меня.Как тогда GC работает, тоже не понятно. Еще, скажем, во встроенной анимации во Flex можно задать свойство suspendBackgroundProcessing, чтобы анимация была более гладкой. И всё в одном потоке?.. Последний раз редактировалось Sharkow; 04.05.2011 в 22:52. |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 86
|
Цитата:
|
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Человек видимо не верит, что современный процессор настолько быстро работает, и что в одном потоке можно столько всего сделать.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 08:05. |
|
|
« Предыдущая тема | Следующая тема » |
|
|