PixPerAn und VSYNC

  • Hallo da draußen!


    Nachdem ich also bereits die Suchfunktion mit "vsnyc" und "vertikaler snychronisation" belästigt habe, versuche ich es mal hier. Im der Anleitung für PixPerAn steht die Empfehlung, daß die vertikale Synchronisation eingeschalten sein sollte. In nVidia-Treiber habe ich nur im OpenGL-Bereich eine Option dafür, die auf "off by default" eingestellt ist. Ich habe keine Ahnung, ob PixPerAn irgendein OpenGL-Bezug hat, jedenfalls ist die Option ohne Einfluß auf die Problematik.


    Wenn ich PixPerAn (v1.0) starte, zeigt das Programm rechts oben folgende Werte:
    Frame rate: 60fps
    Frame lost: 1
    CPU load: 19-20%
    Das Auto fährt zügig durch das Bild, der Flackertest ist auch nicht gerade langsam


    Nun drücke ich Shift+F8, um die vSunc einzuschalten. (Wenn sie von Treiber schon eingeschalten wäre, sollte theoretisch nichts passieren, oder?) Nun werden folgende Werte angezeigt:
    Frame rate: 30fps
    Fame lost: * wird rasend schnell hochgezählt, ich schätze mal so 5-8 Frames pro Sekunde * 8o
    CPU load: 12-13%
    Das Auto schleicht nur noch über das Bild und der Flackertest wird fast schon erträglich.


    Drücke ich Shift+F7, dann komme ich wieder zu der Start-Angaben.


    Jedenfalls steht in der Anleitung, daß vSync eingeschalten sein soll. Die hohe Zahl der sich dann aber verlierenden Frames gibt mir zu denken, daß der Test (von der Subjektivität mal abgesehen) überhaupt keine aussagekräftigen Werte liefert.

    Was nun? Empfehlung mißachten und den Test ohne vSync durchziehen oder es sein lassen, weil bei einer Frame rate von 30Hz (30Hz_Anleitung == 30fps_Programm ??? ) die Grafikkarte laut Anleitung nicht leistungsfähig genug ist? Das System: Duron800+Geforce2MX400 mit 64MB (ohne DVI). Das Display wird mit einer Bildwiederholfrequenz von 60Hz angesteuert.


    Gruß
    Michael

    Einmal editiert, zuletzt von mic ()

  • Hallo


    Wenn du doch bei starten Frame rate: 60fps stehen hast, dann hast du doch schon Vsync an.
    60Hz = 60 Bilder pro Sekunde (Frames per Second)


    Und Frame lost war doch auch ok.

    Viele Grüße
    Randy

  • Zitat

    Original von Randy
    Hallo


    Wenn du doch bei starten Frame rate: 60fps stehen hast, dann hast du doch schon Vsync an.
    60Hz = 60 Bilder pro Sekunde (Frames per Second)


    Und Frame lost war doch auch ok.


    Echt? VSync ist schon an??


    Das verstehe ich jetzt nicht. Wenn ich im Programm Shift+F8 drücke, soll Vsync erzwungen werden. Wenn es aber schon eingeschalten ist, sollte eigentlich gar nichts passieren, oder?? Oder wird damit doch abgeschalten?? Laut Anleitung sollte das erst mit Shift+F7 passieren......
    ?(


    Gruß
    Michael

  • Also wenn ich vsync bei mir anmache, mal abgesehen von PixPerAn, da hast du max. soviele Frames wie ich als Bildwiederholungsfrequenz eingestellt habe.
    Das war bei dem alten PixPerAn so, wenn ich Vsync beim Grakatreiber nicht an hatte, konnte ich das PRG nicht nutzen.
    Also ich denke dieses Erzwingen ist nur für den Fall, das du das beim GrakaTreiber nicht anhast.


    Aber am besten kann dir da der Programmierer helfen. Schreibe ihn doch am besten ein Private Nachricht, vielleicht hat er dein Posting hier nur übersehen oder er hatte noch keine Zeit.

    Viele Grüße
    Randy

  • Hallo mic,


    Es scheint, daß Dein Treiber VSync unter DirectX schon aktiviert hat (es kann bei einigen Treiberversionen passieren, daß dies nicht von Hand einstellbar ist, wie ich festgestellt habe). Die OpenGL-Einstellung ist eine ganz andere Sache und hat nix damit zu tun.


    Wenn Du nun mit Shift+F8 noch zusätzlich den internen VSync aktivierst (der ist nicht die DirectX-Einstellung), wird sozusagen doppelt synchronisiert, d.h. zweimal pro Frame wird auf den vertikalen Rücksprung gewartet. Daraus ergibt sich dann eine halbierte Frame Rate, also 30 Hz.


    PixPerAn Version 1.0 hat eine Art "Halbautomatik", es untersucht die Frame-Rate und "schätzt", ob der Vsync schon im Treiber aktiviert war. Damit man aber immer noch die volle Kontrolle hat, kann man mit Shift+F8 und Shift-F7 fest einstellen, ob die interne Synchronisation an oder aus sein soll. Auf die Treiber-Einstellung selbst kann ich nicht so direkt zugreifen, jedenfalls nicht auf allgemeine Art. Die zusätzliche Einstellung innerhalb von PixPerAn hat nach außen keinerlei Wirkung (d.h. wirkt sich nicht auf andere Programme oder das System aus).


    Wie schon in der Anleitung beschrieben: Das, worauf es eigentlich ankommt, ist eine stabile Frame Rate von 60 Hz zu bekommen, und dazu noch eine flüssige und ruckfreie Bewegung. Also funktionierte es ja eigentlich auf Anhieb ganz gut :)


    Viele Grüße
    Wilfried

  • Zitat

    Original von wwelti
    Wenn Du nun mit Shift+F8 noch zusätzlich den internen VSync aktivierst (der ist nicht die DirectX-Einstellung), wird sozusagen doppelt synchronisiert, d.h. zweimal pro Frame wird auf den vertikalen Rücksprung gewartet. Daraus ergibt sich dann eine halbierte Frame Rate, also 30 Hz.


    Hallo Wilfried!


    Ach, es gibt auch noch eine interne Vsync? Also wenn ich das richtig verstehe, dann haut schon alles hin und ich kann von Shift+Fx die Finger lassen und den Test mit den Normaleinstellungen durchziehen. Na gut, muß mir nur noch ein Viertelstündchen Extra-Zeit über den Weg laufen...


    Gruß
    Michael

  • Hallo mic,


    Genau so ist es! Die Möglichkeit, einen VSync direkt in ein Programm einzubauen, hat man grundsätzlich. Problematisch ist dann nur, wenn der Treiber beim Bildseitenwechsel (Page flip) auch einen Vsync macht. Dann wartet man sozusagen doppelt, und halbiert somit die Frame-Rate.


    Ab Version 1.0 ist diese interne Synchronisation eingebaut, d.h. man muß sich eigentlich gar nicht mehr um die Treibereinstellungen (bezüglich des VSYNC) zu kümmern. PixPeran versucht auch automatisch die interne Synchronisation zu aktivieren, wenn es nötig ist (also wenn der Treiber nicht synchronisiert). Und falls diese automatische Einstellung versagt, kann man immer noch mit Shift-F7 und Shift-F8 die intere Synchronisation von Hand ein- oder ausschalten.


    Kurz gesagt: Alles im grünen Bereich. Klappt doch alles wunderbar bei Dir :)


    Viele Grüße
    Wilfried