virsh & virt-viewer are mainly frontends for qemu, do you know what configuration they set ?
Do they use TAP networking (tends to give native network speeds) or user networking ?
is host type and acceleration set correctly by them ?
do virtualbox and your kvm virtual machine even have the same memory amount available ?
here is an example of the start command i use :
#!/bin/bash
qemu-system-x86_64 \
-machine type=pc,accel=kvm \
-cpu host \
-boot order=d \
-drive file=~/Virtual_Machines/arch-test/arch-test,if=virtio \
-cdrom ~/Documents/Images/archlinux-2012.12.01-dual.iso \
-net bridge,br=br0 -net nic,model=virtio \
-vga vmware \
-m 2048
It's been over a year since i did graphics performance testing , but these were my findings :
best - rdp --nographic (see windows specific notes on qemu page) .
2nd vga-vmware
.......
3rd vga-std & qxl
+++++++++++++
qcow2 is an image format, not a device type, and can be used with VirtIO bus. A qcow2 image could become slow due to fs fragmentation and perhaps snapshots, but I don't think it's inherently slow.
+++++++++++++
IME, on slow rotational media (5400 RPM drives), qcow2 is terribly slow compared to RAW images. In fact, according to my tests (I use many VMs), RAW on Btrfs with COW and snapshots is much faster than qcow2 on Ext4 or XFS. A SSD probably makes a big difference, but I haven't run my tests on it.