Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Оптимизация перелистывания страниц с контентом (a la Ceros) (http://www.flasher.ru/forum/showthread.php?t=196765)

AlexLucas 29.03.2013 15:52

Оптимизация перелистывания страниц с контентом (a la Ceros)
 
Доброго времени суток.
Мне интересно как подружаются / сохраняются страницы интерактивного журнала, например в системе Ceros.
Пример журнала http://i-zine.ru/

Они просто убираются со сцены и так и висят в памяти, или как-то сериализуются и сохраняются, а потом подгружаются при выборе нужной страницы ?
Если сериализуются - то как ?
Ладно бы статичные объекты, анимации как ?

А если так и висят в памяти, то получается если нарисовать страниц 200-300, всё будет тормозить и просматривать будет нереально.
Вполне возможно что тут нет разработчиков самого ceros, но может сможете подсказать примерно как это можно осуществить чтобы производительность была выше ?

caseyryan 29.03.2013 15:59

Скорее всего в памяти висят после загрузки. И процессор этот журнальчик грузит изрядно. Судя по тому как на ноуте сразу кулер раскрутился, трудновато ему пришлось )

КорДум 29.03.2013 16:28

Более того, Ceros принимает только развороты, скомпиленные под AVM1. Во всяком случае так было три года назад. Да, мы изрядно мучились, создавая оптимизированные более-менее страницы, когда ваяли эти журналы. Подложка под разворотами вообще была в PDF. И насколько я помню, в памяти ничего не оставалось, оно каждый раз просто выгружалось к чертям и создавалось заново. Развороты - это банальные SWF с определенной структурой. Спеку правда не помню уже, давно было...

AlexLucas 29.03.2013 17:37

Цитата:

оно каждый раз просто выгружалось к чертям и создавалось заново
То есть у них там каждая страница это мувик, который подгружается при выборе страницы ?
И после того как ушли со страницы - выгружается ?
А подложки - это статичные картинки той же страницы ?
Например когда мы переворачиваем страницу, картинка становится статичной - это и есть подложка ?

КорДум 29.03.2013 17:44

Цитата:

То есть у них там каждая страница это мувик, который подгружается при выборе страницы ?
Я же сказал выше, что развороты - это SWF с определенной структурой, чтобы церос принял страницу и отобразил.

Цитата:

И после того как ушли со страницы - выгружается ?
Насколько помню, да, лоадер выгружал.

Цитата:

А подложки - это статичные картинки той же страницы ?
Да. Сверху церос прелоадер накладывал, пока страница грузится

Цитата:

Например когда мы переворачиваем страницу, анимация исчезает и остаётся именно подложка ?
А я не помню уже. Если визуально все сбрасывается в дефолтное состояние, то страница скрывается, заменяется подложкой.

Однако, я бы не советовал брать в качестве хорошего эту систему. Она крайне неоптимизированная, если ее качество осталось на том же уровне. Раньше и уголок странички скакал туда-сюда.
Кроме того, странички не имели никакого интерфейса взаимодействия системы со страничкой. Но были методы цероса, которые мы (я тут могу соврать) вызывали у _root. Напоминаю, церос тогда работал с AVM1 и был написан для нее же.

AlexLucas 29.03.2013 17:49

Спасибо.
А разве это плохо что они выгружали страницы ?
Лучше чтобы они в памяти оставались ?

КорДум 29.03.2013 17:50

А где я сказал, что именно это плохо?

AlexLucas 29.03.2013 17:51

Значит неправильно понял вас :)

КорДум 29.03.2013 17:53

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

Добавлено через 3 минуты
Но сам алгоритм довольно прост:
1. есть некая админка, в которой можем добавлять новые странички - SWF
2. на выходе отдает XML-конфиг (или обычный HTTP запрос к серверу, а тот вернет JSON - тут можно понапридумывать много чего)
3. сами SWF имеют некую определенную спецификацию, метод dispose какой-то, методы show, hide, что-то еще - словом, какой-то интерфейс для работы системы со страничками
4. и собственно, саму оболочку, которая загрузит все странички по конфигу и отобразит.

Alex Lexcuk 30.03.2013 22:19

Цитата:

Оптимизация перелистывания страниц с контентом.
При перелистывании желательно всё же загрузить следующую страницу, что-бы она была видна при перетаскивании за уголок. пробовал вставлять видеофайлы,
http://swf-flash.blogspot.com/2013/0...lus-video.html
но так-как приходится при перелистывании резать разворот на две части, а это кеширование в битмап и чревато потерями CPU, от этого тормоза, которые очень плохо оптимизируются.
Вариант получше делать не развороты, а именно страницы, так отпадёт надобность в кешировании в битмап, можно просто ограничится ротациями и масками и производительность улучшится, как здесь
http://silin.su/#AS3/gadgets/book/bin
Выгружать страницы надо, памяти может не хватить.


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

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