Very bad server performance under Windows QEMU host
I'm currently running CentOS 7 under VirtualBox on Windows but am hoping to replace it with QEMU. Multi-monitor support is crucial so I've been experimenting with SPICE. Stefan Weil's Windows QEMU builds don't enable SPICE yet so I built my own. It does work (thanks for that!) but the performance is really bad.
Before the client connects, CPU usage while idle is near 0. As soon as the client connects, it idles around 35%. Updates to the screen are very sluggish, especially when not moving the mouse. Bizarrely, moving the mouse a lot makes it more responsive and the CPU usage actually goes down.
This may be a QEMU bug rather than a SPICE bug but I am confident that it is at least SPICE-related. Performance with SDL and VNC is much better. For comparison, I have tried various combinations of Windows/Linux host, local/remote client, virt-viewer/spicy client, and the CentOS LiveDVD vs my usual installation. Everything points to Windows being the host.
Here is how I'm launching QEMU:
qemu-system-x86_64 -M q35 -accel hax -smp 4 -m 2048 -nic bridge,model=virtio -usb -device usb-tablet -cdrom CentOS-7-x86_64-LiveGNOME-1908.iso -vga qxl -global qxl-vga.ram_size_mb=64 -global qxl-vga.vgamem_mb=32 -global qxl-vga.vram_size_mb=64 -global qxl-vga.max_outputs=2 -spice addr=0.0.0.0,port=5901,disable-ticketing,streaming-video=off,image-compression=off,playback-compression=off -device virtio-serial-pci,max_ports=2 -device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 -chardev spicevmc,id=spicechannel0,name=vdagent
I've tried this with QEMU 4.1.0 and 4300b7c2, along with SPICE 4f2d90a7.