Jump to content
costa

Performance issues running Delphi Applications on Windows VM

Recommended Posts

Hello,

 

I currently use two apps written in Delphi, Toad Data Modeler (TDM) & The Journal RM (JRM), on a Windows 2016 VM.

 

The specs for the VM are:
Hypervisor: VMware ESXi, 6.5.0, 13004031
Model: ProLiant BL460c Gen8
Processor Type: Intel (R) Xeon(R) CPU E5-2560 0 @2.00GHz

 

Specs from the Windows system information:
OS Name   Microsoft Windows Server 2016 Standard
Version   10.0.14393 Build 14393
System Manufacturer   VMware, Inc.
System Model   VMware Virtual Platform
Processor   Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz, 2000 Mhz, 2 Core(s), 2 Logical Processor(s)

 

I have two issues:
1. The dialogs in both TDM & JRM take a long time to show up, and the higher the CPU usage, the longer it takes for these dialogs to show up.

 

2. Typing inside the JRM rich-text editors is excruciatingly slow. I type, I stop, and I watch the letters appearing one by one in slo-mo. Needless to say, MS Word doesn't exhibit this behavior.

 

Only these two apps have this issue. I tried to open the Settings dialog of Notepad++, and it's almost instantaneous.

 

I also have a windows 10 VM running on a mac inside desktop parallels, and the performance is very good for both apps.

 

Is there anything I can do to improve the performance - I should add - that is in my power? I don't have control over the hardware and the resources allocated to the VM. Could it be something in the way the VM has been configured in VMware that affects the performance?

 

I find it just very weird that two Delphi apps have this issue. As is, these apps are barely usable.

 

Thanks

 

 

Edited by costa

Share this post


Link to post

From the screenshots I gather that both these programs have a lot of custom drawn stuff in the interface. Comparing them to the very simple configuration dialog of Notepad++ is a bit unfair. JRM seems to be an FMX program, I have no experience with that. From what I hear about FMX it should be fast on modern graphics hardware, but what about virtualized graphics hardware?

 

I assume you have already installed the VMWare tools in that VM? If I remember correctly graphics output is very slow without them.

Another option would be to connect to the VM via Remote Desktop which might be faster than the emulated graphics of the VM.

 

Did you try to contact the vendors of these tools? Without knowing more about how they work, it's very difficult to guess what the problem might be.

 

TDM looks pricey to me (vendors that ask you to contact sales to get a quote always are), so they should provide support to their customers.

JRM in contrast seems to be a one man show, which may even increase your chances to get help, but he might not have the resources to actually test that case.

Share this post


Link to post

Doesn't FMX use DirectX or OpenGL to draw the screen? (I to have no experience with it)

 

VMware ESXi is not the same type of hypervisor as Parallels, VMware Player or VirtualBox but VMware tools must be installed no matter what.  A basic ESXi VM's video memory is limited and not indented for graphic intense processes without adding a special 3D hardware card (NVIDIA GRID/AMD Multiuser) to the server.  There are 3D software options at a VM level but that can be a CPU hog and depending on the resources allocated to the VM or the Resource Pool the VM is configure in there are other limits put on the performance of a VM like the total workload of the server.  Connecting with RDP won't help with this problem, if you have VMware Horizons you may be able to use the VM and Horizons pool 3D software features along with a Horizon Client software or zero thin client with PCoIP or Blast to maybe run better.

 

Share this post


Link to post

Thank you for your replies.

 

@dummzeuch I use RDP to access these servers. Both apps are VCL apps. They don't use FMX. I used spy++ to confirm. JRM uses devexpress components. Anyway, I am going to create a simple VCL app that opens a dialog to see if it is affected.

 

I contacted the vendors. In the TDM case they don't know, and as for JRM, I didn't get an answer yet. It is pretty hard - unless you have the hardware, and you are in control of everything, it's impossible to reproduce the issue.

 

To me this whole thing looks like CPU starvation or CPU throttling that somehow affects these apps more than others. Unfortunately I don't have the knowledge to figure out what the heck is going on and how all these pieces (virtualization, vcl) affect each other. I was hoping that someone came across this before.

 

Share this post


Link to post

Just a remark: I saw the reverse picture when my Win32 application in the Windows XP VirtualBox was running one and a half times faster than in the Windows 10 host machine...

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

×