আমি গভীরতা পরীক্ষা না করা সত্ত্বেও পিক্সেলগুলি বাতিল করার জন্য কি আমি কর্মক্ষমতা হারা / অর্জন করব?


22

আমি যখন প্রথম বাতিল করার নির্দেশ অনুসন্ধান করেছি, তখন আমি বিশেষজ্ঞরা বলেছি যে বাতিল করা ব্যবহারের ফলে পারফরম্যান্স ড্রেন আসবে। তারা বলেছে যে পিক্সেলগুলি বাতিল করা জিপিইউর জেডবফার সঠিকভাবে ব্যবহারের ক্ষমতা ভঙ্গ করবে কারণ জিপিইউকে প্রথমে উভয় অবজেক্টের জন্য ফ্র্যাগমেন্ট শ্যাডার চালাতে হবে ক্যামেরাটির নিকটতম একটিকে বাতিল করা হয়েছে কিনা তা পরীক্ষা করতে। 2 ডি গেমের জন্য আমি বর্তমানে কাজ করছি, আমি গভীরতা-পরীক্ষা এবং গভীরতা লেখাই উভয় অক্ষম করেছি। আমি সমস্ত বস্তুকে তাদের গভীরতার সাথে অনুসারে আঁকছি এবং এগুলিই, GPU- এর অভিনব জিনিসগুলি করার দরকার নেই। এখন আমি ভাবছি যে আমার টুকরোটি শেডারটিতে পিক্সেলগুলি ফেলে দিলে কি এটি এখনও খারাপ?

উত্তর:


20

গ্রাফিক্স হার্ডওয়্যার টুকরাগুলির রঙের মান গণনা করার আগে টুকরোগুলি প্রাথমিকভাবে গভীরতা-ভিত্তিক কুলিং সম্পাদন করতে পারে (অন্য কথায়, আপনার খণ্ডের শেডার চালানোর আগে)। ফলস্বরূপ, আপনি যদি এমন কোনও বৈশিষ্ট্যগুলি ব্যবহার করেন যা এটিকে প্রভাবিত করে, যেমন discard, আলফা-টেস্টিং, বা gl_FragDepthহার্ডওয়্যারটির অপটিমাইজেশনটি করার ক্ষমতা হস্তান্তর করা হবে যেহেতু খণ্ডটির সত্য গভীরতা অনুমান করা যায় না এবং পুরো শেডারটি চালানো আবশ্যক।

আপত্তিজনক বৈশিষ্ট্যগুলির মধ্যে কোনওটির ব্যবহারের নেট পর্যবেক্ষণযোগ্য পারফরম্যান্স প্রভাব রয়েছে কিনা তা পরিস্থিতিটির উপর নির্ভর করে। প্রারম্ভিক- z অপ্টিমাইজেশন কার্যকারিতা উন্নত করতে পারে যদি আপনার খুব ব্যয়বহুল টুকরা ছায়া থাকে তবে উদাহরণস্বরূপ, তবে যদি আপনার পাইপলাইনের ব্যয়টি ভার্টেক্স শেডারে থাকে (বা অন্য কোথাও) এটি আপনার পক্ষে তেমন কোনও উপকারে আসবে না, ফলস্বরূপ আপনি সামান্য দেখতে পাবেন বা ব্যবহার করে কোনও কার্যকারিতা অবক্ষয় নয় discard

এপিআইয়ের মাধ্যমে পুরোপুরি গভীরতা পরীক্ষা নিষ্ক্রিয় করা অপ্টিমাইজেশনটি চালানো থেকেও রোধ করা উচিত, কারণ এটি ভুলভাবে-রেন্ডার দৃশ্যের ফলস্বরূপ হতে পারে। আপনার ক্ষেত্রে, তবে আপনি যে ব্যবহার করেন তা বিবেচনা করা উচিত নয় discard

সাম্প্রতিক হার্ডওয়্যার পরীক্ষাগুলি (প্রারম্ভিক স্টেনসিল পরীক্ষা সহ) জোর করে ব্যবহার করতে পারে layout(early_fragment_tests)- উত্তরের শুরুতে আমি যে পৃষ্ঠাটিতে লিঙ্ক করেছি তাতে এই বিষয়ে আরও তথ্য (এবং ক্যাভেটস) রয়েছে।


3

পারফরম্যান্স প্রশ্নগুলির মতো সর্বদা সঠিক উত্তরটি হ'ল আপনার টার্গেট হার্ডওয়্যারটিতে এটি ব্যবহার করে দেখুন এবং যা ঘটে তা পরিমাপ করুন।

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

এমনকি গভীরতার বাফার ব্যবহার করার সময়ও পারফরম্যান্স হিট সর্বদা খুব তাৎপর্যপূর্ণ হয় না, আপনি যদি জিনিসগুলি আঁকেন সে বিষয়ে সতর্ক হন।

Https://fgiesen.wordpress.com/2011/07/08/a-trip-through-the-راف টিক্স- পাইপলাইন- 2011- part-7/ এ একটি ব্লগ পোস্ট রয়েছে যা প্রাথমিকভাবে গভীরতার পরীক্ষা কীভাবে কাজ করতে পারে তার কিছু বিশদে বর্ণনা করা হয়েছে হার্ডওয়্যারে এবং কী সীমাবদ্ধতা থাকতে পারে


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