VladimirS Опубликовано 14 мая, 2015 Поделиться Опубликовано 14 мая, 2015 Подскажите, насколько сильно зависит время создания формы от количества контролов на ней? Для меня это очень важно, потому что я для создания "резинового макета" и центровки позиций контролов использую много TLayout-ов с выравниванием. Цитата Ссылка на комментарий
0 trojanhost Опубликовано 23 мая, 2016 Поделиться Опубликовано 23 мая, 2016 (изменено) создаем простой FMX проект - в нем создаем эдак 300-500 TEdit. После просто запускаем - рамка окна появляется сразу (на этот момент все десериализовано и форма говова к отображению), внутри окна неприятные "остатки" чужой канвы.. проходит секунд 5-ть и внутреннее содержимое формы отображается.. вот это что за задержка? это применяются стили или рисуется в фоне канва? как ускорить? ну или на худой конец отобразить внутреннее содержимое формы с рамкой единовременно? так понимаю, что рамку отображает на WM_NCPaint, а WM_Paint обрабатывает гораздо позднее. кстати пауза всегда разная. эксперимент практический не зависит от GlobalUseGPUCanvas:=true\false; и прочим из группы системных переменных в FMX.Types аналогичный проект на VCL по скорости отображает в десятки-сотни раз шустрее! Изменено 23 мая, 2016 пользователем trojanhost Цитата Ссылка на комментарий
0 krapotkin Опубликовано 23 мая, 2016 Поделиться Опубликовано 23 мая, 2016 простой проект не должен содержать 300-500 edit вообще никакой проект не должен содержать столько компонентов VCL на андроиде или IOS отображается гораздо хуже... VCL просто просит Windows отобразить 500 окон. а ОС и называется - окна. ей не в лом. А если каждое окно будет обладать собственным поведением и стилями, как в FMX, то VCL тоже встанет на колени Цитата Ссылка на комментарий
0 trojanhost Опубликовано 24 мая, 2016 Поделиться Опубликовано 24 мая, 2016 в моем рабочем проекте формы аналогично данной: http://yugra-asu.ru/UserFiles/Image/nnp_hohr_npv/big_mnemo_cps.jpg в проектах на Vcl все это летает (<300мсек открытие). причем данные мнемосхемы создавались своим редактором Vcl и имеют пользовательские макросы графического поведения. в FMX подобная форма по скорости открытия - нежизнеспособна. простой проект приводил для возможности воспроизведения ситуации и анализа. Цитата Ссылка на комментарий
0 krapotkin Опубликовано 24 мая, 2016 Поделиться Опубликовано 24 мая, 2016 думаю, нормально для такой схемы - это собственная отрисовка FMX-компоненты не подходят именно из-за перегрузки стилями и разделения на слои абстракции. Они просто для другого заточены. Тут прямая дорога просто отрисовывать свои компоненты. Имхо это совсем несложно. В этом случае FMX будет, наоборот, быстрее за счет использования DirectX masmat 1 Цитата Ссылка на комментарий
0 haword Опубликовано 24 мая, 2016 Поделиться Опубликовано 24 мая, 2016 trojanhost как и сказали выше, fmx сам все рисует, без участия системы, в vcl все рисует винда, и стили и сами контролы. плюс fmx оптимизирован хреново. вернее оптимизирован под кросплатформенность а из-за этого куча лишних вызовов. я уперся в это когда грид делал на подобие vcl-кого. отрисовка одного полного экрана грида с надписями занимало полсекунды. при этом vcl летал. кстати вот сие немного придавало скорости программе, плюс вид сглаживания становился не такой убогий, если в dpr добавить в начало GlobalUseDX:=false; GlobalUseDXSoftware:=false; GlobalUseDirect2D:=false; GlobalUseDXInDX9Mode:=false; GlobalUseGPUCanvas:=False; GlobalUseGDIPlusClearType:= True; Цитата Ссылка на комментарий
0 trojanhost Опубликовано 26 мая, 2016 Поделиться Опубликовано 26 мая, 2016 В 24.05.2016 в 10:01, krapotkin сказал: Тут прямая дорога просто отрисовывать свои компоненты. Имхо это совсем несложно. В этом случае FMX будет, наоборот, быстрее за счет использования DirectX Вы имеете ввиду перехват Paint у собственного потомка TControl и рисование на канве? в подобных мнемосхемах тоже нужны стили... стандарты в каждой нефтяной компании свои. Цитата Ссылка на комментарий
0 krapotkin Опубликовано 27 мая, 2016 Поделиться Опубликовано 27 мая, 2016 в данном случае стилем по факту будет являться процедура рисования объекта Цитата Ссылка на комментарий
Вопрос
VladimirS
Подскажите, насколько сильно зависит время создания формы от количества контролов на ней?
Для меня это очень важно, потому что я для создания "резинового макета" и центровки позиций контролов использую много TLayout-ов с выравниванием.
Ссылка на комментарий
32 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.