بهینه‌سازی رندرینگ با پردازنده گرافیکی

یونیتی مجموعه‌ای از ویژگی‌های پیشرفته‌ی GPU را ارائه می‌دهد که با استفاده از نمونه‌سازی و حذف انسداد، فراخوانی‌های ترسیم را به میزان قابل توجهی کاهش داده و رندر اشیاء پنهان را از بین می‌برند. این ویژگی‌ها با هم کار می‌کنند تا کارایی GPU را در صحنه‌های پیچیده به حداکثر برسانند.

کشوی مخصوص پردازنده گرافیکی (GPU Resident Drawer)

قابلیت GPU Resident Drawer به طور خودکار از نمونه‌سازی با GPU برای کاهش فراخوانی‌های ترسیم و آزاد کردن زمان پردازش CPU استفاده می‌کند. این ویژگی برای صحنه‌های بزرگ با اشیاء زیادی که مش یکسانی را به اشتراک می‌گذارند، بیشترین تأثیر را دارد.

فعال کردن این قابلیت

  1. از منوی اصلی یونیتی، روی ویرایش > تنظیمات پروژه > گرافیک کلیک کنید.
  2. در بخش Shader Stripping ، گزینه Batch Renderer Group Variants را روی Keep All تنظیم کنید.
  3. دارایی Default Render Pipeline خود را که دارایی URP شما نیز هست، پیدا کنید.
  4. این دارایی را در پروژه خود جستجو کنید.
  5. روی دارایی کلیک راست کرده و Properties را انتخاب کنید.
  6. در فهرست رندررها ، روی رندرکننده‌ی جهانی کلیک راست کرده و Properties را انتخاب کنید.
  7. مسیر رندر را روی Forward+ تنظیم کنید.
  8. به دارایی URP خود برگردید، آن را انتخاب کنید و سپس روی سه نقطه در قسمت Debug کلیک کنید.
  9. حالت کشوی مقیم پردازنده گرافیکی (GPU Resident Drawer Mode) را روی Instanced Drawing تنظیم کنید.

حذف انسداد GPU

قابلیت Occlusion Culling از پردازنده گرافیکی (GPU) به جای پردازنده مرکزی (CPU) برای حذف اشیایی که پشت اشیای دیگر پنهان شده‌اند، استفاده می‌کند. این ویژگی در صحنه‌هایی با انسداد قابل توجه، مانند فضاهای داخلی یا محیط‌های متراکم، بیشترین تأثیر را دارد.

فعال کردن این قابلیت

  1. از منوی اصلی یونیتی، روی ویرایش > تنظیمات پروژه > گرافیک کلیک کنید.
  2. فعال کردن حذف انسداد پردازنده گرافیکی (GPU Occlusion Culling) .
  3. برگه URP را انتخاب کنید.
  4. در بخش Render Graph ، حالت سازگاری (Compatibility Mode) را غیرفعال کنید (Render Graph Disabled) .

بهینه‌سازی دور ریختن بافر

این بهینه‌سازی با حذف داده‌های غیرضروری بافر عمق و پردازش کارآمد بافرهای رنگی MSAA، عملکرد را بهبود می‌بخشد که باعث کاهش عملیات حافظه می‌شود.

مزایا

  • کپی و جابجایی غیرضروری داده‌های گرافیکی را حذف می‌کند.
  • سرعت رندرینگ GPU را برای همه موارد افزایش می‌دهد.

فعال کردن این قابلیت

  1. از منوی اصلی یونیتی، روی ویرایش > تنظیمات پروژه کلیک کنید.
  2. بخش مدیریت افزونه‌های XR را باز کنید و سپس روی OpenXR کلیک کنید.
  3. تب اندروید را انتخاب کنید.
  4. گروه ویژگی‌های اندروید XR را انتخاب کنید.
  5. روی نماد چرخ‌دنده کنار «پشتیبانی از اندروید XR» کلیک کنید.
  6. فعال کردن بهینه‌سازی حذف بافر (Vulkan) .

    تنظیمات یونیتی در حال بهینه‌سازی حذف بافر

غیرفعال کردن رندر از جلو به عقب

رندرینگ از جلو به عقب یک آزمایش ترتیب رندرینگ است که می‌توانید در صحنه خود امتحان کنید. وقتی با بهینه‌سازی‌هایی مانند Low-Resolution-Z (LRZ) ترکیب شود، ممکن است به عملکرد در صحنه‌هایی با انسداد قابل توجه که در آن‌ها اشیاء پس‌زمینه از سایه‌زن‌های قطعه‌ای گران‌قیمت استفاده می‌کنند، کمک کند.

با این حال، فعال کردن این تنظیم ممکن است عملکرد را نیز کاهش دهد. به همین دلیل، رها کردن آن در تنظیمات پیش‌فرض (غیرفعال) رویکرد پیشنهادی است.