| behavior: splitter | |
| От: | adontz | ||
| Дата: | 31.10.09 09:02 |
| Не знаю когда это произошло, но behavior: splitter очень уж тормозным стал. A journey of a thousand miles must begin with a single step © Lau Tsu |
| Re: behavior: splitter | |
| От: | c-smile | ||
| Дата: | 01.11.09 04:37 |
| Здравствуйте, adontz, Вы писали: A>Не знаю когда это произошло, но behavior: splitter очень уж тормозным стал. Попробуй для панелей поставить flow:vertical-list. Быстрее будет? |
| Re[2]: behavior: splitter | |
| От: | adontz | ||
| Дата: | 01.11.09 04: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 | ||
| Дата: | 01.11.09 06: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 | ||
| Дата: | 01.11.09 06:05 |
| Здравствуйте, c-smile, Вы писали: CS>Надеюсь понятно смысл изложил. Смысл-то понятен, только у меня тестовый код выглядит так
Довольно мало, чтобы не успеть расчитаться синхронно, как мне кажется. A journey of a thousand miles must begin with a single step © Lau Tsu |
| Re[5]: behavior: splitter | |
| От: | c-smile | ||
| Дата: | 02.11.09 17:07 |
| Здравствуйте, adontz, Вы писали: A>Здравствуйте, c-smile, Вы писали: CS>>Надеюсь понятно смысл изложил. A>Смысл-то понятен, только у меня тестовый код выглядит так A>Довольно мало, чтобы не успеть расчитаться синхронно, как мне кажется. Да, это совсем ничего. Значит причина в чем-то еще. |
| Re[6]: behavior: splitter | |
| От: | adontz | ||
| Дата: | 03.11.09 02:45 |
| Здравствуйте, c-smile, Вы писали: CS>Да, это совсем ничего. Значит причина в чем-то еще. Ага, вот хорошо бы найти, а то как-то всё некомфортно стало работать. A journey of a thousand miles must begin with a single step © Lau Tsu |
| Re[7]: behavior: splitter | |
| От: | c-smile | ||
| Дата: | 03.11.09 05:15 |
| Здравствуйте, adontz, Вы писали: A>Здравствуйте, c-smile, Вы писали: CS>>Да, это совсем ничего. Значит причина в чем-то еще. A>Ага, вот хорошо бы найти, а то как-то всё некомфортно стало работать. http://terrainformatica.com/forums/topic.php?id=1109&page&replies=4 |