मैंने सुना है कि अगर बयानों को शादियों से बचना चाहिए, क्योंकि बयानों के दोनों हिस्सों को निष्पादित किया जाएगा, और गलत की तुलना में गिरा दिया जाएगा (जो प्रदर्शन को नुकसान पहुंचाता है)।
यह अभी भी DirectX 10 में एक समस्या है? किसी ने मुझे बताया, कि इसमें केवल सही शाखा निष्पादित होगी।
चित्रण के लिए मेरे पास कोड है:
float y1 = 5; float y2 = 6; float b1 = 2; float b2 = 3;
if(x>0.5){
x = 10 * y1 + b1;
}else{
x = 10 * y2 + b2;
}
क्या इसे तेज करने का कोई और तरीका है?
यदि हां, तो यह कैसे होता है?
दोनों शाखाएं समान दिखती हैं, एकमात्र अंतर "स्थिरांक" के मूल्य y1, y2, b1, b2
हैं ( पिक्सेल शैडर में सभी पिक्सेल के लिए समान हैं)।