আমি একটি 3 ডি অবজেক্টের ত্রিভুজ তৈরি করছি। আমি যদি সেগুলি গণনা করা হয় সেই ক্রমে বাফারে লিখতে পারি তবে এটি সিপিইউ কোডটি সহজ করবে। ত্রিভুজগুলির জন্য শীর্ষগুলি সুসংগত হবে না।
অর্ডার আউট লেখার জন্য কোনও পারফরম্যান্স পেনাল্টি আছে কি?
আমি একটি 3 ডি অবজেক্টের ত্রিভুজ তৈরি করছি। আমি যদি সেগুলি গণনা করা হয় সেই ক্রমে বাফারে লিখতে পারি তবে এটি সিপিইউ কোডটি সহজ করবে। ত্রিভুজগুলির জন্য শীর্ষগুলি সুসংগত হবে না।
অর্ডার আউট লেখার জন্য কোনও পারফরম্যান্স পেনাল্টি আছে কি?
উত্তর:
এখানে খেলতে (কমপক্ষে) দুটি কারণ রয়েছে। সূচকযুক্ত আদিমগুলি যখন রেন্ডার করা হয় তখন GPU গুলি একটি পোস্ট-ট্রান্সফর্ম ভার্টেক্স ক্যাশে ব্যবহার করতে পারে। এই ক্যাশের আকারটি পরিবর্তিত হয় এবং এটি পৃথক ড্র কল চলাকালীন সময়ে ব্যবহৃত হয় (একাধিক কল জুড়ে নয়, যতদূর আমি সচেতন, সুতরাং আপনি সেই প্রসঙ্গে বাফার ডেটা কতবার পরিবর্তন করেন তা বিবেচ্য নয়)।
আপনি যদি এই ক্যাশের সুবিধা গ্রহণের জন্য আপনার ডেটা সংগঠিত করেন (উদাহরণস্বরূপ অ্যালগরিদম এখানে রয়েছে ), আপনি কর্মক্ষমতা উন্নতি দেখতে পারবেন। যাইহোক, এই সংস্থার আপনার সূচকগুলি অর্ডার করার জন্য আরও কিছু করার জন্য রয়েছে যাতে প্রতিটি সূচি ট্রিপল যতটা সম্ভব দেখা-পাওয়া উল্লম্বগুলি পুনরায় ব্যবহার করতে পারে। এটি সম্ভবত আপনার নির্দিষ্ট দৃশ্যের সাথে সামান্যই বহন করবে, যদি না আপনার ত্রিভুজগুলি, আপনার সূচক বাফারের মাধ্যমে, এলোমেলোভাবে বাফারে ছড়িয়ে না পড়ে ... এই ক্ষেত্রে আপনি সম্ভবত প্রায়শই ক্যাশে ফুঁকছেন। এই ঘটনাটি ছিল কি না তা আপনার প্রশ্নে আমার কাছে পরিষ্কার ছিল না, তাই আমি এটি উল্লেখ করার মতো ভেবেছিলাম।
সমস্যা হওয়ার বেশি সম্ভাবনা হ'ল জিপিইউগুলি একটি অঙ্কনের সময় মেমরির ভার্টেক্স ডেটা অ্যাক্সেস করে। আকার যে ক্যাশে মোটামুটি unreliably মাপের এবং এটি অনুমেয় তুমি খুব দুর্বল স্থানীয় প্রান্তবিন্দু ডাটা পৃথক ঐ সূচকের প্রক্রিয়াকরণের কোর উপর ক্যাশের মধ্যে একটি উচ্চ মিস ফ্রিকোয়েন্সি পেতে পারে।
অ্যালগরিদমের পাঠযোগ্যতার ব্যয়ে ডেটা আরও ভালভাবে সাজানোর জন্য আপনার অ্যালগরিদমকে পুনরায় ইঞ্জিনিয়ার করার জন্য বিশেষত (এটি মনে হচ্ছে) আপনার অ্যাপ্লিকেশনটিতে একটি লাল পতাকা হতে পারে এমন পারফরম্যান্স সমস্যার যথেষ্ট কারণ হতে চলেছে বা না! ... এটি আমি উত্তর দিতে পারি এমন কিছু নয়, আপনাকে কিছু পরিস্থিতিতে প্রোফাইল তৈরি করতে হবে এবং দেখতে হবে।
আমি ব্যক্তিগতভাবে পঠনযোগ্য, রক্ষণাবেক্ষণযোগ্য কোডের পক্ষে ভুল করব, যদিও আমি মনে করি যে আপনি যে কোনও ক্যাশে অনুপস্থিত হচ্ছেন তা ব্যবহারকারীদের লক্ষ্য করার পক্ষে যথেষ্ট তাৎপর্যপূর্ণ হবে না।