ruckelfreier WinVice zum Testen

  • Schlechte Augen oder bessere Emulator Version? Keine Ahnung, nur diese getweakte v1.20 Version rennt bei mir flüssig. Es wurde ja mal vermutet, das dort nur die Emulationsgeschwindigkeit angehoben wurde. So einfach war es dann doch nicht. Schade, das Chrille nichts mehr dazu schreibt.

  • Quote

    Schlechte Augen


    wage ich auszuschliessen :) als democoder bin ich da *sehr* pingelig was ruckeln angeht =)


    Quote

    oder bessere Emulator Version?


    ich benutze zum normalen arbeiten immer die letzte releaseversion, also nix besonderes. ich würde eher auf das OS tippen :) (es ist immer von vorteil das OS zu benutzen das auch die mehrheit der entwickler einer software benutzt =P)


    allerdings kann ich zu der weinerei nur eins sagen: im bugtracker findet man dazu nichts. folglich wird sich also auch nix dran ändern =P


    Quote

    Ihr habt nicht zufällig ReSID eingestellt...? *wundertsichgradeauchetwas*


    ich benutze resid-fp (die langsamste aller optionen) und pal-emulation (ebenfalls die langsamste option). trotzdem ruckelt da nix.

  • Also ich weiß ja nicht, wovon ihr sprecht, aber ich persönlich meine das "ganz normale" Ruckeln, was man bei jedem Emulator vorfindet, wenn gescrollt wird.
    Einfach mal einen simplen Scroller laufen lassen auf Original C64 und PC mit Emu gleichzeitig und vergleichen.


    Dass dieses Phänomen mit neueren Vice Versionen allerdings schlimmer geworden sein soll, kann ich so nicht bestätigen.

  • das zucken ab und an aufgrund frameratenunterschiede gibts hier natürlich auch... DAS lässt sich auch nicht wirklich vermeiden. (mein display kann aber 50hz, von daher ist das hier sehr minimal)

  • Die Bewegungsunschärf bei Frequenzdopplung meine ich nicht, die ist klar. Ältere Vice Versionen waren vom Tearing Effekt betroffen, neuere laufen hier aber alles andere als flüssig, ReSid ist natürlich aus.


    Edit: So, die Vice.ini nochmal gelöscht. Nun scrollt es doch erheblich besser. Allerdings ist der Tearing Effekt immer noch da. Der müßte euch aber auch in v2.1 noch auffallen.

  • Quote

    Was mich wundert ist, dass es im Hoxs64 hier etwas weicher als im Vice läuft.


    hoxs synchronisiert etwas anders, und arbeitet wenn ich mich recht erinner auch mit interpolierten zwischenframes.


    Quote

    Die Bewegungsunschärf bei Frequenzdopplung meine ich nicht, die ist klar.


    frequenzdopplung?


    Quote

    Ältere Vice Versionen waren vom Tearing Effekt betroffen, neuere laufen hier aber alles andere als flüssig,


    tearing gibts hier nicht, dafür (bzw dagegen) gibts opengl-sync ... ich glaube das kann die windoof version aber nicht =P


    davon ab sollte die 2.1 aber besser laufen als die alten versionen, da sie deutlich schneller ist.


    Quote

    ReSid ist natürlich aus.


    in 2.1 ist vice mit aktiviertem resid schneller als die vorversionen ohne - das sollte keinen nennenswerten unterschied machen. (tut sich ernsthaft noch wer den schrottsound der alten engine an? hilfe...)

  • WinVice läuft in OpenGL, nicht in DirectDraw? Wie auch immer, den Vsync kann man schon im Treiber aktivieren. Allerdings ist das als generelle Option nicht gut, sondern besser es der Applikation zu überlassen den Vsync zu aktivieren. Windoof zickt sonst gern mal rum. Die meisten Emulatoren haben aber auch eine eigene Vsync Option, Vice wohl nicht.


    Die geweakte v1.20 Version läuft halt ohne Tearing, alle anderen nicht. Ist wohl die Kombination CRT+XP+Nvidia.

  • Quote

    WinVice läuft in OpenGL, nicht in DirectDraw?


    unter windows direct-x ... vermutlich


    Quote

    Wie auch immer, den Vsync kann man schon im Treiber aktivieren. Allerdings ist das als generelle Option nicht gut, sondern besser es der Applikation zu überlassen den Vsync zu aktivieren. Windoof zickt sonst gern mal rum. Die meisten Emulatoren haben aber auch eine eigene Vsync Option, Vice wohl nicht.


    genau diese option meine ich ... die gibts schon, nur halt nicht in der windows version :=P

  • DirectX ist schon klar, allerdings stellt sich die Frage ob DirectDraw oder Direct3D. Oder eben doch OpenGL. Ootake (ein PC Engine Emulator), hatte jahrelang das Problem mit dem Tearing Effekt in DirectDraw (trotz Vsync Option), seitdem er auch Direct3D unterstützt ist das verschwunden. Komisch nur, das viele Emulatoren noch DirectDraw bieten und dort alles einwandfrei läuft.


    Soso, Vsync gibt es in anderen Vice ports? Warum nicht in Windows? Das sollte man ändern, dann ist das Problem "vielleicht" gefixt.

  • Was man sich tunlichst verkneifen sollte, ist VSync in Vice zu aktivieren, wenn man keine 50 Hz oder 100 Hz eingestellt hat.
    Denn dann wartet er natuerlich. Was das bedeutet, wenn ein 50 Hz Takt intern vorhanden ist, extern aber der Frame durch den 60 Hz Takt grade vorbei ist, kann man sich einfach ausmalen.

  • Ist alles bekannt, natürlich habe ich 100Hz eingestellt. Naja, irgendwann wird das auch mal gefixt. Chrille hatte nach v1.20 nichts mehr gepostet.


    Die WinVice Version halt keine echte Vsync Funktion, sondern nur eine VBlank Synchronisation. Das reicht wohl nicht in allen PC/OS Konfigurationen aus.

  • Quote

    Was ist denn überhaupt ein Tearingeffekt?


    ich wollte erst auf wikipedia linken.... aber da steht ja mal grossartiger unfug =D


    stell dir nen bildschirmfüllenden scroller vor.... zb bei giana sisters im "titel" (da sieht man besagten effekt auch sehr gut wenn er auftritt) wenn der nun vom emu angezeigt wird und der emu NICHT mit dem bildaufbau des pc synchronisiert ist kommt es dazu das bei einem (PC) frame nur ein teil des c64 frames upgedated wird, zum beispiel die untere hälfte. optisch äussert sich das dann so das es so aussieht als wäre die untere hälfte schon einen pixel weiter gescrollt als die obere hälfte -> das nennt man "tearing". typischerweise sieht man deswegen dann so "streifen" durchs bild laufen.


    Quote

    Die WinVice Version halt keine echte Vsync Funktion, sondern nur eine VBlank Synchronisation.


    und ich dachte immer das wäre exakt das gleiche /o\

  • Quote

    und ich dachte immer das wäre exakt das gleiche /o\


    Dann muß trotzdem ein Fehler vorhanden sein. Ein Vsync Bug in Vice oder im Treiber? Muß ja letztlich einen Grund geben, warum die optimierte v1.20 Version ohne Tearing Effekt glänzen kann. Vielleicht ein Problem des Frame Buffers? Man kann in WinVice einen Videocache aktivieren, bringt aber auch keine Besserung.


    Der Source Code ist ja nicht verfügbar, wie es scheint.

  • Quote

    Dann muß trotzdem ein Fehler vorhanden sein. Ein Vsync Bug in Vice oder im Treiber? Muß ja letztlich einen Grund geben, warum die optimierte v1.20 Version ohne Tearing Effekt glänzen kann. Der Source Code ist ja nicht verfügbar, wie es scheint.


    letzteres ist natürlich der knackpunkt bei derartigen gpl verstössen =P


    bug würde ich das aber nicht nennen ... was er gemacht hat ist die synchronisation so zu ändern das pro pc frame immer genau ein c64 frame dargestellt wird, was die darstellung flüssig macht, aber auch nebenwirkungen hat - wie zb das der emulator schneller läuft als ein richtiger c64.eventuell hat er zusätzlich auch noch doublebuffering eingebaut, alles kein hexenwerk :) nur so lange sich niemand findet der das in vice einbauen will (und kann) äusserst müssig darüber zu diskutieren =P

  • Quote

    Was genau macht den der WinVice Video Cache? Klingt für mich nach Double/Tripple Buffering.


    ne, der video cache macht die emulation schneller wenn nichts passiert, und langsamer wenn viel passiert =P mit doublebuffer hat das aber nix zu tun, das ist eine optimierung aus der vice steinzeit in der es noch sinn machte möglichst wenig daten über den bus zur grafikkarte zu schicken :)