Перейти к содержанию
Fire Monkey от А до Я
  • 0

Долгая загрузка формы


VladimirS

Вопрос

Подскажите, насколько сильно зависит время создания формы от количества контролов на ней?

Для меня это очень важно, потому что я для создания "резинового макета" и центровки позиций контролов использую много TLayout-ов с выравниванием.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

создаем простой FMX проект - в нем создаем эдак 300-500 TEdit. После просто запускаем - рамка окна появляется сразу (на этот момент все десериализовано и форма говова к отображению), внутри окна неприятные "остатки" чужой канвы.. проходит секунд 5-ть и внутреннее содержимое формы отображается.. вот это что за задержка? это применяются стили или рисуется в фоне канва?

как ускорить? ну или на худой конец отобразить внутреннее содержимое формы с рамкой единовременно?

так понимаю, что рамку отображает на WM_NCPaint, а WM_Paint обрабатывает гораздо позднее. кстати пауза всегда разная.

эксперимент практический не зависит от GlobalUseGPUCanvas:=true\false; и прочим из группы системных переменных в FMX.Types

аналогичный проект на VCL по скорости отображает в десятки-сотни раз шустрее! :)

Изменено пользователем trojanhost
Ссылка на комментарий
  • 0

простой проект не должен содержать 300-500 edit

вообще никакой проект не должен содержать столько компонентов

VCL на андроиде или IOS отображается гораздо хуже...

VCL просто просит Windows отобразить 500 окон. а ОС и называется - окна. ей не в лом. А если каждое окно будет обладать собственным поведением и стилями, как в FMX, то VCL тоже встанет на колени

Ссылка на комментарий
  • 0

в моем рабочем проекте формы аналогично данной: http://yugra-asu.ru/UserFiles/Image/nnp_hohr_npv/big_mnemo_cps.jpg

в проектах на Vcl все это летает (<300мсек открытие). причем данные мнемосхемы создавались своим редактором Vcl и имеют пользовательские макросы графического поведения.

в FMX подобная форма по скорости открытия - нежизнеспособна.

 

простой проект приводил для возможности воспроизведения ситуации и анализа.

Ссылка на комментарий
  • 0

думаю, нормально для такой схемы - это собственная отрисовка

FMX-компоненты не подходят именно из-за перегрузки стилями и разделения на слои абстракции. Они просто для другого заточены.

Тут прямая дорога просто отрисовывать свои компоненты. Имхо это совсем несложно. В этом случае FMX будет, наоборот, быстрее за счет использования DirectX

Ссылка на комментарий
  • 0

trojanhost как и сказали выше, fmx сам все рисует, без участия системы, в vcl все рисует винда, и стили и сами контролы. плюс fmx оптимизирован хреново. вернее оптимизирован под кросплатформенность а из-за этого куча лишних вызовов. я уперся в это когда грид делал на подобие vcl-кого. отрисовка одного полного экрана грида с надписями занимало полсекунды. при этом vcl летал. 

кстати вот сие немного придавало скорости программе, плюс вид сглаживания становился не такой убогий, если в dpr добавить в начало

  GlobalUseDX:=false;
  GlobalUseDXSoftware:=false;
  GlobalUseDirect2D:=false;
  GlobalUseDXInDX9Mode:=false;
  GlobalUseGPUCanvas:=False;
  GlobalUseGDIPlusClearType:= True;
 

Ссылка на комментарий
  • 0
В 24.05.2016 в 10:01, krapotkin сказал:

Тут прямая дорога просто отрисовывать свои компоненты. Имхо это совсем несложно. В этом случае FMX будет, наоборот, быстрее за счет использования DirectX

Вы имеете ввиду перехват Paint у собственного потомка TControl и рисование на канве?

в подобных мнемосхемах тоже нужны стили... :) стандарты в каждой нефтяной компании свои.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...