Nai
Lt. Commander
- Registriert
- Aug. 2012
- Beiträge
- 1.584
@ xexex
Ich habe auch nie bestritten dass soetwas im Speziellen möglich ist und gut funktioniert. Es ging mir eher darum, zu sagen dass es generell schwierig ist soetwas zu programmieren, gerade wenn es möglichst unabhängig von einer bestimmten Szene und mit einer guten Skalierung programmieren möchte.
Zum Beispiel nutzen sie in dem Artikel für die Aufteilung zwischen GPU und CPU ja nicht die Parallelität innerhalb einer Aufgabe aus, sondern nur dass sie unterschiedliche Aufgaben parallel ausführen können: Die CPU übernimmt Teile der Partikelberechnung, während die GPU die restliche Graphik macht. Das erfordert offensichtlich, dass es viel Partikellast gibt - gibt es keine Partikel auf dem Bildschirm so bringt diese Aufteilung keinen Speedup, die CPU ist untätig.
Zusätzlich können bei dieser Art der statischen Aufteilung von Tasks leicht neue Flaschenhälse entstehen - je nachdem wie schnell die GPU/CPU sind und wie viele Partikel es gibt - kann dann auf einmal die CPU limitieren und die GPU däumchen drehen. Somit ist die Skalierung dieser Aufteilung stark eingeschränkt. Im Prinzip sind es die gleichen Probleme, wenn man sich eine extra Physx GPU einbaut.
Ich habe auch nie bestritten dass soetwas im Speziellen möglich ist und gut funktioniert. Es ging mir eher darum, zu sagen dass es generell schwierig ist soetwas zu programmieren, gerade wenn es möglichst unabhängig von einer bestimmten Szene und mit einer guten Skalierung programmieren möchte.
Zum Beispiel nutzen sie in dem Artikel für die Aufteilung zwischen GPU und CPU ja nicht die Parallelität innerhalb einer Aufgabe aus, sondern nur dass sie unterschiedliche Aufgaben parallel ausführen können: Die CPU übernimmt Teile der Partikelberechnung, während die GPU die restliche Graphik macht. Das erfordert offensichtlich, dass es viel Partikellast gibt - gibt es keine Partikel auf dem Bildschirm so bringt diese Aufteilung keinen Speedup, die CPU ist untätig.
Zusätzlich können bei dieser Art der statischen Aufteilung von Tasks leicht neue Flaschenhälse entstehen - je nachdem wie schnell die GPU/CPU sind und wie viele Partikel es gibt - kann dann auf einmal die CPU limitieren und die GPU däumchen drehen. Somit ist die Skalierung dieser Aufteilung stark eingeschränkt. Im Prinzip sind es die gleichen Probleme, wenn man sich eine extra Physx GPU einbaut.