Windows 10 KVM guest slow performance

After having used Windows 10 KVM guest (locally installed through libvirt) for a longer time and tried few other features -including screenshots, webcam passthrough and snapshots-, I’m concluding VM is “usable”, but not “very usable”.
At times in general VM is rather slow, constant -albeit rather brief- hangups, not to mention it makes openSUSE host itself kind of unresponsive.

Now I always blamed laptop’s specifications (Core i3 2.5 GHz, 4 Gb RAM DDR3, 500 Gb SATA HDD, 3 Gb RAM located for guest with ballooning), until I tested connecting to another Windows 10 KVM guest from a Proxmox server (on local LAN), also with 3 Gb RAM ballooning.
Proxmox uses noVNC console for guests by default, and this one works relatively fine for the Windows guest (testing on openSUSE’s Firefox). But when trying connecting through SPICE I got the very same issues as the libvirt guest, only difference being not hitting openSUSE host’s performance.

Both Windows guests are Windows 10 1703, and both have spice-guest-tools installed (obviously).

Could it really be SPICE hits client’s performance, still when VM guest is not even installed locally but in a remote server?
Or also the myth that no OS nor general PC hardware likes odd amount of RAM?
Any other possibilities?

Thanks.

I haven’t personally tracked Windows Guest performance on KVM (haven’t had a personal need)

But,
I’d think that the most probable cause for issues is device performance, which today is implemented differently by every virtualization technology (First there was no hardware assist, then CPU and memory only which for the most part have been standardized by Intel and AMD CPU extensions. But, I/O virtualization which comes next is taking longer, possibly because of the many I/O device vendors and lack of effort by all to support virtualization).

If you really want to explore Windows Guest performance,
I’d recommend you try running Xen (since Xen runs its own kernel, you can install on your same machine and reboot to the Xen kernel without affecting your KVM install). Years ago, Xen and Microsoft entered into a technology exchange agreement where Xen provided CPU virtualization technology so that Hyper-V could be developed and succeed MS Virtual Server, and Xen in exchange was granted “real” MS device I/O drivers (at the time, I don’t know if the driver support is ongoing).

So, with Xen you should get real, authentic MS virtualized drivers which I would think might be better than alternatives for running Windows.

TSU