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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.09.2012, 19:53
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 1  
Ответить с цитированием
AlexLucas
[+1 05.11.12]
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
По умолчанию Растягивание текст поля в котором очень много текста

Доброго времени суток ещё раз.
У меня задача оптимизировать процесс ресайза текстового поля в котором ну очень много текста (в 10 раз больше чем на этой странице к примеру).

Есть бегунок, который drag'аем и меняем размеры текст поля.
Есть идея чтобы просто создать маску, и ей менять размеры, а при stopDrag() один-единственный раз ресайзить текст поле. Но этот один раз тоже жрёт очень много, можно ли как-нибудь оптимизировать вывод текста в поле?
Может при скролле динамически подгружать текст, а при ресайзе подгружать достаточно текста чтобы хватило для максимального размера поля ?

Буду очень благодарен за любые подсказки.

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

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Попробуйте cacheAsBitmap
Или вот http://www.greensock.com/blitmask/

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

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Я думаю что для такого количества текста есть резон прилепить пейджер, чтобы можно было переключаться и постранично, и плавно прокручивать, динамически подгружая следующую/предыдущую страницу.

Примерно как это реализовано в Adobe Reader или Foxit Reader
__________________
adobe AS3 manual

Старый 18.09.2012, 23:18
zuxul вне форума Посмотреть профиль Отправить личное сообщение для zuxul Найти все сообщения от zuxul
  № 4  
Ответить с цитированием
zuxul

Регистрация: Dec 2009
Адрес: 59°13′N, 39°54′E
Сообщений: 445
Записей в блоге: 1
Совсем не уверен, но может быть как то его ускорит scrollRect ?

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

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
scrollRect в данном случае сработает как маска, и объект по прежнему будет занимать то же место в памяти, особенно если будет cacheAsBitmap
__________________
adobe AS3 manual

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

Регистрация: Dec 2009
Адрес: 59°13′N, 39°54′E
Сообщений: 445
Записей в блоге: 1
Еще можно попробовать выводить только то, что умещается на экране. Для этого нужно самому научиться разбивать текст так, как это делает флеш. Хотя это очень похоже на то, что предложил strangedk.

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

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
Цитата:
scrollRect в данном случае сработает как маска
не понял, поясните пожалуйста почему scrollRect в данном случае сработает как маска. Текст то за пределами scrollRecta рендериться не будет, и это в любом случае облегчит нагрузку на процессор.

Старый 19.09.2012, 12:40
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 8  
Ответить с цитированием
AlexLucas
[+1 05.11.12]
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
Цитата:
Сообщение от illuzor Посмотреть сообщение
Попробуйте cacheAsBitmap
Или вот http://www.greensock.com/blitmask/
Я так понял что это нужно лишь для скрола, и текст что под маской нельзя будет выделить, а при растягивании не будет прироста в производительности.


Цитата:
Сообщение от strangedk Посмотреть сообщение
Я думаю что для такого количества текста есть резон прилепить пейджер, чтобы можно было переключаться и постранично, и плавно прокручивать, динамически подгружая следующую/предыдущую страницу.

Примерно как это реализовано в Adobe Reader или Foxit Reader
Да, в принципе можно было бы создать какой-то буфер и добавлять текст по мере прокручивания / растягивания, но дело в том что текст в поле будет форматироваться, а значит при разделении на странице будут рваться хтмл теги?

Попробовал cacheAsBitmap + scrollRect = тормозить стало ещё сильнее


Последний раз редактировалось AlexLucas; 19.09.2012 в 13:07.
Старый 19.09.2012, 13:05
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Используя FTE как раз таки можно выводить текст по-строчно, кешировать строки и т.д. Можно было бы реализовать консоль, где есть какой-то буффер, видимое поле и файл.
Т.е. когда файл читается, происходит следующее: из файла загружается ровно столько, сколько нужно для того, чтобы заполнить буффер, из буффера рендерится только то, что нужно для того, чтобы заполнить видимое поле. Недостаток - скролл будет невменяемым / тяжело расчитать сколько вообще текста есть.
Таким образом работают большинство текстовых редакторов, Scintilla, Eclipse, Emacs и т.д. - никто сразу не пытается отрендерить весь текст (хотя многие пытаются загрузить весь...)
__________________
Hell is the possibility of sanity

Старый 19.09.2012, 13:21
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 10  
Ответить с цитированием
AlexLucas
[+1 05.11.12]
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
Следовательно каждый раз когда юзер печатает или удаляет текст, изменения вносятся в файл и обновляется буфер?
А если не создавать файл а просто в буфере ( переменной ) хранить весь текст, и из него вырезать страницы?
И FTE это текстовый редактор ?


Последний раз редактировалось AlexLucas; 19.09.2012 в 14:15.
Создать новую тему Ответ Часовой пояс GMT +4, время: 12:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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