Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#1459

AW: Was nervt euch so, während der Programmierung oder so allgemein

  Alt 25. Jan 2013, 09:51
HLSL, GLSL:
Nutzen jeweils automatisches Loopunrolling. Sieht eine schleife "verdächtig aus" ended dass so:
http://s7.directupload.net/images/130124/cr6ql93u.png
Du kannst diese begrenzung umgehen, aber nur bewusst, über tags die mitteilen dass x durchläufe erwartet werden.
Man kann das Unrolling auch umgehen, in dem man es komplett abschaltet (Attribute "loop" und "fastopt"*). Zumindest bei HLSL. Bei mir war die Anzahl der Durchläufe auch von einem berechneten Wert abhängig, auch ein schönes Mittel. Insgesamt kommt man bei manchen GPGPU Aufgaben recht schnell dort hin. Mittlerweile ist OpenCL aber weit genug entwickelt und verbreitet, so dass ich heute nicht mehr ein FS-Quads mit Pixelshadern missbrauchen würde. Das hätte mir vor 3 Jahren meine Abschlussarbeit deutlich vereinfacht

*)fastopt gabs damals glaube ich auch noch nicht, und "loop" war nur als gut gemeinter Rat verstanden. Meine Shader haben teils 5min kompiliert, weil der doofie dennoch versucht hat alles rauszuholen wo nichts zu holen war. Zumindest aber lief er durch!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)