Ich kann dir keinen detaillierten technischen Breakdown geben. Aber so wie ich es verstehe, ist noVNC ein JavaScript-basierter VNC-Client, der für die Proxmox-Webkonsole verwendet wird und die VNC-Ausgabe über HTML5/Canvas im Browser darstellt. Die virtuelle Grafikkarte stellt dabei den Bildschirminhalt bzw. Framebuffer der VM bereit. QEMU hat einen integrierten VNC-Server, der diesen Bildschirminhalt über das VNC-Protokoll bereitstellt. noVNC verbindet sich damit und stellt die empfangenen Bildschirminformationen anschließend im Browser dar.
Vereinfacht gesagt: VM → virtuelle Grafikkarte/Framebuffer → QEMU VNC-Server → VNC → noVNC → HTML5 Canvas → Browser