Opened 6 years ago
Last modified 6 years ago
#18529 new defect
Heavy graphics activity in GUI locks VM
Reported by: | ebfe | Owned by: | |
---|---|---|---|
Component: | WDDM | Version: | VirtualBox 6.0.4 |
Keywords: | Cc: | ||
Guest type: | Windows | Host type: | Mac OS X |
Description
I'm running Windows7 as a guest with MacOS as host. I've noticed that since some versions back, heavy graphics activity inside the guest causes extremely high CPU usage, bringing the guest to a crawl. The guest becomes unuseable slow and after some seconds the entire VM-Windows locks up and no longer redraws; interestingly this only affects the GUI, the VM itself continues running (I can see it's network-traffic).
"Heavy graphics activity" in this context seems to be anything that causes lots of redraws. This includes simple GUI-animations, videos, or anything else which causes fast redraws inside the guest.
Since the VM-logs show nothing of interest, I did acquire a CPU usage profile while a simple program inside the VM hammers it with window-redraws. It seems the redraws cause an event-storm in VirtualBox's Cocoa implementation: While the VM crawls and ultimately locks, the VirtualBox-process spends all of it's CPU-time inside the QEventLoop, specifically CGContextDrawImage.
My semi-educated guess is that the event-loop drowns in redraw requests which take much longer to process on the host than to generate in the guest.
I've attached the profile taken while VirtualBox is locked up.
Disabling 2D-Acceleration fixes the lockup.
Attachments (2)
Change History (4)
by , 6 years ago
Attachment: | Windows7 Neu-2019-03-29-13-26-29.log added |
---|
comment:1 by , 6 years ago
I'm wondering if this could be related to my issue #18564. The main difference is that I've got 3D acceleration enabled, vs. the 2D acceleration of the OP, but the slowest apps on my Linux desktop are the ones that could result in the most closely spaced redraws. I've fortunately not run into a full lockup, at least not yet, but it could explain the performance problems I've been seeing, and could also explain the lost events I experience (an overflow of an event queue somewhere before it's passed on to the VM).
comment:2 by , 6 years ago
I am rather surprised that disabling 2D acceleration made a difference, as that setting should have no effect with the VMSVGA graphics device.
VM Log