( asch | 2025. 02. 03., h – 21:01 )

Nagyon egyszerű pedig. A szimulátor nem real-time működik, hanem egy virtuális óra szerint, azaz csak számolja, hogy szerinte mennyi az idő. Ahogy a csövön kifér egy streambe írja a kimenetet (akár IPC stream, akár stdout, akár egy processzen belüli stream pl ringbufferrel megvalósítva) időbélyeggel megjelölve, hogy mi mikor történik. Egy dekóder szál (processz) ezt feldolgozza, és képkockákat csinál belőle. És a trükk az, hogy csak a képkockák megjelenítését szinkronizálod a valós időhöz!

A real time szimulációnak pont az az achilles sarka, ha valóban a valós időhöz akarod szinkronizálni szub-milliszekundum felbontásban. Mivel PC-n az oprendszer hívások rendkívül költségesek, az időzítők viszont pontatlanok. Összevissza fog járni az óra, katasztrófa lesz. De ha virtuális órát csinálunk és egyáltalán nem, vagy csak makró szinten szinkronizálunk a valós időhöz (pl 1ms, vagy 16ms - azaz minden képkocka), akkor jól fog működni és akár a valós idő többszöröse is elérhető, ami autoteszteknél előnyös.