Hallo Besucher, der Thread wurde 45k mal aufgerufen und enthält 326 Antworten

letzter Beitrag von angryking am

VICE Soundprobleme

  • Danke für die Info, aber mit dem GTK kann ich so gar nichts anfangen - die Perfomance lässt auf schwachen Maschinen zu Wünschen übrig. Der flog wieder runter.

    Du meinst bestimmt das altbekannte Ruckelproblem, welches die älteren GTK3VICE Versionen immer hatten? Das ist ebenfalls behoben in dieser verlinkten Version meines Eintrags. Da scrollt nun alles genauso butterweich wie in den nativen WinVICE Versionen und wenn dein Rechner zu langsam für die x64sc.exe dieser GTK3VICE Version ist, dann bleibt alternativ auch noch die etwas weniger kompatible x64.exe dieser Version. Bei mir am PC bekomme ich die GTK3VICE Version genausoschnell beschleunigt wie die native WinVICE Version, deshalb denke ich, dass die nicht mehr Performance brauchen wird. Musst du antesten.


    Was du alternativ auch noch machen kannst, ist, diese zu 50,000Hz gepatchte native WinVICE Version, die ich verlinkt hatte, mit 96% Custom-Speed laufenzulassen, was dann im Endeffekt auch 48Hz (48FPS) Emulationsgeschwindigkeit entspräche. Ich bin mir aber bei dieser zu 50,000Hz gepatchten WinVICE Version jetzt nicht ganz sicher, ob die Custom-Speeds jetzt dann prozentual von diesen 50,000Hz aus gerechnet werden, oder ob da dann immernoch von 50,125Hz auszugehen ist bei der Umrechnung? Wenn da nun von den 50,000Hz aus gegangen wird, dann würde dies bedeuten, dass man auch diese gepatchte native WinVICE Version, dann Hz-genau einstellen könnte. Denn dann lässt sich ja, weil alles Ganzzahlen sind, auch damit jeder Hz-Wert Emulationsspeed nun immer genau treffen, indem man einfach die unterschiedlichen Prozentwerte beim Custom-Speed eingibt. Bei den ungepatchten nativen WinVICE Versionen ist das natürlich nicht so, weil dort ja immer von 50,125Hz aus gerechnet wird und dann immer ungerade Hz-Zahlen Emu-Speed rauskommen, wenn man beim Custom-Speed Ganzzahlen Prozentwerte eingibt. Das war dort ja immer das Problem, weil es damit dann beispielsweise nicht möglich war, genau 50,000Hz Speed einzustellen, denn dazu hätte man beim Custom-Speed den ungeraden Prozentwert 99,75% eingeben müssen, was der Emu aber nicht annahm, da nur ganze Zahlenwerte funktionieren. Nun, bei der gepatchten Version, wäre dies dann aber egal, wenn wirklich beim umrechnen vom Wert 50,000 ausgegangen wird, denn dann reichen Ganzzahlen, um jeden Hz-Wert Speed genau treffen zu können.


    Musst du einfach mal ausprobieren einen der beiden Vorschläge. Oder am besten beide und dann das nehmen, was bei dir besser läuft. Du hattest ja, wie ich deinen Eintrag verstanden hatte, eh schon eine Lösung gefunden gehabt in der nativen WinVICE Version, sodaß es ganz gut lief mit diesem 48Hz Modus. Allerdings konntest du den Wert 48 ja nie genau treffen mit den ungepatchten WinVICE Versionen, die mit 50,125Hz laufen. Denn dort entspricht ein 96% Custom-Speed dann dem Hz-Wert von 48,12 und diese 0,12 Abweichung zu 48,00 könnten schon wieder den ein oder anderen Ruckler alle paar Sekunden verursachen, wenn der Monitor da empfindlich ist. Kann aber auch noch im Toleranzbereich des Monitors liegen, sodaß sich diese kleine Abweichung gar nicht äussert und er trotzdem noch perfekt darüber hinwegscrollt. Ebenso könnte diese kleine Abweichung, weil in dem Fall ja der emulierte C64 dann wieder leicht schneller ist als der Bildmodus (das alte Problem), schon wieder das Soundproblem auslösen. Daher würde ich eher die zu 50,000Hz gepatchte native WinVICE Version für diesen Zweck mit den 48Hz nehmen, als die normale native WinVICE Version. Oder eben die GTK3VICE Version, bei der man auch direkt einen FPS (Hz) Wert einstellen kann.

  • Ich bin mir aber bei dieser zu 50,000Hz gepatchten WinVICE Version jetzt nicht ganz sicher, ob die Custom-Speeds jetzt dann prozentual von diesen 50,000Hz aus gerechnet werden, oder ob da dann immernoch von 50,125Hz auszugehen ist bei der Umrechnung?


    Da mich die Antwort auf diese Frage interessiert hat, hab ich das heute mal mit dem "Clock64" Tool getestet. Ich wollte wissen, ob in der gepatchten WinVICE Version mit Lipti-Patch, die 50,000Hz in denen dieser Emu dauerhaft läuft, ein Custom-Wert sind, oder ob dieser Wert hier dann genau den 100% Emulationsspeed entspricht und man dann von diesem Wert als 100% ausgehen kann, wenn man verschiedene Custom-Speed-Werte eingibt.


    (1) Zunächst nahm ich den GTK3VICE, stellte dort 48FPS ein und ließ das Clock Tool genau 30 Minuten laufen, während ich mit einer Handuhr mitstoppte. Nachdem im Clock Tool unter 48FPS (48Hz) die 30 Minuten vergangen waren, zeigte die echte Uhr 31:20 Minuten an.


    (2) Dann nahm ich die normale ungepatchte WinVICE Version, stellte dort 96% Custom-Speed ein, was dann 48,12Hz entspricht und ließ wieder die 30 Minuten im Clock Tool durchlaufen. Hier zeigte die echte Uhr dann 31:15 Sekunden an am Schluss. Die Abweichung ist also um 5 Sekunden kleiner, weil wir ja 0,12Hz mehr Geschwindigkeit hatten als im GTK3VICE mit 48FPS (48,00Hz).


    (3) Und nun dann die Frage, die mich interessierte. Wird bei der gepatchten WinVICE Version, die mit 50,000Hz läuft anstatt mit 50,125Hz, dann wirklich ganz genau das gleiche herauskommen wie beim GTK3VICE mit 48FPS? Ich stellte dann in dieser WinVICE Version wieder 96% Custom-Speed ein und ließ die 30 Minuten im Clock Tool erneut durchlaufen und es kam ganz genau das gleiche heraus wie im GTK3VICE mit 48FPS, also auf der echten Uhr waren genau 31:20 Minuten vergangen.


    In der nativen WinVICE Version mit "Lipti Patch" kann man also jeden Hz-Wert (oder auch FPS Wert) Emulationsgeschwindigkeit ganz genau ansteuern, weil von genau 50,000 als 100% ausgegangen wird und wir somit nur Ganzzahlen haben. Damit lassen sich dann immer ganze und halbe Hz-Werte treffen, sprich:


    Custom Speed...............Emulationsgeschwindigkeit

    .......100%...........................50,000 Hz (FPS)

    .........99%...........................49,500 Hz (FPS)

    .........98%...........................49,000 Hz (FPS)

    .........97%...........................48,500 Hz (FPS)

    .........96%...........................48,000 Hz (FPS)


    ... undsoweiter undsoweiter


    In der normalen Version kommen da lauter ungerade Werte heraus, weil dort ja von 50,125 als 100% ausgegangen wird und man damit dann nie genau die Hz Werte treffen konnte.


    Nun geht das in der gepatchten WinVICE Version. Feine Sache, wenn man, wie jetzt bei "JPK64" der Fall, statt eines 50Hz Bildmodus nur einen 48Hz Bildmodus laufenlassen kann und dazu dann genau 48Hz Emulations-Speed einstellen will. Und das Soundkratzen bleibt ebenfalls aus, da der emulierte C64 dann ja nicht schneller als der 48Hz Vollbildmodus läuft, sondern beide Werte genau gleich sind.


    Guter Nebeneffekt des Lipti-Patches, denn das Hauptaugenmerk lag ja eigentlich auf der Beseitigung des Soundkratzens unter einem 50Hz Bild und darauf, das Scrolling zu perfektionieren. Damit lassen sich jetzt dann aber ebenfalls alle Hz (FPS) Werte immer ganz genau treffen, wie im GTK3VICE mit der neuen Custom-FPS Funktion.


    Im ungepatchten nativen WinVICE (50,125Hz) entsprechen die Werte, die man dort unter Custom-Speed eingibt, letztendlich dann denen, die man auch im GTK3VICE unter Custom-Speed eingeben kann.


    Im gepatchten nativen WinVICE (50,000Hz) entsprechen die Werte, die man dort unter Custom-Speed eingibt, dann denen im GTK3VICE, die man dort unter Custom-FPS eingeben kann.

  • Kommt da auf den Monitor an, und ob da 50Hz defaultmäßig rauskommt. Per HDMI/Display Port sind das fast immer relativ genau 50.00xxxHz, wenn es eine der TV Standardauflösungen wie 720p oder 1080p ist. Selbstgebastelte Auflösungen am Notebook sind nochmal was anderes, die neigen eher zu ungenaueren Werten nach der Kommastelle.


    edit: Selbst wenn ich Freesync bei meinem Iiyama deaktiviere kommt immer noch relativ genau 50Hz raus.

  • Aber man wird eh selten eine exakt gerade Zahl Hz haben am Bildschirm mit den voreingestellten Werten der Hersteller.

    Wenn ich auf meinem Notebook 50hz wähle, sind es irgendwo um die 50.09Hz, auf meinem Desktop sind die voreingestellten 60Hz nur 59.6Hz usw...


    Aber schon immer sehr nahe dran an den ,00er Werten bei den meisten Monitoren. Zumindest auf den fünf Stück, auf denen ich das schon ausprobiert habe, war es so, wenn ich das mit einem Refresher-Tool nachgemessen habe. Die Abweichungen von den Ganzzahlen-Werten lagen immer so um die 0,05Hz in beide Richtungen, also nach unten oder nach oben. Mehr war es nur selten. Mit Sicherheit wird es hier auch Ausnahmen geben, ich denke aber, die Regel ist das nicht.


    Wenn man das vergleicht mit der ungepatchten WinVICE Version. Dort kommen dann Werte raus, wie:


    Custom Speed...............Emulationsgeschwindigkeit

    .......100%...........................50,125 Hz (FPS)

    .........99%...........................49,624 Hz (FPS)

    .........98%...........................49,123 Hz (FPS)

    .........97%...........................48,621 Hz (FPS)

    .........96%...........................48,120 Hz (FPS)


    ... undsoweiter undsoweiter


    Da hat man dann gleich zwei Probleme bei solchen Werten. Das erste ist, dass man auf nicht-freesync Monitoren wohl kein absolut ruckelfreies Scrolling hinbekommen wird mit solchen Werten, egal welchen Hz-Bildmodus man jetzt auch nimmt am Monitor. Es sei denn, das Gerät hat zufällig ebenfalls soweit in dieselbe Richtung abweichende Werte von den Ganzzahlen, was aber wohl eher selten der Fall sein wird, schätze ich.


    Und das zweite Problem ist, wie man hier sieht in der Tabelle, daß dann der emulierte C64 immer vom Hz-Wert her, leicht über dem Hz-Wert des jeweiligen Bildmodus liegt, was dann wahrscheinlich jedesmal wieder das Soundkratzen, also das langsame Überlaufen des Sound-Puffers auslösen wird. Beide Problematiken hat man mit der von "Lipti" gepatchten WinVICE Version dann nicht auf den allermeisten Monitoren.


    Kommt da auf den Monitor an, und ob da 50Hz defaultmäßig rauskommt. Per HDMI/Display Port sind das fast immer relativ genau 50.00xxxHz, wenn es eine der TV Standardauflösungen wie 720p oder 1080p ist. Selbstgebastelte Auflösungen am Notebook sind nochmal was anderes, die neigen eher zu ungenaueren Werten nach der Kommastelle.


    edit: Selbst wenn ich Freesync bei meinem Iiyama deaktiviere kommt immer noch relativ genau 50Hz raus.


    Ja, wie bei mir. Ist wirklich immer in einem Bereich von 0,05 dran an den Ganzzahlen-Hz-Werten, egal mit welcher Auflösung ich das auch probiere. Mehr weicht es nie ab. Mag sein, dass es einige Monitore gibt, bei denen es mehr abweicht, aber mit solch einem Monitor kann man dann ja die ungepatchten WinVICE Versionen nehmen und hoffen, dass die Hz-Abweichung vom Ganzzahlen-Wert, dann auch in dieselbe Richtung abweicht wie am Monitor. Nicht dass dieser dann 0,10Hz unter dem 0,00er Wert ist und der WinVICE dann 0,125Hz drüber, das wäre dann noch schlechter. :)