Seite 1 von 1

Warum ist WireFrame langsamer als Solid

Verfasst: 16.01.2012, 23:23
von fork
Hey!

Zeichnen im wireframe-mode roestet ja fuer ueblich die framerate im gegensatz zum solid-mode. Nur, wieso ist das so?
Im solid mode muss mehr gezeichnet werden, und es werden auch einige Pixelshader mehr ausgefuehrt.

Re: Warum ist WireFrame langsamer als Solid

Verfasst: 16.01.2012, 23:48
von pUnkOuter
Ist zwar schon ziemlich alt, aber könnte immer noch aktuell sein: http://www.opengl.org/discussion_boards ... ber=122222

Generell würde ich sagen, dass GPUs einfach nicht dafür optimiert sind. Wahrscheinlich hast du in Anzahl Vorgängen mehr zu tun (weil du keine verdeckte Geometrie ausschliessen kannst), aber in Menge pro Vorgang weniger zu tun (was aber keine Rolle spielt, weil dann einfach Teile der Grafikkarte nichts zu tun haben).

Re: Warum ist WireFrame langsamer als Solid

Verfasst: 17.01.2012, 10:08
von dot
Lange, dünne Primitive sind einfach nicht unbedingt das Lieblingsessen des Rasterizers ;)

Re: Warum ist WireFrame langsamer als Solid

Verfasst: 17.01.2012, 16:27
von fork
Hey,

Danke fuer die Antworten. Gibt's dafuer aussagekraefige Belege oder sind das Vermutungen?

Re: Warum ist WireFrame langsamer als Solid

Verfasst: 17.01.2012, 19:38
von Krishty
Zum Thema langer dünner Primitives:
http://www.humus.name/index.php?page=News&ID=228
Da die Pixelverarbeitung in Quads abläuft, bedeuten lange, dünne Primitives, dass das Verhältnis von tatsächlich nutzbaren Pixeln zu Pixeln, die nur Rechenzeit verschwenden (weil sie am Ende wieder verworfen werden), ungünstiger wird.

Dasselbe gilt natürlich generell für kleine Primitives – darum lohnt es sich eigentlich nie, mehr als Anzahl Pixel ÷ 4 Dreiecke auf dem Bildschirm zu haben. Realisiert die GPU die Linien tatsächlich durch je zwei Dreiecke, hast du natürlich auf einen Schlag die sechsfache Menge Primitives auf dem Bildschirm.