Jump to content
c0d3r

Delphi 10.3.3/10.4 IDE Editor on VMware speed issue

Recommended Posts

Posted (edited)
4 hours ago, Mike Torrettinni said:

You notice faster system in general or Delphi IDE?

faster system in general,  but Delphi IDE is still slow, main tool bar drag& drop lags like hell, mouse wheel scrolling issue still there, I'm not so sure if its due to my older Laptop  (4 years old) or not.  Since the guest OS is using the host DPI which was set to 125%,  and Delphi 10.4 isn't DPI aware, so you would get blurred screens.

Edited by c0d3r

Share this post


Link to post

I doubt it's the system performance, it's the IDE poorly optimized. I hope for 10.5 to be better. It runs good in vmware for something to look at here and there, testing, but for day to day work is just too much 'lag' for me, overall.

Share this post


Link to post

@Mike Torrettinni do you have your virtual machine on a SSD?  You should, it makes a dramatic difference.

 

 

One more thing about VMWare and GPU acceleration. 

 

My notebook happens to have more than one GPU.  It has an Intel adapter but also a faster additional NVIDIA GPU.   A nice but little known feature of VMWare is that it lets you select which GPU to use, but tweaking such advanced settings involves manually editing the virtual machine's *.vmx file.  These changes make the virtual machine less "portable" between host machines since different host machines may have different GPU's.   

 

mks.dx11.vendorID = "0x10de"

(This selects the NVidia GPU.  "0x8086" selects Intel, "0x1002" selects AMD)

 

mks.enableDX11Renderer = "TRUE"     

(This enables DirectX11/OpenGL  acceleration. It is the default setting).
 

Some DirectX drivers have been "blacklisted" by VMWare for some reason; in that case no DirectX/OpenGL acceleration is available at all inside VM's. This might be an explanation for slow behavior. But luckily you can override even that setting in the *.vmx file:

mks.gl.allowBlacklistedDrivers = TRUE

 

 

 

One more thing about VMWare Workstation in general.  Normally if one uses VMWare one would leave Hyper-V disabled on Windows and let VMWare handle all the virtualization.  But the latest VMWare version 15.5.X can also run "on top of" Hyper-V.  I don't know if there's a speed penalty involved with that.  There might be.

 

 

 

 

 

 

Share this post


Link to post

Is that scaling still an issue for you? Can control Hyper-V whether it assigns the DPI of your host to the guest. It's in the "enhanced session" or whatever it's called in English version.

 

I'm running RAD Studio 10.0 and 10.4 on a 5 year old desktop computer. I gave the VM two cores and a dynamic amount of RAM, not exceeding 6.5 GB. I'm quite happy with the performance...

Share this post


Link to post
2 hours ago, A.M. Hoornweg said:

do you have your virtual machine on a SSD?  You should, it makes a dramatic difference.

Yes, I can't imagine how slow it would be on HDD.

And what you are describing is the reason IDE should be better optimized. Perhaps future versions of LSP will help. It's hard to imagine every installation should tweak all these possible settings to find the right ones for Delphi.

 

Share this post


Link to post
2 minutes ago, Mike Torrettinni said:

Yes, I can't imagine how slow it would be on HDD.

And what you are describing is the reason IDE should be better optimized. Perhaps future versions of LSP will help. It's hard to imagine every installation should tweak all these possible settings to find the right ones for Delphi.

 

It is one of the reasons why I'm not a friend of "skinning".   

 

But my changed Windows settings tackle the root cause which is unnecessary re-drawing of UI elements for the sake of smoothness and animations. I don't need any of that. Responsiveness is much more important.

Share this post


Link to post
12 hours ago, A.M. Hoornweg said:

@Mike Torrettinni do you have your virtual machine on a SSD?  You should, it makes a dramatic difference.

 

 

One more thing about VMWare and GPU acceleration. 

 

My notebook happens to have more than one GPU.  It has an Intel adapter but also a faster additional NVIDIA GPU.   A nice but little known feature of VMWare is that it lets you select which GPU to use, but tweaking such advanced settings involves manually editing the virtual machine's *.vmx file.  These changes make the virtual machine less "portable" between host machines since different host machines may have different GPU's.   

 

mks.dx11.vendorID = "0x10de" 

(This selects the NVidia GPU.  "0x8086" selects Intel, "0x1002" selects AMD)

 

mks.enableDX11Renderer = "TRUE"     

(This enables DirectX11/OpenGL  acceleration. It is the default setting).
 

Some DirectX drivers have been "blacklisted" by VMWare for some reason; in that case no DirectX/OpenGL acceleration is available at all inside VM's. This might be an explanation for slow behavior. But luckily you can override even that setting in the *.vmx file:

mks.gl.allowBlacklistedDrivers = TRUE

 

 

 

One more thing about VMWare Workstation in general.  Normally if one uses VMWare one would leave Hyper-V disabled on Windows and let VMWare handle all the virtualization.  But the latest VMWare version 15.5.X can also run "on top of" Hyper-V.  I don't know if there's a speed penalty involved with that.  There might be.

 

 

 

 

 

 

I think its definitely Delphi IDE issue,  you literally have to wait to see the codes scrolling up/down finish then continue coding.  Otherwise it works okay.

 

I found so far that can be reproducible:

 

1.  The mouse wheel scrolling issues were only occurred at End/Bottom of every opened unit where you see the empty spaces UNTIL you turn off "Enable Flow Control Highlighting" option,  However:

2.  Once the option is turned off, then all the units that are opened after are having seriously mouse wheel scrolling lags.

3.  When highlight a block of codes,  there would be mouse wheel scrolling lags.

4.  If an unit has over 10,000+ lines, while you are typing codes,  you would literally see the characters being inserted one by one, like typing in one character per second speed.

 

Same VM setting on the same host computer,  Delphi 2007 doesn't have any issues at all, but with IDEFixPack (not sure if it could make things differently).

 

image.thumb.png.ed10f75d328d826c091f0c2111047a27.png

Edited by c0d3r

Share this post


Link to post
12 hours ago, Der schöne Günther said:

It's in the "enhanced session" or whatever it's called in English version.

 

Yes, "Enhanced Session". Only for guests with Win7 and up (methinks). An absolute must, RDP is useless w/o.

Share this post


Link to post
15 hours ago, c0d3r said:

I think its definitely Delphi IDE issue,  you literally have to wait to see the codes scrolling up/down finish then continue coding.  Otherwise it works okay.

 

I found so far that can be reproducible:

 

 

4.  If an unit has over 10,000+ lines, while you are typing codes,  you would literally see the characters being inserted one by one, like typing in one character per second speed.

 

 

 

 

As a workaround, you could disable the structure highlighting stuff in Delphi 10.4 and instead install CNPACK, which also offers that feature. This image shows what it looks like (in Delphi XE).

 

cnpack structure highlighting.png

Share this post


Link to post

So, where does this leave us? EMB did not test D10.4 on Vmware/HyperV guests? Or they did and just decided to bother us with this ?

 

Share this post


Link to post
20 minutes ago, mvanrijnen said:

So, where does this leave us? EMB did not test D10.4 on Vmware/HyperV guests? Or they did and just decided to bother us with this ?

 

I can assure you they did! (BTW, most of the beta testing is done in Virtual Machines)
Even I did and I have had no issues as described above nor do I have those now.

Share this post


Link to post
8 hours ago, Uwe Raabe said:

I can assure you they did! (BTW, most of the beta testing is done in Virtual Machines)
Even I did and I have had no issues as described above nor do I have those now.

 

Same here - Delphi 10.4 runs great under VMWare 15.5.5 here with no scrolling performance issues.  (Just LSP and flaky form designer issues.)

 

 

 

Share this post


Link to post
11 minutes ago, Darian Miller said:

 

Same here - Delphi 10.4 runs great under VMWare 15.5.5 here with no scrolling performance issues.  (Just LSP and flaky form designer issues.)

 

 

 

Thats interesting. I'm thinking of now it could be my 4 years-old laptop can't handle 4K resolution properly?  the laptop LCD screen resolution is 1920x1080p but it does support 4K 60hz, I'm currently connect it to Delll U2720Q as the main monitor.

Share this post


Link to post
12 minutes ago, c0d3r said:

Thats interesting. I'm thinking of now it could be my 4 years-old laptop can't handle 4K resolution properly?  the laptop LCD screen resolution is 1920x1080p but it does support 4K 60hz, I'm currently connect it to Delll U2720Q as the main monitor.

 

I'd look at your video card ratings and ensure drivers are up to date.  Perhaps the video card is underpowered.

Share this post


Link to post
Just now, Darian Miller said:

 

I'd look at your video card ratings and ensure drivers are up to date.  Perhaps the video card is underpowered.

 

But then again, did it run 10.3.3 OK?

Share this post


Link to post
1 hour ago, Darian Miller said:

 

But then again, did it run 10.3.3 OK?

No. It didn't either.  Whats puzzled me was that the scrolling issues only occurred at end/bottom of each opened unit where you could see empty spaces, if passed the empty spaces, everything works just fine.  and also occured when the option "Enable flow control highlighting" was turned off, so I'm still thinking its the Delphi IDE thing.   Same video card, same 4K resolution, same VM settings on the same host, Delphi 2007 works very smooth.

Edited by c0d3r

Share this post


Link to post

Definitely Delphi IDE issue,  I opened Task Manager right beside Delphi,   While the scrolling issues were happening, its running 50%-60% CPU, eventually the status changed to 'not responding',  Power usage changed to 'Very High', until scrolling was done, then CPU back to normal.  Its definitely doing something that I saw once Delphi window Title/Caption Bar turned to White color from the Blue ActiveGradientColor during slowing scroll up/down, while the caption bar turned to white, it displayed like:  "<The Project name> - Delphi10.4 - <Unit Name> [ Not Responding]".     Btw, I have the startidepage270.bpl disabled, and had a project group opened in IDE, one desktop application and one Windows service project.

Edited by c0d3r

Share this post


Link to post

D10.4 with i7-8700K

For me anywhere in the source IDE CPU is 10% and very responsive.

At the bottom when white space appears is 25% and a little slower but not an big issue. I rarely use scrolling when bottom white space is shown.

I think this issues is tied to CPU speed + Number of LOC displayed when bottom white space is shown. No graphic card involved.
 

Try to make the IDE height smaller in order to display fewer lines of code and for sure it will be faster and.... useless.

Does it behaves better on host? I think does not.

Share this post


Link to post
4 hours ago, Cristian Peța said:

This issue is visible starting with D10.0 Seattle. Delphi XE-XE5 does not behave like this.

But only when you see bottom white space.

When the option "Enable Flow Control Highlighting" is turned off,  the slow scrolling issues would be happened everywhere not only just bottom white spaces, but EVERYWHERE.

Share this post


Link to post

I tried with "Enable Flow Control Highlighting" disabled in 10.4 but I do not see any difference. It is a little slow only when bottom white space appears.

Edited by Cristian Peța

Share this post


Link to post
2 hours ago, Cristian Peța said:

I tried with "Enable Flow Control Highlighting" disabled in 10.4 but I do not see any difference. It is a little slow only when bottom white space appears.

Disable the option,  then open all the units AFTER (it won't cause issues for the units that were opened already.) or just restart Delphi, load project, you will see.

Edited by c0d3r

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×