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