behavior: splitter
От: adontz Грузия http://adontz.wordpress.com/
Дата: 31.10.09 10:02
Оценка:
Не знаю когда это произошло, но behavior: splitter очень уж тормозным стал.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: behavior: splitter
От: c-smile Канада http://terrainformatica.com
Дата: 01.11.09 05:37
Оценка:
Здравствуйте, adontz, Вы писали:

A>Не знаю когда это произошло, но behavior: splitter очень уж тормозным стал.


Попробуй для панелей поставить flow:vertical-list. Быстрее будет?
Re[2]: behavior: splitter
От: adontz Грузия http://adontz.wordpress.com/
Дата: 01.11.09 05:55
Оценка:
Здравствуйте, c-smile, Вы писали:

A>>Не знаю когда это произошло, но behavior: splitter очень уж тормозным стал.

CS>Попробуй для панелей поставить flow:vertical-list. Быстрее будет?

Да, скорость нормалзовалась.
Что такое vertical-list? Я знаю только про vertical и v-flow.
Это теперь так делать или ты как-то поправишь у себя?
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[3]: behavior: splitter
От: c-smile Канада http://terrainformatica.com
Дата: 01.11.09 07:00
Оценка:
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, c-smile, Вы писали:


A>>>Не знаю когда это произошло, но behavior: splitter очень уж тормозным стал.

CS>>Попробуй для панелей поставить flow:vertical-list. Быстрее будет?

A>Да, скорость нормалзовалась.

A>Что такое vertical-list? Я знаю только про vertical и v-flow.
A>Это теперь так делать или ты как-то поправишь у себя?

flow:vertical-list это в экспериментальный layout manager смысл которого в delayed layout.
Т.е. когда ты двигаешь панели размер элементов (панелей в данном случае) устанавливается
сразу но их вычисление layout из content направляется в очередь.
Т.е. последовательные MOUSE_MOVE на splitter не вызывают полного пересчета на каждом событии.

Это работает хорошо в случаях типа splitter. Но есть одна проблема: layout процесс становится асинхронным.
Например scroll_to_view() внутри таких панелей можно делать только по получению UI_STATE_CHANGED события.
UI_STATE_CHANGED посылается по завершению такого асинхронного layout.

Вместо flow:vertical-list я планирую сделать отдельный CSS атрибут типа flow-mode: default | delayed.
Тогда этот режим можно использовать со всеми LM.

Можно считать что вычисления layout для flow-mode: delayed выполняются в отдельном fiber и если в процессе
вычисления пришел запрос на новые размеры (splitter сместился) то состояние fiber сбрасывается не завершаясь.
Т.е. не делается ненужная работа.

Надеюсь понятно смысл изложил.
Re[4]: behavior: splitter
От: adontz Грузия http://adontz.wordpress.com/
Дата: 01.11.09 07:05
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Надеюсь понятно смысл изложил.


Смысл-то понятен, только у меня тестовый код выглядит так
<div .vcontainer>
    <div style="background-color: pink;">

Fyoxycut nez ocaman qieajomyh b uonohame melawe fex lyvaloti.
Zerif zyu omevi, surufeyto myhuvi qideloq moqy we urik lebywo vuragugai buqedeew voigas jaolis jonymueyr la iu cim saowubar.
Ifewu cayz ei.
Laudaw qahu sim eci gyto q diepewu jybulo ficixanoc zueadi huzou - q apylaf amota zyb xoud?
Fuqyriria ryxyalec anegaohon v.

    </div>
    <hr .hsplitter />
    <div .hcontainer>
        <div style="background-color: lightgreen;">

Bygyzauv - ydawiqa muxihimu.
Basywia dul fuxaod juoelotya ropaf cucap muma zyvetawah hiiqeqe, jy nubegini tofyy l - ymomafo ax lexyd.
Vetada sycehoge o zom tyu qigoywyj feroq qanob p.
Lo bomutihu suy p buutulyr - sugycih te jisy l ocysovy hu coig.
Ytehom pa huymol so pe heova xe - wokahelo aykilir afyti vix sicugoz nafau qinovaj - yojil yycuuj co tywyb akitomu.

        </div>
        <hr .vsplitter />
        <div style="background-color: lightblue;">

Rynofyif bigekym bove ducuesy wituxe - woxybyr, vyqu duo, xuniryny sejy sozutisen.
Oxeu kaw vejage nof de ajynilov oikya gyadoexiw evuk ciraq pusaxej mamyb ysyviqi qu jymu.
Aqoruces kyrozu qunilyfau vy f?
Kyzif xehoivanu gi ceruhiaqa recoqose qu doka, ciacaxyy eko b.
Sihoduzir olobea pez qelofaeug, qiec.
Efeqabat uutosad qi pazoluae gamok hovyli vorur roki iza guxuwau je.

        </div>
    </div>
</div>

Довольно мало, чтобы не успеть расчитаться синхронно, как мне кажется.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[5]: behavior: splitter
От: c-smile Канада http://terrainformatica.com
Дата: 02.11.09 18:07
Оценка:
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, c-smile, Вы писали:


CS>>Надеюсь понятно смысл изложил.


A>Смысл-то понятен, только у меня тестовый код выглядит так

A>Довольно мало, чтобы не успеть расчитаться синхронно, как мне кажется.

Да, это совсем ничего. Значит причина в чем-то еще.
Re[6]: behavior: splitter
От: adontz Грузия http://adontz.wordpress.com/
Дата: 03.11.09 03:45
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Да, это совсем ничего. Значит причина в чем-то еще.


Ага, вот хорошо бы найти, а то как-то всё некомфортно стало работать.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[7]: behavior: splitter
От: c-smile Канада http://terrainformatica.com
Дата: 03.11.09 06:15
Оценка:
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, c-smile, Вы писали:


CS>>Да, это совсем ничего. Значит причина в чем-то еще.


A>Ага, вот хорошо бы найти, а то как-то всё некомфортно стало работать.


http://terrainformatica.com/forums/topic.php?id=1109&amp;page&amp;replies=4
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.