Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: D10.2 slow forms



Permlink Replies: 15 - Last Post: Aug 28, 2017 6:49 AM Last Post By: Officinall Marc...
Officinall Marc...

Posts: 13
Registered: 9/20/03
D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 23, 2017 7:43 AM
hi,
i've migrated a D7 to D10.2
and opening a preferences screen (a lot of tabs with a lot of components) takes the D7 exe 1.5 sec and the D10.2 exe 2.2 sec
that's roughly 50% slower
the D7 was measured on a low spec vm and D10 on high spec vm
this behaviour is to be seen throughout the application, the GUI is painfully slower than the good old D7 version

does anyone has any idea why i have this behaviour or is D10.2 just way slower when it comes to gui/forms?

tia,
Marc
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 23, 2017 1:42 PM   in response to: Officinall Marc... in response to: Officinall Marc...
Officinall Marc Antheunis wrote:

opening a preferences screen (a lot of tabs with a lot of components)

Define "a lot". And why are you using "a lot" to begin with?

does anyone has any idea why i have this behaviour or is D10.2 just
way slower when it comes to gui/forms?

The VCL is doing a lot more work in modern versions than it did in
legacy versions. More memory being used (Unicode, etc), Generics, etc.
Just the nature of evolution. Consider breaking up your UI into
smaller pieces. Or at least move the tab content to individual TFrame
objects that you can create/free on an as-needed basis as they are
shown and hidden.

--
Remy Lebeau (TeamB)
Officinall Marc...

Posts: 13
Registered: 9/20/03
Re: D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 24, 2017 5:58 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Remy,
with all due respect...

Define "a lot". And why are you using "a lot" to begin with?

why not? it is not an area that gets touched a lot, the contrary... i was just using this as an example cause there is a signific difference in speed

The VCL is doing a lot more work in modern versions than it did in
legacy versions. More memory being used (Unicode, etc), Generics, etc.
Just the nature of evolution. Consider breaking up your UI into
smaller pieces. Or at least move the tab content to individual TFrame
objects that you can create/free on an as-needed basis as they are
shown and hidden.

ok, i'll have a story to tell if i'm permitted...
at the time of D7 (2002) i bought a VW Golf diesel car...
splendid car on all fronts, and so was and is D7, so the comparison fits...

now this year i bought D10 (not really true i'm paying maintenance since XE2 but never really used it for a heavy project) to migrate a large D7 application
i also bought a new car (not that i was still driving the Golf), with more and shinier options then ever before

now the VW Golf which is 15 years old now (as is D7) still rides perfectly, not a single spot of rust, and it is still permitted to get driven around, and so is D7 still capable of building exe's who run on all flavours of windows....
my new car though drives faster, accelerates faster, is completely software driven, has adaptive cruise control, can hold lanes etc etc
D10 on the contrary is less productive (waiting for code completion is a pita) the exe's run slower when it comes to gui...
my point is that my car has evolved also, and equally in tems of complex systems and software, BUT it still drives faster, better, more comfortably and so on, so the evolution like you describe it doesn't seem to apply when it comes to cars....

so i really do not see why i should need to invest time and money in splitting up screens that will only annoy my customers and myselves cause D10 can't handle it...
it should run faster not slower

and that said, the metrics for the D7 was in low spec environment while the D10 was on a high end system with the fastest SSD on the planet, plenty of memory and latest xeon processor...

but hey call me stupid if you want...
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 24, 2017 12:24 PM   in response to: Officinall Marc... in response to: Officinall Marc...
Officinall Marc Antheunis wrote:
why not?

Because it is bad practice to make UIs with lots of UI controls that take up lots of system resources at one time. All that stuff has to be allocated and managed, and that takes time and effort. You should simplify your UIs.

it should run faster not slower

Then you should profile your code and find out where all the extra time is actually being taken up. It might not even be in the GUI code at all.

--
Remy Lebeau (TeamB)
wenjie zhou

Posts: 424
Registered: 6/28/02
Re: D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 24, 2017 6:55 PM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Remy Lebeau (TeamB) wrote:
Officinall Marc Antheunis wrote:
why not?

Because it is bad practice to make UIs with lots of UI controls that take up lots of system resources at one time. All that stuff has to be allocated and managed, and that takes time and effort. You should simplify your UIs.

it should run faster not slower

Then you should profile your code and find out where all the extra time is actually being taken up. It might not even be in the GUI code at all.

--
Remy Lebeau (TeamB)

Delphi become slower than before. So customers should change their code to make faster. Interesting.
Officinall Marc...

Posts: 13
Registered: 9/20/03
Re: D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 25, 2017 12:07 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Remy, again with all due respect...

Because it is bad practice to make UIs with lots of UI controls that take up lots of system resources at one time. All that stuff has to be allocated and managed, and that takes time and effort. You should simplify your UIs.

so what you are saying is that the Delphi IDE is bad and should be simplified?
loading even simple forms in the IDE takes a lot of time...

and as another example: i've done some timings on a simple form displaying about 20 buttons as menu system and the performance loss in displaying the form D10 is significant
but i'm using non stock D10 components like Raize and DevEx and TMS... in both environments... so i want to anticipate the blame the 3rd party ...


it should run faster not slower

Then you should profile your code and find out where all the extra time is actually being taken up. It might not even be in the GUI code at all.

this really makes no sense... it's showing the form that takes significantly more time, not the code that gets run in oncreate etc
futhermore i'm not a RAD developer, i don't have code in my forms (abstract of putting default values in labels or so)
Antonio Estevez

Posts: 665
Registered: 4/12/00
Re: D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 25, 2017 1:45 AM   in response to: Officinall Marc... in response to: Officinall Marc...
El 23/08/2017 a las 16:43, Officinall Marc Antheunis escribió:
hi,
i've migrated a D7 to D10.2
and opening a preferences screen (a lot of tabs with a lot of components) takes the D7 exe 1.5 sec and the D10.2 exe 2.2 sec
that's roughly 50% slower
the D7 was measured on a low spec vm and D10 on high spec vm
this behaviour is to be seen throughout the application, the GUI is painfully slower than the good old D7 version

does anyone has any idea why i have this behaviour or is D10.2 just way slower when it comes to gui/forms?

This issue was reported for 10.1 Berlin.
https://quality.embarcadero.com/browse/RSP-18158

Apparently the problem is related to the live data binding feature. Renaming some files that disable this feature seems
to solve the problem.

Officinall Marc...

Posts: 13
Registered: 9/20/03
Re: D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 25, 2017 2:10 AM   in response to: Antonio Estevez in response to: Antonio Estevez
Antonio Estevez wrote:
El 23/08/2017 a las 16:43, Officinall Marc Antheunis escribió:
hi,
i've migrated a D7 to D10.2
and opening a preferences screen (a lot of tabs with a lot of components) takes the D7 exe 1.5 sec and the D10.2 exe 2.2 sec
that's roughly 50% slower
the D7 was measured on a low spec vm and D10 on high spec vm
this behaviour is to be seen throughout the application, the GUI is painfully slower than the good old D7 version

does anyone has any idea why i have this behaviour or is D10.2 just way slower when it comes to gui/forms?

This issue was reported for 10.1 Berlin.
https://quality.embarcadero.com/browse/RSP-18158

Apparently the problem is related to the live data binding feature. Renaming some files that disable this feature seems
to solve the problem.


well i've done that already and also do not use live bindings at all ....
so i guess that can't be the reason for the delay in displaying forms...

i'll put a disclaimer in my release stating that is 'the natural evolution'... and then duck and make sure they can't find me...
Roy Lambert

Posts: 1,063
Registered: 8/7/01
Re: D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 25, 2017 2:38 AM   in response to: Officinall Marc... in response to: Officinall Marc...
Officinall

Apparently the problem is related to the live data binding feature. Renaming some files that disable this feature seems
to solve the problem.

well i've done that already and also do not use live bindings at all ....
so i guess that can't be the reason for the delay in displaying forms...

Do any of your 3rd party components use live bindings?

i'll put a disclaimer in my release stating that is 'the natural evolution'... and then duck and make sure they can't find me...

Don't forget to have them sign for maintenance before you do that <G>

Roy
Officinall Marc...

Posts: 13
Registered: 9/20/03
Re: D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 25, 2017 2:41 AM   in response to: Roy Lambert in response to: Roy Lambert

Do any of your 3rd party components use live bindings?

i guess not....

Don't forget to have them sign for maintenance before you do that <G>

LOL
Officinall Marc...

Posts: 13
Registered: 9/20/03
Re: D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 25, 2017 5:40 AM   in response to: Officinall Marc... in response to: Officinall Marc...
(thought i posted this earlier so if this is a double posting : it is only natural evolution)

updated some cloud demo servers, one is W2008R2 and when i connect with RDP the D10 exe runs gui-wise as fast as our D7 exe...
so is this due to the use of RDP?
on the other side i've updated a W2012 RDP server, connected trough VMWare workstation and it also runs as fast as the D7 exe...
so this is baffling me....
Peter Below

Posts: 1,227
Registered: 12/16/99
Re: D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 26, 2017 1:29 AM   in response to: Officinall Marc... in response to: Officinall Marc...
Officinall Marc Antheunis wrote:

(thought i posted this earlier so if this is a double posting : it is
only natural evolution)

updated some cloud demo servers, one is W2008R2 and when i connect
with RDP the D10 exe runs gui-wise as fast as our D7 exe... so is
this due to the use of RDP? on the other side i've updated a W2012
RDP server, connected trough VMWare workstation and it also runs as
fast as the D7 exe... so this is baffling me....

Remote desktops usually run a trimmed-down version of the Windows UI
system, no desktop composition, no fancy themes, no UI animations etc.,
to save bandwidth on the communication channel.

--
Peter Below
TeamB
Officinall Marc...

Posts: 13
Registered: 9/20/03
Re: D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 28, 2017 1:53 AM   in response to: Peter Below in response to: Peter Below
Remote desktops usually run a trimmed-down version of the Windows UI
system, no desktop composition, no fancy themes, no UI animations etc.,
to save bandwidth on the communication channel.

sure, but how this affects Delphi is a bit strange, which leads to the conclusion that it is windows itselves who is responsable?
would explain what i'm seeing on w2012 server to which i connect directly (although you could argue that a workstation connection to an esxi is also trimmed down)
Officinall Marc...

Posts: 13
Registered: 9/20/03
Re: D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 28, 2017 3:47 AM   in response to: Officinall Marc... in response to: Officinall Marc...
ok this is getting me nuts... and maybe i should give D10 a bit more credit at this time
so far it seems that only Win 10 is affected when it comes to gui
tested this on a W7 running on hardware with moderate specs and gui is fast, no delays here
compared it again to W10 (creators update) and you see the forms being drawn.... roughly said 50% slower than that W7 system

is there some W10 setting that could influence performance?
Antonio Estevez

Posts: 665
Registered: 4/12/00
Re: D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 28, 2017 5:11 AM   in response to: Officinall Marc... in response to: Officinall Marc...
El 28/08/2017 a las 12:47, Officinall Marc Antheunis escribió:
ok this is getting me nuts... and maybe i should give D10 a bit more credit at this time
so far it seems that only Win 10 is affected when it comes to gui
tested this on a W7 running on hardware with moderate specs and gui is fast, no delays here
compared it again to W10 (creators update) and you see the forms being drawn.... roughly said 50% slower than that W7 system

is there some W10 setting that could influence performance?

Are you running the application on Windows 10 Creators Update (release
1703)?
Is the application built with the runtime packages option enabled?

Microsoft has made changes to the Creators Update that cause the loading
and unloading of dll and bpl files several times. This is especially
noticeable when debugging the application. But I guess it also affects
the release version.

The issue was fixed in 10.2 Tokyo Release 1
https://quality.embarcadero.com/browse/RSP-17972

Marco Cantu has a post about this issue on his blog:
http://blog.marcocantu.com/blog/2017-june-delphi-packages-creators-update.html

http://www.delphifeeds.com/go/s/139497

Officinall Marc...

Posts: 13
Registered: 9/20/03
Re: D10.2 slow forms
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 28, 2017 6:49 AM   in response to: Antonio Estevez in response to: Antonio Estevez
Are you running the application on Windows 10 Creators Update (release
1703)?

yes

Is the application built with the runtime packages option enabled?

no

Microsoft has made changes to the Creators Update that cause the loading
and unloading of dll and bpl files several times. This is especially
noticeable when debugging the application. But I guess it also affects
the release version.

The issue was fixed in 10.2 Tokyo Release 1
https://quality.embarcadero.com/browse/RSP-17972

yep, was aware of that
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02