ছায়ার বদলানোর চেয়ে ধ্রুবক অবস্থা কি আরও ব্যয়বহুল?


14

সাধারণভাবে, শেডারগুলিতে শাখা করা ভাল ধারণা নয় good তবে এখন আমার কাছে একটি শ্যাডার রয়েছে যা সম্পূর্ণ ড্র কলের সাথে সম্মতিতে ধ্রুবক। সুতরাং যে শাখাটি কার্যকর করা হয় তা সবসময় একটি ড্র কলের জন্য একই।

এই শাখা ছাড়াই একাধিক ছায়াছবি থাকা এবং সেগুলির মধ্যে স্যুইচ করার চেয়ে এই জাতীয় শাখাটি কী আরও ব্যয়বহুল?



আমার প্রশ্নের উত্তর হিসাবে ব্যাখ্যা হিসাবে, টুকরাগুলি "ওয়ারপস" বা "ওয়েভফ্রন্টস" তে বিভক্ত হয়ে যায় এবং যদি এই জাতীয় দলের সমস্ত খণ্ড একই শাখা ব্যবহার করে তবে কেবল সেই শাখাটি কার্যকর করা হবে।
মার্টিন ইন্ডার

তবে টুকরা থেকে শেডারের কী আলাদা?
নিকিতব্লাক


1
আমার সন্দেহ হয় এটি কোনও সদৃশ নয়, তবে এটি নির্ধারণের আগে কী জিজ্ঞাসা করা হচ্ছে তা পরিষ্কার করার জন্য এটি সম্পাদনা করা দরকার। কয়েকটি উদাহরণ কোড বা দুটি বিকল্পের তুলনা করার একটি ব্যাখ্যা অনেক সহায়তা করবে।
ট্রিকোপল্যাক্স

উত্তর:


13

আধুনিক হার্ডওয়্যারে যদি কোনও গোষ্ঠীর সমস্ত আহবান একই পথ অনুসরণ করে তবে অব্যবহৃত পথটি মূল্যায়ন হয় না।

সিউডো কোডে:

if(cond){
   res = ...
}else{
   res = ...
}

হয়ে

if(anyInvocationARB(cond)){
    res1 = ...
}
if(anyInvocationARB(!cond)){
    res2 = ...
}
res = cond?res1:res2;

শেডারের anyInvocationARBযে কোনও আহ্বানের ক্ষেত্রে যদি সত্য হয় cond(ওপেনগেল এক্সটেনশন এআরবি_শাদার_গ্রুপ_ভোট থেকে ) সত্য কোথায় হবে ।

যদি কনড একা ইউনিফর্ম থেকে উদ্ভূত হয় তবে ড্রাইভার রেন্ডার শুরু করার আগে শর্তটি অনুকূলিত করতে পারে এবং মূল্যায়ন করতে পারে এবং যদি সঠিক শাখায় একটি গোটো দিয়ে প্রতিস্থাপন করতে পারে। ওপেনজিএলে ইউনিফর্ম সাবরুটাইনস নামে একটি বৈশিষ্ট্য রয়েছে যা এটিকে স্পষ্ট করে তোলে।


4
এই সত্য, কিন্তু তা না হয় না শুধুমাত্র জিনিস আপনি পারফরম্যান্সের জন্য বিবেচনা করতে হবে। GPU গুলি এখনও স্টাটিকভাবে শেডার প্রতি রিসোর্সগুলি নির্ধারিত করে, তাই এটি এখনও সংস্থান হতে পারে যেমন আপনি উভয় শাখা কার্যকর করছেন যা দখলকে আঘাত করতে পারে।
জন কলসবিেক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.