[OpenGL] VSync und Nvidia



  • Ja ich schon wieder... ich hab mir am WE das erste Mal in meinem Leben eine Geforce gekauft und schon das erste Problem in meinem Code:
    Wenn ich VSync auf "Anwendung entscheidet" stelle im Treiber, ist VSync immer aktiv (FPS-Counter geht nicht über 85). Wenn ich es explizit ausstelle, hab ich wie gewohnt meine 200 (Szene mit Objekten) - ~4000(leeres Fenster) FPS.
    Kennt jemand das Problem?
    Ich verwende die glIntervalSwapExt-Extension. Ich lade sie normal aus den Treibern mit glGetProcAdress, da Glew zu diesem Zeitpunkt noch nicht initialisiert ist.
    rya.


  • Mod

    Scorcher24 schrieb:

    ist VSync immer aktiv (FPS-Counter geht nicht über 85).

    an == 85fps, richtig

    Wenn ich es explizit ausstelle, hab ich wie gewohnt meine 200

    aus == 200fps, richtig

    ~4000(leeres Fenster) FPS.

    aus + nichts zeichnen == 4000fps, richtig

    Kennt jemand das Problem?

    das alles auf anhieb richtig laeuft? ne, hab ich eigentlich nicht, wieso?



  • Wenn ich das Programm mit VSync false aufrufe und vsync ist trotzdem aktiv obwohl im treiber steht "Anwendung entscheidet" stimmt iwas nicht rapso oder siehst du das anders? Der Code lief so mit der ATI fehlerfrei.
    rya.



  • Also in meinen Treiberoptionen gibt es:

    "On, unless app. specifies"
    "Off, unless app. specifies"

    Bei dir vielleicht auch?
    MfG



  • Nein. Leider nicht.
    Ich habe:
    Immer aus
    Immer an
    Anwendung entscheidet

    Und nur wenn es auf "immer aus" steht, isses aus. Ansonsten isses immer an... zumindest glaube ich das, weil meine AW nicht über die besagten 85 FPS kommt lt Log. Ich bin kurz davor das Ding zurückzugeben, weil bei

    if (m_settings->WantsVsync())
    {  
        wglSwapIntervalEXT (TRUE); 
    }
    

    kann man wenig falsch machen iwie..
    Karte ist eine PALIT GF 8800 GS 384MB DDR-3 PCI-E
    rya.


  • Mod

    Scorcher24 schrieb:

    Wenn ich das Programm mit VSync false aufrufe und vsync ist trotzdem aktiv obwohl im treiber steht "Anwendung entscheidet" stimmt iwas nicht rapso oder siehst du das anders?

    da hast du recht, dann stimmt was nicht, vielleicht haettest du das im anfangspost auch schreiben sollen 😉

    Der Code lief so mit der ATI fehlerfrei.

    das haettest du ebenfalls schreiben koennen 😉

    vielleicht muss man dieses application setting anders bei Nvidia uebergeben. eventuell hast du es auch nur windowed laufen und dann laeuft es grundsaetzlich erstmal mit vsync.



  • Das mit der ATI ja, das andere hab ich geschrieben 😃
    Egal rapso.

    Es lag wirklich am Windowed. Daß das bei den NVidias so ist, wusste ich nicht. Im Vollbild isses ok. Bei meiner alten ATI (X1600 AGP) war das halt nicht so :D. Da hatte ich auch Windowed meine vollen FPS. Zwar keine 4000 (:P) aber so um die ~1300 mit leerem Fenster.
    rya.


  • Mod

    Scorcher24 schrieb:

    Das mit der ATI ja, das andere hab ich geschrieben 😃

    zu dem was du schriebst hab ich entsprechend geantwortet 😛

    Es lag wirklich am Windowed. Daß das bei den NVidias so ist, wusste ich nicht. Im Vollbild isses ok. Bei meiner alten ATI (X1600 AGP) war das halt nicht so :D. Da hatte ich auch Windowed meine vollen FPS. Zwar keine 4000 (:P) aber so um die ~1300 mit leerem Fenster.
    rya.

    also hat die ATI angegeben ohne VSync zu laufen, obwohl vsync an war durch das OS? ich haette die karte an deiner stelle zurueckgegeben 😉



  • Bist du so oder tust du nur so? Ich hab nie geschrieben, dass die Treiber von ATI auf "Vsync always on" standen.... interpretationen ftl.
    Ich hab meinen Treibern immer "Anwendung entscheidet" drin. Und bei den ATI kann man auch im Windowed-Mode VSync aktivieren oder deaktivieren in der Anwendung. Wenn das bei NIVIDIA nicht geht ist das doof, aber naja is dann halt so.
    rya.


  • Mod

    Scorcher24 schrieb:

    Bist du so oder tust du nur so? Ich hab nie geschrieben, dass die Treiber von ATI auf "Vsync always on" standen.... interpretationen ftl.

    ist es so schwer zu kapieren wenn ich schreibe dass es vom OS aus auf always on ist wenn du windowed renderst?

    Ich hab meinen Treibern immer "Anwendung entscheidet" drin. Und bei den ATI kann man auch im Windowed-Mode VSync aktivieren oder deaktivieren in der Anwendung. Wenn das bei NIVIDIA nicht geht ist das doof, aber naja is dann halt so.
    rya.

    wie soll das bitte gehen im windowed mode? da gibt es mehrere applikationen und die eine sagt an, die andere aus und das OS sagt eh 'an'. entweder ati ignoriert das OS, oder der treiber emuliert mit z.b. memcopy. aber beides ist doof!



  • Habs gefunden.
    Ein simples wglSwapIntervalEXT(FALSE) und die NVIDIA hat auch im Windowed Mode VSync aus. Die NVIDIA-Treiber brauchen ein explizites "AUS" damit sie es nicht tun. Bei ATI muss mans nur einschalten.
    rya.


Anmelden zum Antworten