Freigeben über


while-Anweisung

Führt einen Anweisungsblock aus, bis der bedingte Ausdruck fehlschlägt.

[Attribut] while ( Conditional ) { Statement Block; }

Parameter

Attribut

Ein optionaler Parameter, der steuert, wie die Anweisung kompiliert wird.

attribute BESCHREIBUNG
unroll(x) Heben Sie die Registrierung der Schleife auf, bis die Ausführung beendet wird. Optional können Sie angeben, wie oft die Schleife maximal ausgeführt werden darf.
loop Verwenden Von Flusssteuerungsanweisungen im kompilierten Shader; die Registrierung der Schleife nicht aufheben.
fastopt Reduziert die Kompilierzeit, führt jedoch zu weniger aggressiven Optimierungen. Wenn Sie dieses Attribut verwenden, hebt der Compiler die Registrierung von Schleifen nicht auf.
Dieses Attribut wirkt sich nur auf Shadermodellziele aus, die Breakanweisungen unterstützen. Dieses Attribut ist im Shadermodell vs_2_x und Shadermodell 3 und höher verfügbar. Dies ist besonders nützlich im Shadermodell 4 und höher, wenn der Compiler Schleifen kompiliert. Der Compiler simuliert Schleifen standardmäßig, um auszuwerten, ob die Registrierung aufgehoben werden kann. Wenn Sie nicht möchten, dass der Compiler Schleifen aufrollt, verwenden Sie dieses Attribut, um die Kompilierzeit zu reduzieren.
allow_uav_condition Ermöglicht die Beendigung einer Compute-Shaderschleife, die auf einem UAV-Lesevorgang basiert. Die Schleife darf keine systeminternen Synchronisierungsvorgänge enthalten.

Bedingte

Ein bedingter Ausdruck. Wenn der Ausdruck als true ausgewertet wird, wird der Anweisungsblock ausgeführt. Die Schleife endet, wenn der Ausdruck als false ausgewertet wird.

Anweisungsblock

Eine oder mehrere Anweisungen.

Siehe auch

Ablaufsteuerung