Extrem unterschiedliche FPS in Fullscreen/Windowed



  • Hi!

    Bei meiner DirectX Anwendung kommt es zu extrem unterschiedlichen FPS zwischen
    dem Betrieb in Fullscreen und im Window-Modus.

    Mal eine kleine Tabelle:

    Modus        |   Full   | Window |
    -------------|----------|--------|
    Undetailiert | ~10.000  |  ~100  |
    Detailiert   |  ~1.000  |  ~100  |
    
    Auflösung: 320*240
    

    Interessant ist, dass sich die FPS im Window Modus nicht durch den Detailgrad
    des Modells beeinflussen lässt.

    Bei den DirectX Samples hab ich fast die gleichen FPS bei Full und Window.

    Der Profiler hat nichts gebracht, da die Stellen, die viel verbrauchen in der
    gdi32.dll sind und so sinnvolle Namen haben, wie "Dsource37" 😕

    Hat jemand vielleicht einen Tipp?

    P.S. das Messverfahren ist ein einfaches GetTickCount mit dem ich warte bis
    ich eine Sekunde zusammen hab und dann die Frames dazwischen zähle



  • Für Messverfahren solltest du den QueryPerformanceCounter verwenden, weil GetTickCount unpräzise ist. Aber daran wird eine solche Differenz wohl nicht liegen.



  • randa schrieb:

    Für Messverfahren solltest du den QueryPerformanceCounter verwenden, weil GetTickCount unpräzise ist. Aber daran wird eine solche Differenz wohl nicht liegen.

    klar... das ist auch eher ein Ich-Will-Mal-Schnell-Wissen-Wieviel-Fps-Eigentlich-
    Meine-Engine-Bringt-FPS-Messer 🙂

    // Edit: Gibt es sowas wie VSync nur im Desktop Modus?


  • Mod

    liegt an der refresh rate deines monitors wenn du windowed bist.

    rapso->greets();



  • rapso schrieb:

    liegt an der refresh rate deines monitors wenn du windowed bist.

    ^^ Hat sich überschnitten mit meinem Edit 🙂

    Kann man das deaktivieren? Weil VSync würde ja eigentlich auch im Fullmodus
    greifen müssen....

    Und warum laufen die DX SDK Samples so schnell?



  • EnERgYzEr schrieb:

    Kann man das deaktivieren?

    Warum sollte man?

    Bye, TGGC \-/



  • Weil ich beim entwicklen generell im Window-Modus arbeite, da man dann leichter
    debuggen kann. Und beim entwicklen will ich auch wissen, ob eine Änderung
    von der Performance her positive Auswirkungen hatte.



  • It is easier to optimize correct code than to correct optimized code.

    Bye, TGGC (Reden wie die Großen)



  • TGGC schrieb:

    It is easier to optimize correct code than to correct optimized code.

    und ich mach beides gleichzeitig 🙂

    ich entwickle meine engine weiter und probiere gleichzeitig verschiedene
    implementierungsweisen aus...

    // P.S. Deine Homepage is off 😃


Anmelden zum Antworten