Was zur Hölle bringen VBOs



  • Hi
    ich sehe mir gerade das Turoial für Vertex Arrays/Buffers von nehe an. Da steht, dass VBOs noch ein bischen mehr speed bringen als pure Vertex Arrays, sofern sie denn unterstützt werden. Äh, anscheinend unterstützt meine Geforce4 die auch, allerdings gibt es keinen FPS-Unterschied zwischen VBO an und aus. Woran liegt das?
    Ich plane, meine 3D-Projekte auch auf Vertex-Arrays/Buffer umzustellen. Soll ich nun die paar extra-Zeilen für VBOs mit aufnehmen oder nicht? Ich mein, anscheinend bringt es keinen Unterschied ...



  • o - äh, schon gut. Mir is gerade der Gedanke gekommen, mal auf die CPU-Auslastung zu schauen, 100% bzw. 8% sind schon ein kleiner Unterschied ...



  • 😃
    ja AFAIK werden VBO (wirklich) im VRAM gespeichert und Vertex Arrays werden immer hin und her geschickt ...


  • Mod

    toast schrieb:

    Hi
    ich sehe mir gerade das Turoial für Vertex Arrays/Buffers von nehe an. Da steht, dass VBOs noch ein bischen mehr speed bringen als pure Vertex Arrays, sofern sie denn unterstützt werden. Äh, anscheinend unterstützt meine Geforce4 die auch, allerdings gibt es keinen FPS-Unterschied zwischen VBO an und aus. Woran liegt das?

    vsync



  • a, thx

    noch ne frage in Bezug auf die Kompatibilität. Ich las, das VBOs noch seit nich so lang unterstützt werden - is das evtl schon überhohlt? Die meisten Tuts von nehe sind ja schon n bisl älter.
    Die neueren Graka-Treiber stellen anscheinend auch eine Software-Emu für VBOs zur Verfügung. Daher überlege ich, bei Programmstart die VBO-Kompatibilität prüfen und für den Fall, das nicht, einfach auf nen Treiberupdate verweisen zu lassen und das Prog zu beenden. Dann würde man sich n bisl Kontrollstrukturieren sparen ...



  • Also sie werden schon seit etwas längerer Zeit unterstützt. Nehe wurde halt schon lange nicht mehr upgedated, den gabs schon in meiner Jugend 😃

    Aber falls du es den Benutzern von alten Rechner nicht zumuten möchtest eine besser GK sich kaufen zu müssen, dann solltest du beide Varianten beibehalten. Den Switch kannst du auch sehr performant durch Polymorphie oder zur Not MethodenPointer machen, so das dir dort keine Performance verloren geht. (sollte bei diesen kleinen Projekten auch keinen grossen Unterschied machen ob es nun eine if Anweisung ist, aber es sieht manchmal einfach nur unschön aus :-))


Anmelden zum Antworten