Здравствуйте, c-smile, Вы писали:
A>>Не знаю когда это произошло, но behavior: splitter очень уж тормозным стал. CS>Попробуй для панелей поставить flow:vertical-list. Быстрее будет?
Да, скорость нормалзовалась.
Что такое vertical-list? Я знаю только про vertical и v-flow.
Это теперь так делать или ты как-то поправишь у себя?
Здравствуйте, 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 сбрасывается не завершаясь.
Т.е. не делается ненужная работа.
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, c-smile, Вы писали:
CS>>Надеюсь понятно смысл изложил.
A>Смысл-то понятен, только у меня тестовый код выглядит так A>Довольно мало, чтобы не успеть расчитаться синхронно, как мне кажется.
Да, это совсем ничего. Значит причина в чем-то еще.
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, c-smile, Вы писали:
CS>>Да, это совсем ничего. Значит причина в чем-то еще.
A>Ага, вот хорошо бы найти, а то как-то всё некомфортно стало работать.