যদি আমার কাছে একই টেক্সচার ইউনিটে অনেক টেক্সচার (5+ মানচিত্র বলুন) আবদ্ধ থাকে তবে আমার কেবল 2 বা 3 টেক্সচারের তুলনায় এটি কি ক্যাশের পক্ষে আরও খারাপ কাজ করে?
যদি আমার কাছে একই টেক্সচার ইউনিটে অনেক টেক্সচার (5+ মানচিত্র বলুন) আবদ্ধ থাকে তবে আমার কেবল 2 বা 3 টেক্সচারের তুলনায় এটি কি ক্যাশের পক্ষে আরও খারাপ কাজ করে?
উত্তর:
কেবলমাত্র ইমালটেটের উত্তরে যুক্ত করা , এটি সত্য যে একটি শেডারে বিভিন্ন টেক্সচার ডেটারে অ্যাক্সেসের সংখ্যা বাড়ানো জিপিইউ ক্যাশে (গুলি) এর উপর চাপ বাড়িয়ে তুলবে, তবে আরও কয়েকটি কারণ রয়েছে যা প্রভাবকে উল্লেখযোগ্যভাবে প্রভাবিত করতে পারে। এটি সম্ভবত এই জটিলতার দ্বারাও জটিল যে সিপিইউ ক্যাশেগুলির মতো, জিপিইউতে ক্যাশের কয়েকটি স্তর থাকতে পারে, অর্থাত্। টেক্সচার ইউনিট <= L0 <= L1 <= .. মেমরি
যদি আপনার কাছে এমন কোনও দৃশ্য থাকে যাতে টেক্সচারের ডেটা মাইনিফিকেশন থাকে তবে তা দৃষ্টিকোণ বা সাধারণ স্কেলিংয়ের কারণে হোক এবং আপনি এমআইপি ম্যাপিং ব্যবহার করছেন না, তবে আপনি এলিয়াসিং পাবেন। এটি কেবল ভিজ্যুয়াল আর্টফ্যাক্টগুলি উত্পাদন করতে যাচ্ছে না; এটি একটি পারফরম্যান্স সমস্যা হতে পারে খুব সম্ভবত।
অ্যালাইসিংয়ের সাথে সাথে, জমিনের ঠিকানায় প্রবেশের প্রবেশাধিকারটি অসংলগ্ন হয়ে উঠবে যা কেবল ক্যাশে ছিটকেই শেষ করবে না তবে প্রচুর ডিআরএএম "পৃষ্ঠা বিরতি" (আরও সঠিকভাবে, সারি বিরতি) প্রবর্তন করবে যা ব্যয়বহুল হতে পারে। এমআইপি ম্যাপিং অসঙ্গতি হ্রাস করতে সহায়তা করে।
সম্ভবত কিছুটা সুস্পষ্ট বিকল্প, তবে আপনি যদি টেক্সচার সংক্ষেপণ (উদাহরণস্বরূপ DXTn | ETC * | পিভিআরটিসি * | ইত্যাদি) 8bpp থেকে নীচে 2bpp লক্ষ্য করে ব্যবহার করতে পারেন তবে আপনি মেমরি ব্যান্ডউইথ / ক্যাশের কার্যকারিতা ব্যাপকভাবে বৃদ্ধি করতে পারবেন 4x থেকে 16x এর গুণক। এখন আমি সমস্ত জিপিইউ-র পক্ষে কথা বলতে পারি না, তবে কয়েকটি টেক্সচার সংক্ষেপণ স্কিমগুলি (যেমন উপরে উল্লিখিতগুলি) হার্ডওয়ারে ডিকোড করার জন্য এত সহজ, যাতে ডেটা পুরো ক্যাশে স্তরক্রমের মধ্যে সংকুচিত থাকতে পারে এবং কেবল টেক্সচার ইউনিটেই সংক্ষেপিত হতে পারে thus কার্যকরভাবে সেই ক্যাশের আকারকে গুণিত করা।
স্পষ্টতই, কিছু ডেটা, যেমন পরবর্তী রেন্ডারগুলিতে টেক্সচার ডেটা হিসাবে ব্যবহৃত লক্ষ্যগুলি রেন্ডার করে, টেক্সচার সংকোচন নিয়োগ করতে পারে না। আপনি যখনই পারবেন, সবচেয়ে ছোট পিক্সেল ফর্ম্যাটটি ব্যবহার করুন যা কাজটি করবে, অর্থাত্, যদি 32 / 16bpp (A) আরজিবি করে, 4x32 ফ্ল্যাট ফর্ম্যাটগুলি ব্যবহার করবেন না!
এটি কিছুটা উপরের এলিয়াসিং উদাহরণের সাথে সম্পর্কিত, তবে আমরা এমন কেসগুলি দেখেছি যেখানে বড় রেন্ডার টার্গেট তৈরি করা হয় তবে কেবলমাত্র খুব কমই নমুনা পাওয়া যায়। ক্যাশে লাইনগুলি, এটি সিপিইউ বা জিপিইউগুলিতে হওয়া উচিত, তাই আপনি যদি প্রতিটি ক্যাশে লাইনে কেবল একটি পিক্সেল ব্যবহার করেন তবে আপনি স্থানান্তর নষ্ট করবেন।
এছাড়াও, ডাব্লুআরটি সংকুচিত টেক্সচারগুলি, এটি স্থানীয়ভাবে টেক্সেলের স্থানীয় অঞ্চলের মধ্যে ডেটা ভাগ করে সংক্ষেপণ অর্জন করে। যদি আপনার তখন সুসংগত অ্যাক্সেস না থাকে তবে মেমরির পদচিহ্ন হ্রাস বাদে সংক্ষেপণ সম্ভবত সাহায্য করবে না।
কোনও ক্যাশে ইস্যু এতটা না (ভাল, যদি না গণনা করা অ্যাক্সেসগুলি বেশ অসংলগ্ন না হয়) তবে টেক্সচার অ্যাক্সেসগুলি যেগুলি সরাসরি উল্লিখিত দ্বারা সংযুক্ত UV স্থানাঙ্ক দ্বারা সংজ্ঞায়িত হয় না সেগুলি সরাসরি সংজ্ঞায়িতগুলির চেয়ে ধীর হতে পারে।
যদিও আমি সন্দেহ করি যে এই দিনগুলিতে বেশিরভাগ টেক্সচার কোনও টাইল্ড বা মর্টন-জাতীয় (ওরফে টুইডল্ড / সুইজল্ড) অর্ডে (বা উভয়ের সংমিশ্রণে) সংরক্ষণ করা হবে, কিছু টেক্সচার এখনও স্ক্যান-লাইন ক্রমে থাকতে পারে যার অর্থ এর ঘূর্ণন টেক্সচারটি সম্ভবত উল্লেখযোগ্য সংখ্যক ক্যাশে মিস / পৃষ্ঠা বিরতির দিকে পরিচালিত করে। দুর্ভাগ্যক্রমে, আমি কোনও নির্দিষ্ট বিন্যাসটি এমনভাবে সাজানো থাকলে কীভাবে স্পট করবেন তা আমি জানি না।
(ব্যাকগ্রাউন্ড রিডিংয়ের জন্য, ব্লিনসের টেক্সচার ম্যাপিং সম্পর্কিত সত্যের চেষ্টা করুন । এফডাব্লুআইডাব্লু, কয়েক পদক্ষেপের ফলে কমপক্ষে কিছু প্রাথমিক পিসি হার্ডওয়ারে টুইডল্ড অর্ডার (অর্থাত মর্টন অর্ডার) টেক্সচারটি ব্যবহার করা হয়েছিল )।
উত্তরটি আপনি কী বোঝাতে চাইছেন তার উপর নির্ভর করে। আধুনিক হার্ডওয়্যার (উদাহরণস্বরূপ বিন্দুবিহীন টেক্সচার সহ) কত টেক্সচার "সীমাবদ্ধ" তা খুব বেশি যত্ন করে না care আসল প্রশ্নটি আপনি কতজন ব্যবহার করেন ।
টেক্সচার সাধারণত ক্যাশে-বান্ধব উপায়ে ডেটা সঞ্চয় করে (একটি মর্টন বক্ররেখা, আমি বিশ্বাস করি)। আপনি যদি আরও টেক্সচার ব্যবহার করেন তবে আপনি আরও ক্যাশে মিস করবেন, যেহেতু এখন টেক্সচারগুলি স্থানের জন্য একে অপরের সাথে প্রতিযোগিতা করে।
এটি সত্যিই সুনির্দিষ্ট, পুরাতন শেডার প্রোগ্রামিং হিউরিস্টিকের কাছে নেমে আসে: টেক্সচার টেপগুলি ধীরে ধীরে; খুব বেশি ব্যবহার করবেন না