Vorsichtshalber wird jetzt auch die Zeit, die der Mutex verbraucht, geloggt, damit man das falls nötig nachvollziehen kann.
Auf normal schnellen Systemen wird der vermutlich nie anschlagen.
Als Nachschlag zum vorigen Kombi-Patch.
Vorsichtshalber wird jetzt auch die Zeit, die der Mutex verbraucht, geloggt, damit man das falls nötig nachvollziehen kann.
Auf normal schnellen Systemen wird der vermutlich nie anschlagen.
Als Nachschlag zum vorigen Kombi-Patch.
Wenn nicht genug VideoSurfaces im Ringbuffer sind, wird das Syncen übersprungen, und der Sync wird ungenauer oder es gibt dropings. Da liegt es nahe, beim Start etwas zu warten, bis sich genug VideoSurfaces angesammelt haben. Dazu wird AudioVideoReady() erst dann aufgerufen, wenn genügend Surfaces da sind.
In einem 9-stündigem Vergleichstest mit warten auf 4 Frames bei Interlaced Sendern kostete das durchschnittlich 34ms mehr Umschaltzeit (gelegentlich aber auch bis zu 300ms) und reduzierte dafür die „dropings“ von 330 auf 139.
Auf je mehr Surfaces man wartet, desto länger dauert das Umschalten, und desto weniger dropings gibt es.
Vermutlich nehmen aber die Meisten lieber die dropings und den ungenauen Sync in Kauf und zappen dafür schneller.
Damit lass ich es diesbezüglich gut sein .
Wenn man den SynCounter deaktiviert, wird nicht jedes zweite Mal gesynct, sondern jedes Mal. Das geht dann natürlich doppelt so schnell.
johns: Wozu wurde der mal eingebaut?
Es ist der selbe Code beim Start-Sync und beim Sync wenn alles bereits läuft.
Ohne den SyncCounter bekommst du nach dem Umschalten nie ein Bild, wie ohne SoftStart.
Wenn bereits alles gesynced ist, sollte nie mehr als eine Korrektur nötig sein.
Johns
Ach ja, klar, ich hab‘s ohne SoftStart am Laufen, deshalb nicht daran gedacht.
Dann sollte es so mit und ohne SoftStart gut sein:
Vielen Dank für das Repo, so hat das Hand und Fuß
Hab den letzten GIT Stand in Verwendung und bisher keine Auffälligkeiten bemerkt. Well Done.
Wäre jetzt halt schön, wenn man das mit softhddevice-opengl zusammenführen würde
Hab ich hier
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!