3 ডি মডেলের বাজেট। কী বেশি ত্রিভুজ বা শীর্ষে সংখ্যা বিবেচনা করে


12

আমি যখন 3 ডি গেমের জন্য একটি মডেল তৈরি করছি তখন আমার বাজেট পলিগনস বা ত্রিভুজগুলিতে একটি পরিমাপ হিসাবে আমার কী নেওয়া উচিত? আমি দুটি সেট 40000 ঘনক্ষেত্রের সাথে একটি 8 টি শীর্ষ এবং 12 ত্রিভুজ সহ একটি পরীক্ষা করেছি, অন্যটি 24 টি শীর্ষ এবং 12 টি ত্রিভুজ সহ with সবই ityক্যে হয়েছিল এবং সেগুলি উভয়ই প্রক্রিয়াগতভাবে উত্পন্ন হয়েছিল। আমার অবাক করার বিষয়, উভয় সেট প্রায় একই রকম পারফর্ম করেছিল তাদের মধ্যে খুব ছোট পার্থক্য ছিল।

এর অর্থ কি এই যে আমি উল্লম্ব গণনা সম্পর্কে চিন্তিত হব না এবং কেবল ত্রিভুজ গণনাটি দেখছি?

সম্পাদনা: আমি আবার একটি পরীক্ষা করেছি যে আমি 19602 ত্রিভুজ এবং 10000 উল্লম্ব সহ একটি বিমান তৈরি করেছি এবং একই পরিমাণে তিরঙ্গলের সাথে তবে 39204 শীর্ষে রয়েছে। আমি উভয়ের 4000 জেনারেট করেছি। এখন কম শীর্ষে 14 fps থেকে 19 fps জিতেছে। সুতরাং আমি অনুমান করি যে সাধারণত কম ভাল তবে কেবল বড় পার্থক্য।


9
আপনার গেমটি লিখুন এবং সমস্যাগুলি উত্থাপিত হওয়ার সাথে সাথে তাদের সমাধান করুন। এই জাতীয় সমস্যা কখনই সামনে আসতে পারে না এবং আপনি আপনার সময় নষ্ট করছেন: পি
ভেইল্যানকোর্ট

উত্তর:


16

আসুন একটি বড় গ্রিড জাল যেমন আমরা ভূখণ্ডের জন্য ব্যবহার করতে পারি তার মতো কল্পনা করি। আমরা nএকক ড্র কলটিতে অর্ধেক আমাদের 1080p স্ক্রিনটি কভার করে এর মূল্য ত্রিভুজগুলি সরবরাহ করব ।

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

এটি রেন্ডার করতে আমাদের দরকার:

  • কমপক্ষে n/2বার বার ভার্টেক্স শেডার চালান

    ("কমপক্ষে" কারণ আমাদের শীর্ষস্থানীয় ফলাফলের জন্য ক্যাশেটি কেবল এতটাই বড় Sometimes । সুতরাং আমরা কাগজের মতো দেখতে তেমন সঞ্চয় পাই না)

  • ক্লিপ এবং কুল nত্রিভুজ।

  • কমপক্ষে 1920x1080 / 2 বা ফ্রেম বাফারের প্রায় 1 মিলিয়ন পিক্সেলের উপর দিয়ে রাস্টারাইজ এবং ইন্টারপোলেট করুন (যেহেতু আমরা বলেছি যে আমাদের অঞ্চলটি প্রায় অর্ধেক পর্দা কভার করে)।

    ("কমপক্ষে" জিপিইউরা যেভাবে পিক্সেলের কোয়াডে কাজ করে , তাই বহুভুজগুলির প্রান্তের ঠিক বাইরে কিছু টুকরো টুকরো টুকরো টুকরো টুকরো হয়ে যায় তবে মুখোশযুক্ত, যার অর্থ আমরা দু'বার টুকরো টুকরো করে প্রক্রিয়াজাত করি। নিজেই ঘটায়, যদি আমরা প্রথমে গভীরতার বাফারে সম্মুখতম বহুভুজ আঁকতে যথেষ্ট ভাগ্যবান না হই)

  • এই সমস্ত> = 1 মিলিয়ন টুকরোগুলির জন্য টুকরোগুলি শেডার চালান।

  • ফ্রেম এবং গভীরতা বাফারগুলিতে million 1 মিলিয়ন ফলাফল মিশ্রিত করুন।

ঠিক আছে, এখন আমাদের সমস্ত ভার্টিকোসকে ওয়েলভেলড করা যাক তাই এখন আমাদের 3nরেন্ডার করার জন্য শীর্ষে রয়েছে , আগের চেয়ে ছয়গুণ বেশি! আমাদের পদক্ষেপগুলি ...

  • ভার্টেক্স শ্যাডার 3nবার চালান ।

    (প্রতিটি ভার্টেক্স কেবল একবার ব্যবহার করা হয়েছে বলে ক্যাশিংয়ের কারণে কোনও তারকাচিহ্ন নেই, যদিও এর অর্থ ক্যাশে আমাদের কোনও সময় বাঁচাতে পারে না)

  • ক্লিপ এবং কুল nত্রিভুজ।

  • কমপক্ষে 1920x1080 / 2 বা ফ্রেম বাফারের প্রায় 1 মিলিয়ন পিক্সেল জুড়ে রাস্টারাইজ এবং ইন্টারপোলেট করুন।

  • এই সমস্ত> = 1 মিলিয়ন টুকরোগুলির জন্য টুকরোগুলি শেডার চালান।

  • ফ্রেম এবং গভীরতা বাফারগুলিতে million 1 মিলিয়ন ফলাফল মিশ্রিত করুন।

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

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


মেমরির এই শীর্ষগুলি পাঠানোর ব্যয় সম্পর্কে কী বলা যায়?
মাইচা লেজস্কিজিস্কি

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

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

2

আমরাও।

আপনি যদি সত্যই প্রচুর পরিমাণে ট্রিস (মিলিয়ন) কথা না বলে থাকেন তবে আপনার যা যত্নশীল তা হ'ল:

  • রেন্ডারড পিক্সেলের সংখ্যা
  • টুকরা শেডারের দাম
  • ড্র কলগুলির সংখ্যা (ডিভাইসের উপর নির্ভর করে সীমাবদ্ধতার সাথে)।

24 টি উল্লম্ব বার 4000 কিউব 96'000 শীর্ষবিন্দু দেয়।

640x380 পিক্সেল 243'200 টুকরা দেয় এবং বেশিরভাগ ডিভাইস যথেষ্ট বড় রেজোলিউশন সমর্থন করে।

ড্র কল কলকারক (1'000 কিউবের জন্য 1 একক মডেল) এড়াতে আপনি ব্যাচা করা 1'000'000 কিউব দিয়ে আপনার পরীক্ষাটি আবার চালাতে পারেন।


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

1

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

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