TRIANGLE LIST oder STRIP?



  • man sollte jedoch beachten, dass dot hier quasi den worst-case fuer striping als beispiel gewaehlt hat, naemlich nicht-zusammenhaengende polygone.
    in realen szenarien produzieren beide methoden vergleichbare ergebnisse.

    indices selbst haben keine performancerelevanz, weder ist ihre datenmenge relevant, noch ihre verarbeitungsgeschwindigkeit, vertices sind das problem.

    wenn du 1.000.000 triangles renderst, verbrauchen die rund 6mb index-daten.
    im durchschnitt hast du dann 500.000 vertices mit (sagen wir mal) 32 byte pro vertex, also rund 15mb.
    die index-daten machen dann immerhin 1/4 des durchsatzes aus - so ganz irrelevant ist das also nicht...



  • Jo. Ich wollte sowieso nur zusammenhängende Polygone zeichnen.
    Von trianglelists bin ich nun überzeugt und werde sie verwenden.

    MfG

    EDIT:
    Hmm, aber die degenerierten Dreiecke hätte ich sowieso benötigt, um eine neue Zeile zu beginnen?!



  • naja, der worst case wären alles einzelne dreiecke gewesen 😉
    natürlich sind bei normalen meshes weniger sprünge notwendig, aber wie ich bereits erwähnt hab und du selber auch sagst, werden beide methoden bei normalen bedingungen etwa die gleichen ergebnisse erzielen.
    rein technisch spricht also nichts wirklich gegen lists und nichts wirklich für strips.
    was die datenmenge angeht, so mag die zwar riesig erscheinen, aber die wäre bei einem strip auch nicht wirklich kleiner.

    und ja, die degenerierten dreiecke brauchst du natürlich bei einem strip um eine neue zeile zu beginnen.



  • Sorry, aber ich muss einfach... ich hab auf Seite 1 ja schon geschrieben dass heute eigentlich keiner mehr Tri-Strips verwendet... und dass es auch performancemässig nix um ist... bloss mir glaubt(e) mans ja nicht 🙂



  • ich hab auf Seite 1 ja schon geschrieben dass heute eigentlich keiner mehr Tri-Strips verwendet...

    mit weniger unsachgemaessen pauschalisierung haette man dir vielleicht auch mehr beachtung geschenkt 😉


  • Mod

    dot schrieb:

    natürlich sind bei normalen meshes weniger sprünge notwendig, aber wie ich bereits erwähnt hab und du selber auch sagst, werden beide methoden bei normalen bedingungen etwa die gleichen ergebnisse erzielen.

    unter normalen bedingungen duerften trilists schneller sein. einfach einen guten benchmark machen und mittels nvstripper ausprobieren 😉



  • besser als nvtristrip geht leicht.
    nimmt man das optimized mesh example aus'm direct3d-sdk (effektiv die erguesse vom hoppe), misst man (hier) keinen bemerkenswerten unterschied zwischen trilist und strip.
    es gibt (bei einem homogenen hochtesselierten mesh) auch keine begruendung, weshalb einer der beiden algorithmen bessere resultate erzielen sollte.
    fuer die gesamtperformance sind andere faktoren ohnehin relevanter.


  • Mod

    hellihjb schrieb:

    ...

    ja, ein normaluser wird kaum nen unterschied messen, aber man sollte nicht soviel wert auf die idealisierten benchmarks von paperschreibern geben. die muessen natuerlich die vorzuege ihrer methoden darstellen.



  • hellihjb schrieb:

    ich hab auf Seite 1 ja schon geschrieben dass heute eigentlich keiner mehr Tri-Strips verwendet...

    mit weniger unsachgemaessen pauschalisierung haette man dir vielleicht auch mehr beachtung geschenkt 😉

    Was war denn bitte "unsachgemaess pauschalisiert", hm?


  • Mod

    hustbaer schrieb:

    hellihjb schrieb:

    ich hab auf Seite 1 ja schon geschrieben dass heute eigentlich keiner mehr Tri-Strips verwendet...

    mit weniger unsachgemaessen pauschalisierung haette man dir vielleicht auch mehr beachtung geschenkt 😉

    Was war denn bitte "unsachgemaess pauschalisiert", hm?

    Verwendung von Tri-Strips ist eines dieser Dinge die einem vielleicht 5% (wenn überhaupt) Performance bringen wenn man sie macht, dafür aber tierisch nerven



  • Ah, das 😃
    Ok, dann ersetze 5% duch "sehr wenig".

    Andrerseits wurde hier SO viel "pauschalisiert" von den Tri-Strip Verfechtern... naja egal.



  • aber es waren doch gar keine "tri-strip-verfechter" da 🙂


Anmelden zum Antworten