উপকরণ এবং Shaders

আপনার অ্যান্ড্রয়েড গেমে উপকরণ এবং শেডারের ব্যবহার অপ্টিমাইজ করতে এই সেরা অনুশীলনগুলি অনুসরণ করুন৷

উপকরণ এবং শেডার হল আধুনিক 3D শিল্পের মূল বিল্ডিং ব্লক। 3D গেমগুলি যেগুলি সর্বাধিক সংখ্যক ডিভাইসে ভালভাবে চলে সেগুলি 3D আর্ট দিয়ে শুরু হয় যা গ্রাফিক্স প্রসেসরগুলির সর্বোত্তম সুবিধা নেওয়ার জন্য ডিজাইন করা হয়েছে। এই নির্দেশিকাটি আপনার গেমটিকে আরও ভাল পারফর্ম করতে এবং পাওয়ার খরচ কমাতে মোবাইলে উপকরণ এবং শেডারগুলির জন্য অপ্টিমাইজেশন এবং সর্বোত্তম অনুশীলনগুলিকে হাইলাইট করে৷

এই নিবন্ধের অংশগুলি আর্ম লিমিটেড দ্বারা অবদানকৃত এবং কপিরাইটযুক্ত কাজের উপর ভিত্তি করে।

গেম ইঞ্জিন মোবাইল বন্ধুত্বপূর্ণ shaders

গেম ইঞ্জিনগুলি কীভাবে উপকরণ এবং শেডারগুলিকে সংযুক্ত করে তাতে পার্থক্য রয়েছে। ইউনিটি ইঞ্জিন একাধিক শেডার তৈরি করতে পারে, তবে প্রতিটি উপাদানে শুধুমাত্র একটি একক শেডার বরাদ্দ থাকতে পারে। অবাস্তব ইঞ্জিন 4 লক্ষ্য প্ল্যাটফর্মের উপর ভিত্তি করে একটি উপাদানে বিভিন্ন শেডার প্রয়োগ করতে পারে।

শেডার এবং উপকরণগুলির একটি সংজ্ঞার জন্য, শিল্পীদের জন্য উপাদান এবং শেডার সেরা অনুশীলনগুলি দেখুন।

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

ঐক্য

ঐক্য একাধিক রেন্ডারিং ইঞ্জিন অন্তর্ভুক্ত. আধুনিক মোবাইল গেমগুলির জন্য, সর্বোত্তম বিকল্প হল ইউনিভার্সাল রেন্ডার পাইপলাইন (URP) । ইউআরপি-তে শেডারের একটি মানক সেট রয়েছে যা লক্ষ্য প্ল্যাটফর্মের উপর নির্ভর করে স্বয়ংক্রিয়ভাবে জটিলতার আকার নেয়। লিগ্যাসি ইউনিটি রেন্ডারার মোবাইল প্ল্যাটফর্মের জন্য ডিজাইন করা শেডারের একটি সংগ্রহ অন্তর্ভুক্ত করে। এই শেডারগুলিকে মোবাইল বিভাগে গোষ্ঠীভুক্ত করা হয়েছে৷

অবাস্তব ইঞ্জিন 4

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

অবাস্তব সম্পাদকে মোবাইল প্রিভিউ রেন্ডারিং সেট করা
চিত্র 1. অবাস্তব সম্পাদকে মোবাইল প্রিভিউ রেন্ডারিং সেট করা।

টেক্সচার স্যাম্পলার মিনিমাইজ করুন

মোবাইল ডিভাইসগুলিকে লক্ষ্য করে গেমগুলিকে তাদের উপকরণগুলিতে সম্ভাব্য কম টেক্সচার ব্যবহার করা উচিত। প্রতিটি যুক্ত টেক্সচারের জন্য অতিরিক্ত টেক্সচার স্যাম্পলিং প্রয়োজন, যা মেমরি ব্যান্ডউইথ ব্যবহার করে এবং পাওয়ার খরচ বাড়ায়। অবাস্তব ইঞ্জিন 4 মোবাইল ডিভাইসে চলাকালীন সর্বাধিক পাঁচটি উপাদানের টেক্সচারের সুপারিশ করে ৷ এমনকি পাঁচটি টেক্সচার স্যাম্পলার অনেক ডিভাইসে ব্যাপক ব্যবহারের জন্য নিষেধমূলকভাবে ব্যয়বহুল হতে পারে। টেক্সচার স্যাম্পলার সংখ্যা কমানোর কৌশলগুলির মধ্যে রয়েছে:

  • একক-চ্যানেল টেক্সচার একত্রিত করতে টেক্সচার প্যাকিং ব্যবহার করুন। এই কৌশল সম্পর্কে আরও তথ্যের জন্য, টেক্সচার গাইড দেখুন।
  • রুক্ষতা বা ধাতব মত পরামিতিগুলির জন্য ডেটা টেক্সচার থেকে পড়ার পরিবর্তে একটি সংখ্যাসূচক ধ্রুবক দিয়ে প্রতিস্থাপন করুন।
  • আরও জটিল আলোর মডেলগুলিতে আলোর গণনা সমর্থন করার জন্য প্রয়োজনীয় টেক্সচারগুলি বাদ দিতে সক্ষম হওয়ার জন্য আনলিট শেডার বা একটি সাধারণ আলো মডেল ব্যবহার করুন৷

সম্ভব হলে আলো নিষ্ক্রিয় করুন

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

আলো সহ এবং ছাড়া রেন্ডার করা একটি মডেলের তুলনা
চিত্র 2. রিয়েল টাইম লাইটিং (বাম) এবং রিয়েল টাইম লাইটিং (ডান) ছাড়া রেন্ডার করা মডেলের একটি উদাহরণ।

স্বচ্ছতার ব্যবহার কম করুন

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

একই পিক্সেলের উপর একাধিকবার আঁকা একটি সমস্যা যা ওভারড্র নামে পরিচিত। স্বচ্ছতা ওভারড্রয়ের একাধিক স্তর এড়ানো উচিত। অনেক গেমের ডায়গনিস্টিক টুল আছে যাতে ওভারড্রকে শনাক্ত করতে এবং নির্মূল করতে সাহায্য করে। আপনার গেমের পারফরম্যান্স উন্নত করতে এই টুলগুলি ব্যবহার করুন এবং আপনার ফ্রেমের হার কমিয়ে আনে এমন সমস্যা ক্ষেত্রগুলি চিহ্নিত করুন৷

ইউনিটি এডিটরে ওভারড্র ভিজ্যুয়ালাইজেশন টুলের একটি উদাহরণ
চিত্র 3. ইউনিটি এডিটরে ওভারড্র ভিজ্যুয়ালাইজেশন টুলের একটি উদাহরণ।
অবাস্তব সম্পাদকের ওভারড্র ভিজ্যুয়ালাইজেশন টুলের একটি উদাহরণ
চিত্র 4. অবাস্তব সম্পাদকের ওভারড্র ভিজ্যুয়ালাইজেশন টুলের একটি উদাহরণ।

উপযুক্ত আলফা পদ্ধতি ব্যবহার করুন

স্বচ্ছতা বাস্তবায়নের সবচেয়ে সাধারণ পদ্ধতি হল আলফা ব্লেন্ডিং এবং আলফা টেস্টিং।

আলফা টেস্টিং বস্তুর উপাদানটিকে 100% অস্বচ্ছ বা 100% স্বচ্ছ দেখাবে। আপনি এই কাটঅফের জন্য আলফা মান থ্রেশহোল্ড কনফিগার করতে পারেন। ইউনিটিতে এই ধরনের স্বচ্ছতাকে বলা হয় কাটআউট । অবাস্তব ইঞ্জিন 4 এ একে মাস্কড ব্লেন্ড মোড বলা হয়।

আলফা মিশ্রন বস্তুর উপাদানকে স্বচ্ছতার একটি পরিসীমা থাকতে দেয় এবং একটি বস্তুকে আংশিকভাবে স্বচ্ছ দেখাতে পারে। ঐক্য এই ধরনের স্বচ্ছতাকে স্বচ্ছ বলে। অবাস্তব ইঞ্জিন 4-এ একে ট্রান্সলুসেন্ট ব্লেন্ড মোড বলা হয়।

আলফা মিশ্রন এবং আলফা পরীক্ষার মধ্যে একটি তুলনা
চিত্র 5. আলফা ব্লেন্ডিং (মাঝে) এবং আলফা টেস্টিং (ডান) ব্যবহার করে রেন্ডার করা একটি উদাহরণ চিত্র (বাম)।

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

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

প্রোফাইল শেডারের জটিলতা

রেন্ডারিং বৈশিষ্ট্য যেমন টেক্সচার স্যাম্পলার, আলো এবং স্বচ্ছতা সবই শেডার জটিলতা বাড়ায় এবং রেন্ডারিং কর্মক্ষমতা হ্রাস করে। আপনি আপনার শেডার জটিলতা মূল্যায়ন করতে গেম ইঞ্জিনের সাথে সাথে বাহ্যিক গ্রাফিক্স সরঞ্জামগুলিতে তৈরি সরঞ্জামগুলি ব্যবহার করতে পারেন।

অবাস্তব ইঞ্জিন 4-এ একটি শেডার কমপ্লেক্সিটি ভিউমোড রয়েছে যা আপনার দৃশ্যের বস্তুর জন্য খরচ অনুমান প্রদান করে।

অবাস্তব সম্পাদকে শেডার কমপ্লেক্সিটি ভিউমোড
চিত্র 6. অবাস্তব সম্পাদকের শেডার কমপ্লেক্সিটি ভিউমোড।

আপনি অবাস্তব এর উপাদান পরিসংখ্যান বৈশিষ্ট্য ব্যবহার করতে পারেন উপকরণের খরচ প্রোফাইল হিসাবে আপনি তাদের লেখক হিসাবে.

অবাস্তব সম্পাদকের মধ্যে উপাদান পরিসংখ্যান প্রদর্শন
চিত্র 7. বস্তুগত পরিসংখ্যান অবাস্তব সম্পাদকে প্রদর্শন করে।

ভার্টেক্স শেডারে গণনা করুন

রেন্ডারিং শেডার গণনা সাধারণত একটি ভার্টেক্স শেডার এবং একটি টুকরো (পিক্সেল নামেও পরিচিত) শেডারের মধ্যে বিভক্ত হয়। রেন্ডার করা খণ্ডের সংখ্যা সাধারণত শীর্ষবিন্দুর সংখ্যার চেয়ে বেশি হবে। ভার্টেক্স শেডারে যদি একটি ব্যয়বহুল গণনা করা যায়, তবে এটি ফ্র্যাগমেন্ট শেডারের তুলনায় কম ঘন ঘন চালানো হবে।

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

ব্যয়বহুল গণিত অপারেশন এড়িয়ে চলুন

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

  • যোগ
  • বিয়োগ
  • গুণ

আরো ব্যয়বহুল অপারেশন অন্তর্ভুক্ত:

  • বিভাগ
  • অতীন্দ্রিয় (পাপ, কারণ, শক্তি, লগ, ট্যান)

প্রায়ই প্রোফাইল কর্মক্ষমতা

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