nur Farb Vertexe schnneller



  • werden bei OpenGL vertexe, die nur mit glcolor modifisiert wurden schneller gerendert als mit texturen?



  • Probier es doch aus ­čśâ


  • Mod

    und alterbro, nachdem du das hier gepostet und dann nachgedacht+gegooglet hast, was kamm raus?



  • nichts, diesmal hab ich wirklich nichts gefunden aber, auf das mit dem selbst ausprobieren h├Ątt ich kommen sollen, sorry.

    danke

    ach ja wies aussieht sind Farb vertexe schneller



  • Macht das nicht Sinn?
    Blo├č einf├Ąrben geht schneller als eine ganze Textur raufmappen...



  • Is irgendwie logisch, ja aber vermuten ist gut pr├╝fen besser.



  • Das h├Ąngt ganz davon ab, ob du Vertex oder Fragment bound bist. Render mal ein Terrain 4096*4096 brute force, dann wird es kaum noch einen Unterschied machen, ob du Texturen verwendest oder nicht!



  • Ich glaube es geht eher darum, ob man glColor nimmt oder halt wirklich eine Texture.



  • Vertexfarben sind nat├╝rlich prinzipiell schneller als Texturen. Die Frage ist ob der Unterschied in deiner konkreten Anwendung ├╝berhaupt messbar oder sonstwie relevant w├Ąre...



  • Definitiv!
    Render mal eine Scene mit 100.000 Polys und nimm 10 unterschiedliche Texturen (512x512 als Beispiel)!
    Im Gegenzug f├Ąrbst du die einfach nur mit glColor ein! Ich wette du bist min. 25% schneller ^^



  • Das liegt dann vermutlich vor allem an der Tatsache dass er beim Rendern mit den 10 Texturen die Szene in 10 Teilen rendern muss.
    Ein besserer Vergleich w├Ąre eine Textur vs Vertexfarben. Vermutlich wird der Unterschied auf einigerma├čen moderner Hardware dann sehr gering ausfallen, da ein einzelner Texture-Read kaum was ausmacht, vor allem wenn du bei derart viel Geometrie sowieso eher vertexbound bist. K├Ânnte mir sogar vorstellen dass du da auch gern noch zwei Texturen draufpappen k├Ânntest ohne irgendeinen nennenswerten Unterschied festzustellen...


  • Mod

    dot schrieb:

    Vertexfarben sind nat├╝rlich prinzipiell schneller als Texturen.

    vs

    dot schrieb:

    Vermutlich wird der Unterschied auf einigerma├čen moderner Hardware dann sehr gering ausfallen, da ein einzelner Texture-Read kaum was ausmacht, vor allem wenn du bei derart viel Geometrie sowieso eher vertexbound bist.

    ich bin mir auch ganz sicher, dass vertexfarben... oder texturen... schneller sind.

    vielleicht sollte ich hier alle posts umeditieren in aepfel vs birnen und euch in rudw verschieben ­čĄí



  • rapso schrieb:

    dot schrieb:

    Vertexfarben sind nat├╝rlich prinzipiell schneller als Texturen.

    vs

    dot schrieb:

    Vermutlich wird der Unterschied auf einigerma├čen moderner Hardware dann sehr gering ausfallen, da ein einzelner Texture-Read kaum was ausmacht, vor allem wenn du bei derart viel Geometrie sowieso eher vertexbound bist.

    ich bin mir auch ganz sicher, dass vertexfarben... oder texturen... schneller sind.

    vielleicht sollte ich hier alle posts umeditieren in aepfel vs birnen und euch in rudw verschieben ­čĄí

    Naja, rein was die Performance betrifft kann mans eben so pauschal nicht sagen. Nat├╝rlich ist es so, dass man mit nur Vertexfarben prinzipiell weniger Bandbreite braucht (au├čer vielleicht wenn man gerade sowas wie Reyes implementiert ­čśë ). Man wird mit Vertexfarben daher sicherlich praktisch nie langsamer sein als mit Texturen. Aber die Frage ob es im konkreten Fall ├╝berhaupt einen messbaren Unterschied gibt und wenn ja wie gro├č der ist, l├Ąsst sich allgemein eben nicht beantworten weil es von viel zu vielen Faktoren abh├Ąngt!? Ich denk da sind wir und einig? ­čśë

    Abgesehen davon sind Vertexfarben und Texturen aber nat├╝rlich zwei v├Âllig verschiedene Dinge. Auch wenn man statt Vertexfarben evtl. mit Texturen arbeiten kann, muss das noch lange nicht besonders sinnvoll sein und umgekehrt sind Vertexfarben nat├╝rlich kaum ein Ersatz f├╝r Texturen (wenn sie es in deinem Fall w├Ąren, solltest du wohl sowieso eher Vertexfarben als Texturen verwenden)...



  • Also "Vertexfarben" heisst im einfachsten Fall R, G, B zus├Ątzlich zu den Vertex-Koordinaten.
    "Textur" heisst im einfachsten Fall U, V zus├Ątzlich zu den Vertex-Koordinaten.

    Rein was die Vertices angeht m├╝sste hier dann "Textur" schneller sein, da nur zwei zus├Ątzliche Vertex-Werte f├╝r jeden Pixel interpoliert werden m├╝ssen. Wenn ├╝berhaupt ein Unterschied besteht. Kann ja leicht sein dass die Hardware Werte sowieso immer in 4er Gruppen interpoliert, dann w├Ąre 2 vs. 3 egal.

    Ist aber alles ziemlich w├Ârscht, da wir den Pixel-Shader bei dieser ├ťberlegung noch nicht mit einbezogen haben.
    Und da wird ein einfacher Shader mit null Texture-Fetches wohl schneller sein, als ein einfacher Shader mit einem Texture-Fetch.


  • Mod

    aber behaltet das fuer euch, wenn das geheimniss an die oeffentlichkeit geraet, benutzt niemand mehr texturen, weil vertex colors ja schneller sind ­čśë


Log in to reply