تنظیمات پروژه (Project Settings)
تمام تنظیمات عمومی WebAP در یک مکان واحد متمرکز شدهاند: Edit -> Project Settings -> Adaptive Performance (Web)

تنظیمات عمومی (General Settings)
| پارامتر | توضیحات |
|---|---|
| Target Min FPS | خط پایه عملکرد. • اگر FPS فعلی به زیر این مقدار سقوط کند (با در نظر گرفتن حاشیه عملکرد)، افزونه شروع به کاهش کیفیت گرافیک میکند. • اگر FPS بهطور پیوسته بالای آن باقی بماند، افزونه تلاش میکند تا کیفیت را بهبود بخشد. توصیه: یک مقدار منطقی تعیین کنید. برای WebGL مقدار استاندارد عملی 60 است، اما برای پروژههای سهبعدی سنگین میتوانید از 30 استفاده کنید. |
تنظیمات ایندکسر (Indexer Settings)
| پارامتر | توضیحات |
|---|---|
| Decrease Cooldown | مدت زمانی (به ثانیه) که سیستم پس از کاهش کیفیت صبر میکند تا FPS را دوباره ارزیابی کند. توصیه: باید کوتاه باشد (1.0 - 2.0 ثانیه). سیستم باید به سرعت به تأخیرها پاسخ دهد و بار اضافی را کم کند تا زمانی که FPS تثبیت شود. |
| Increase Cooldown | زمان انتظار پس از افزایش کیفیت. توصیه: باید طولانی باشد (5.0 - 10.0 ثانیه). قبل از اینکه سیستم دوباره تحت فشار قرار گیرد، باید تأیید کند که بهبود گرافیک قبلی ثبات فریم را از بین نبرده است. |
سیستم جریمه ضد یویو (Anti Yo-Yo Penalty System)
از "اثر یویو" جلوگیری میکند، جایی که کیفیت بهطور بیپایانی بین دو سطح نوسان میکند.
| پارامتر | توضیحات |
|---|---|
| Detection Window | بازه زمانی پس از افزایش کیفیت که در طی آن سیستم به دقت FPS را نظارت میکند. اگر در این دوره افت FPS رخ دهد، سیستم آن را بهعنوان اثر یویو طبقهبندی میکند. |
| Penalty Lockout Duration | مدت زمان جریمه (مثلاً 60 ثانیه) که در طول آن هرگونه تلاش برای افزایش کیفیت بهطور قطعی مسدود میشود. |
یادداشت
این جریمه صرفاً افزایشها را مسدود میکند. اگر FPS دوباره افت کند، سیستم هنوز هم میتواند در مواقع اضطراری کیفیت را کاهش دهد.
مقیاسکنندهها (Scalers)
هر Scaler فعال مجموعهای از پارامترهای پایه دارد. این پارامترها "هزینه" آن را برای سیستم تعیین میکنند. افزونه بهطور خودکار این هزینه را در لحظه محاسبه میکند: Scaler با کمترین تأثیر بصری و متناسب با هدف فعلی (Target - CPU/GPU) در اولویت اجرا قرار میگیرد.
| پارامتر | توضیحات |
|---|---|
| Max Level | تعداد گامهای (سطوح) مجزا بین کیفیت پایه و حداقل. بهعنوان مثال، Max Level = 4 یعنی این Scaler دارای ۴ مرحله کاهش کیفیت است. |
| Min Bound | حداقل مقدار مقیاس (که وقتی Scaler به Max Level خود میرسد اعمال میشود). بهعنوان مثال، 0.5 نشاندهنده کاهش کیفیت به ۵۰٪ از مقدار اصلی است. |
| Max Bound | حداکثر مقدار مقیاس. معمولاً برابر با 1.0 (کیفیت ۱۰۰٪) است، این پیشفرض سطح ۰ (Level 0) است. |
| Visual Impact | تأثیر بصری در رندرینگ (Low، Medium، High). افزونه بهطور سیستماتیک افزایش سطح (کاهش کیفیت) برای Scalerهای با تأثیر بصری Low را در اولویت قرار میدهد. |
| Target | مشخص میکند که Scaler کدام زیرسیستم را بهینهسازی میکند (CPU، GPU یا هر دو). اگر گلوگاه (Bottleneck) فعلی سیستم CPU باشد، افزونه Scalerهای متمرکز بر GPU را نادیده میگیرد. |
| Target Tags | برخی Scalerهای اختصاصی (WebResolutionScaler، WebCameraClipScaler، WebLayerCullingScaler) تنظیمات خود را بهجای اعمال سراسری، روی دوربینهای خاصی در صحنه اعمال میکنند. |
کار با تگهای دوربین (Camera Tags)
این Scalerها از فراخوانی Camera.main استفاده نمیکنند. در عوض، آنها دوربینهای فعال را با استفاده از آرایه Target Tags اسکن میکنند.
بهطور پیشفرض، تگ MainCamera در آنجا مشخص شده است. اگر بازی شما از تگهای دوربین سفارشی (مانند PlayerCamera) استفاده میکند، باید آنها را در تنظیمات Scaler اضافه کنید. در غیر این صورت مقیاسبندی روی آن دوربینها فعال نمیشود.
تنظیمات توسعه (Development Settings)
این بخش به دیباگ کردن رفتار افزونه در مرورگر یا ادیتور (Editor) اختصاص دارد.
| پارامتر | توضیحات |
|---|---|
| Logging | به شما اجازه میدهد تا گزارش (Log) دقیقی از عملکردهای افزونه را در کنسول مرورگر (یا Unity) ثبت کنید. این گزینه پیامهایی در مورد تغییرات Bottleneck، فعالسازی Scalerها و راهاندازی سیستم جریمه ضد یویو چاپ میکند. |
بهینهسازی
ثبت وقایع (Logging) از کپسولهای داخلی DebugWebAP استفاده میکند. بهشدت توصیه میشود گزینه Logging را در نسخههای نهایی (Release Build) غیرفعال کنید تا منابع حفظ شده و کنسول تمیز بماند.
