FrameRate (IDE - Normal)



  • Ich habe erst mit D3D begonnen und habe da ne Frage.
    Ich benutze BCB2007 und DX9. Wenn ich in der Entwicklungsumgebung etwas rendern lasse (das Objekt bewegt sich um die eigene Achse) läuft es wie 'Butter', aber wenn ich dieses ohne BCB2007 im Hintergrund laufen lasse, geht die FrameRate um 20 oder 30 runter. Gibt es dafür eine Erklärung ?
    Danke



  • Es tritt vielleicht ständig ein "Device Lost" auf und es wird versucht wieder das Device herzustellen, was viel Zeit kostet...



  • Du hast doch keine gekünstelten Frambremsen wie Sleep() oder gar Delay() drin?



  • Ich denke mal 'Device Lost' kann es nicht sein, da ich z.Z. noch keine Funktion dafür integriert habe. Sleep und dergleichen verwende ich nicht. Abgesehen davon warum dann nur, wenn ich BCB2007 laufen habe, wo sollte da der Unterschied sein ? Es spielt auch keine Rolle ob das Programm im BCB2007 geladen ist. Sobaqld ich BCB2007 gestartet habe, ist die Frame Rate höher.



  • Delay Funktionen arbeiten anders, wenn das jeweilige Borlandprogramm im Hintergrund läuft (ist ebenfalls so bei Delphi). Frag mich aber nicht warum, wozu oder wieso.



  • Vertexwahn schrieb:

    Es tritt vielleicht ständig ein "Device Lost" auf und es wird versucht wieder das Device herzustellen, was viel Zeit kostet...

    Im Fenster sollte das ja nicht passieren.

    Aber ich würde mal sagen, dass irgendwo die Prioriät abgegeben wird.



  • drakon schrieb:

    Aber ich würde mal sagen, dass irgendwo die Prioriät abgegeben wird.

    Wenn BCB die Prioriät erhöht, dann müßte es aber nur sein, wenn das Programm im BCB läuft.
    Es reicht aber aus nur den BCB gestartet zu haben, ohne irgendetwas zu laden oder so und dann das Programm von woanders zu starten. 😕
    Vielleicht Speichermanagment von Windows ?
    Ich rendere mit 'D3DPRESENT_INTERVAL_DEFAULT'. Macht es eigendlich Sinn mit 'D3DPRESENT_INTERVAL_IMMEDIATE' zu rendern ? Die Frame Rate geht da zwar wahnsinnig hoch, macht das aber Sinn, wenn die Bildwiederhohlungsrate vom Monitor da nicht mitkommt ?



  • Ich benutze jetzt 'D3DPRESENT_INTERVAL_ONE' und es scheint nun keinen Unterschied mehr zu geben.


Anmelden zum Antworten