![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Доброго времени суток ещё раз.
У меня задача оптимизировать процесс ресайза текстового поля в котором ну очень много текста (в 10 раз больше чем на этой странице к примеру). Есть бегунок, который drag'аем и меняем размеры текст поля. Есть идея чтобы просто создать маску, и ей менять размеры, а при stopDrag() один-единственный раз ресайзить текст поле. Но этот один раз тоже жрёт очень много, можно ли как-нибудь оптимизировать вывод текста в поле? Может при скролле динамически подгружать текст, а при ресайзе подгружать достаточно текста чтобы хватило для максимального размера поля ? Буду очень благодарен за любые подсказки. |
|
|||||
|
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
Попробуйте cacheAsBitmap
Или вот http://www.greensock.com/blitmask/ |
|
|||||
|
Я думаю что для такого количества текста есть резон прилепить пейджер, чтобы можно было переключаться и постранично, и плавно прокручивать, динамически подгружая следующую/предыдущую страницу.
Примерно как это реализовано в Adobe Reader или Foxit Reader
__________________
adobe AS3 manual |
|
|||||
|
scrollRect в данном случае сработает как маска, и объект по прежнему будет занимать то же место в памяти, особенно если будет cacheAsBitmap
__________________
adobe AS3 manual |
|
|||||
|
Цитата:
|
|
|||||
|
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Цитата:
Цитата:
Попробовал cacheAsBitmap + scrollRect = тормозить стало ещё сильнее Последний раз редактировалось AlexLucas; 19.09.2012 в 13:07. |
|
|||||
|
Modus ponens
|
Используя FTE как раз таки можно выводить текст по-строчно, кешировать строки и т.д. Можно было бы реализовать консоль, где есть какой-то буффер, видимое поле и файл.
Т.е. когда файл читается, происходит следующее: из файла загружается ровно столько, сколько нужно для того, чтобы заполнить буффер, из буффера рендерится только то, что нужно для того, чтобы заполнить видимое поле. Недостаток - скролл будет невменяемым / тяжело расчитать сколько вообще текста есть. Таким образом работают большинство текстовых редакторов, Scintilla, Eclipse, Emacs и т.д. - никто сразу не пытается отрендерить весь текст (хотя многие пытаются загрузить весь...)
__________________
Hell is the possibility of sanity |
|
|||||
|
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Следовательно каждый раз когда юзер печатает или удаляет текст, изменения вносятся в файл и обновляется буфер?
А если не создавать файл а просто в буфере ( переменной ) хранить весь текст, и из него вырезать страницы? И FTE это текстовый редактор ? Последний раз редактировалось AlexLucas; 19.09.2012 в 14:15. |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|