Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »dot« (24.02.2012, 00:38)
Wo liegt eigentlich der Unterschied zwischen dem BIND von OpenGL und den Methoden SetStreamSource (für Buffer) und SetTexture (für Texturen) von D3D ?
Ist das bis auf den Namen nicht im wesentlichem das Selbe ? (Allerdings weis ich nicht ob es das bei Dx10 und Dx11 noch gibt.)
Dieser Beitrag wurde bereits 12 mal editiert, zuletzt von »dot« (24.02.2012, 02:21)
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Ich habe das aus Interesse gerade mal ausprobiert indem ich in meiner Render-Loop in einer For-Schleife via BIND eine Texture und drei Buffer swappe. Einen Einfluß auf meine Framerate hat das erst wenn die For-Schleife 20000 durchlaufen wird (also 20000 Texture- und 60000 Buffer-Swaps pro Render pass). So ein performancekiller kann das also nicht sein.Zitat
Durch das merkwürdige Objektmodell (der ganze Bind Kram), ist das entweder nur sehr ineffizient möglich ...
Zitat
Ich weigere mich diese Messung zu glauben. Ein einziges VBO-Bind führt bei mir schon zu einer Änderung der Performance. Kann es eventuell sein, dass Du schlecht gemessen hast? Sowas wie ein Rendering gemacht, was mit 300 FPS läuft, aber durch einen TFT-Monitor auf 60 FPS reduziert wird und erst nach Deinen 20k-Binds (die wie dot schon sagte ohnehin keine gute Messgröße sind, dank fehlender Caching-Problematik, etc) unter 60 FPS fällt?
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Ich wolte auch nur mal sehen ab welcher Grenze die Sache sprürbar wird (fps < 60).
Das kannst Du so pauschal auch nicht sagen. Wenn Dein Game gerade so 60 FPS schafft (also eine Frametime, die knapp unter 1/60 Sekunde liegt), dann können schon sehr wenige solcher Binds dazu führen, dass sie auf 30 FPS sinkt (nämlich bei einer Frametime konstant größer als 1/60 Sekunde), wenn VSynch an ist. Die GPU wird sich dann fast einen Frame über langweilen (die Zeit bis zum nächsten VSynch), aber wenn das Rendering eben nicht innerhalb der Zeit von einem VSynch zum nächsten machbar ist (und das jeden Frame reproduzierbar), dann haste schnell argen Ärger.
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Werbeanzeige