ফরোয়ার্ড এবং পিছিয়ে দেওয়া রেন্ডারিংয়ের মধ্যে পারফরম্যান্স ট্রেড অফ কী?


9

ফরোয়ার্ড রেন্ডারিং হ'ল ইনপুট জ্যামিতি এবং আলোক তথ্য থেকে সরাসরি কোনও পৃষ্ঠের খণ্ডের জন্য আলোকসজ্জার মান গণনা করার প্রক্রিয়া। স্থিতিকৃত রেন্ডারিং সেই প্রক্রিয়াটিকে দুটি ধাপে বিভক্ত করে: প্রথমে ইনপুট জ্যামিতিটি রাস্টাইজাইজ করে নির্মিত মালামাল বৈশিষ্ট্যযুক্ত একটি স্ক্রিন-স্পেস বাফার (জ্যামিতি বাফার, বা জি-বাফার) উত্পাদন করে এবং দ্বিতীয়টি জি- এর সংমিশ্রণে প্রতিটি পিক্সেলের জন্য একটি তেজস্ক্রিয় মান তৈরি করে আলো তথ্য সহ বাফার।

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

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

ফরোয়ার্ড এবং পিছিয়ে দেওয়া রেন্ডারিংয়ের মধ্যে সিদ্ধান্ত নেওয়ার সময় কি অন্যান্য ব্যবহারিক কর্মক্ষমতা বিবেচনা রয়েছে? (অনুমান করুন যে প্রয়োজন হলে আমরা প্রতিটি প্রযুক্তির বিভিন্নতা ব্যবহার করতে পারি: অর্থাত আমরা টাইল্ড এগিয়ে টাইল্ড ডিফার্ডের সাথে তুলনা করতে পারি।)

উত্তর:


11

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

জিপিইউ শিডিয়ুলিং একটি জটিল বিষয়, এবং ফরোয়ার্ড এবং পিছিয়ে দেওয়া ট্রেডঅফ কেবল "দ্রুত চালায় তবে আরও বেশি ব্যান্ডউইথ ব্যবহার করে" এটিকে ফুটিয়ে তোলে না। আপনার যদি দুটি সমান সস্তা অপারেশন থাকে যা ক্রমানুসারে চলে এবং প্রত্যেকটি একই সংখ্যক সংস্থান ব্যবহার করে তবে এগুলিকে আলাদা শেডারে বিভক্ত করার কোনও কারণ নেই: দুটি ছোট তরঙ্গফ্রন্ট যে প্রতিটি এক্স এক্স সংস্থানগুলি মৌলিকভাবে একক দীর্ঘতর ওয়েভফ্রন্টের চেয়ে ভাল কাজ করে না যে এক্স সংস্থানও ব্যবহার করে। আপনার যদি ক্রমানুসারে চালনার জন্য সস্তা অপারেশন এবং ব্যয়বহুল অপারেশন থাকে তবে, এটি পৃথক শেডারে বিভক্ত হয়ে উপকৃত হতে পারে: সাধারণভাবে শেডার সর্বাধিক পরিমাণ রিসোর্স সংরক্ষণ করবে যা এটি যে কোনও সময়ে ব্যবহার করতে পারে। এটা ' অনুমানযোগ্য যে ফরোয়ার্ড রেন্ডারিং আপনার জিপিইউর সমস্ত ব্যান্ডউইদথ ব্যবহার করতে সক্ষম হতে পারে কারণ ফ্লাইটে খুব কম ওয়েভফ্রন্ট রয়েছে যে এটি ব্যান্ডউইথকে পরিপূর্ণ করার জন্য পর্যাপ্ত অপারেশন জারি করতে পারে না। কিন্তু তুমি যদিহয় ব্যান্ডউইডথ সীমিত, সেখানে পিছিয়ে রেন্ডারিং করার কোন সুবিধা হতে পারে (যেহেতু এটি সম্ভবত আরো ব্যান্ডউইথ ব্যবহার করবে)।

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.