ch
Feedback
سیستم های رندرینگ

سیستم های رندرینگ

前往频道在 Telegram

کانال تخصصی سیستم های رندرینگ و رندرباکس های حرفه ای VFX ، تدوین ، انیمیشن و سیستمهای پردازش چندرسانه ای و Broadcasting مهندس نصیری ۰۹۱۲۲۲۱۷۶۵۳ ارتباط با ادمین : @Mohammad_Nasiri_RN

显示更多
未指定国家未指定类别
224
订阅者
无数据24 小时
无数据7 天
无数据30 天
帖子存档
با محدوده بیشتر روشنایی و اشباع رنگ، محتوای HDR نمایش واقع‌گرایانه‌تری از جهان واقعی خواهند داشت: رنگ‌های مشکی عمیق‌تر و رنگ‌های سفید روشن‌تر از قبل به نظر می‌رسند. تغییرات ایجاد شده در تولید رنگ باعث ایجاد تصاویر واقعی‌تر می‌شود که حقیقتاً حیرت انگیز است. کاربران سرانجام می‌توانند طیف رنگ‌های قرمز و نارنجی را در آتش و یا انفجار مشاهده کنند. همچنین به خاطر درخشندگی (Contrast) بیشتر در نمایشگرهای HDR کاربران می‌توانند جزئیات بیشتری را در نقاط کاملاً تاریک و یا با نور بسیار زیاد مشاهده کنند.

(High Dynamic Range Image (HDR 1000
(High Dynamic Range Image (HDR 1000

(Standard Dynamic Range Image (SDR
(Standard Dynamic Range Image (SDR

جهت فعال سازی این قابلیت باید در نرم افزار NVIDIA Control Panel و در بخش مربوط به مدیریت تنظیمات سه بعدی (Manage 3D settings) گزینه FAST را برای پارامتر Vertical sync انتخاب کنید. توجه داشته باشید که عملکرد این پارامتر در حال پیش فرض به موتور گرافیکی گیم سپرده شده است. HDR نمایشگرهای جدید با محدوده دینامیکی بالا (HDR) یکی از بزرگ‌ترین پیشرفت‌های 20 سال اخیر در کیفیت پیکسل صفحه نمایش محسوب می‌شوند. طیف رنگ BT.2020 حداکثر 75% از رنگ‌های قابل روئیت توسط چشم انسان را پوشش می‌دهد (33% بیشتر از طیف رنگ sRGB). این یعنی افزایش 2 برابری محدوده رنگ‌ها. علاوه بر این نمایشگرهای HDR حداکثر روشنایی به‌مراتب بیشتری نسبت به نمایشگرهای نسل قبل دارند (بیش از 1000 nits در نمایشگرهای LCD) و همین‌طور درخشندگی به‌مراتب بیشتر (l>10:000 to 1).

در نمودار بالا تست این قابلیت را در بازی Counter-Strike: Global Offensive ملاحظه می‌کنید که توسط دوربین‌های بسیار پرسرعت تصویربرداری شده است. به روشنی مشخص است که Fast Sync تنها با حدوداً 8ms زمان تأخیر بیشتر نسبت به حالتی که V-SYNC غیرفعال است مانع از گسستگی شدن تصویر شده است! این در حالی است فعال بودن V-SYNC سنتی عملاً بیش از 9 برابر زمان تأخیر ورودی را افزایش داده است. نکته: Fast Sync بهترین عملکرد را در بازی‌های با نرخ FPS بالا مبتنی بر DirectX 9 دارد.

Scan from FB Render to BB When Render completes BB becomes LRB LRB becomes BB and render continues When Render completes BB becomes LRB LRB becomes BB and render continues When Render completes BB becomes LRB LRB becomes BB and render continues When scan completes LRB becomes FB Start scanning from the new FB

اما شاید برای شما نیز سؤال شده باشد که FAST SYNC چگونه کار می‌کند؟ تصور کنید 3 ناحیه در حافظه Frame Buffer تعبیه شده است که دارای 3 عملکرد متفاوت می‌باشند. 2 بخش بافر اول همانند تکنیک double-buffered V-SYNC در GPU های نسل قبل عمل می‌کنند. باور جلویی (Front Buffer) تصاویری که برای اسکن به نمایشگر فرستاده می‌شوند را در خود ذخیره می‌کند. بافر پشتی (Back Buffer) اطلاعاتی را همراه دارد که در حال رندر شدن هستند و تا زمانی که این فرآیند شکل گیری تصاویر به پایان نرسند اجازه اسکن شدن را ندارند. استفاده از V-SYNC مرسوم در گیم های با نرخ FPS بالا اصلاً زمان تأخیر ورودی مناسبی نخواهد داشت چون موتور بازی باید منتظر وقفه ایجاد شده توسط Refresh Rate نمایشگر بماند تا قبل از اینکه فریم‌های جدید در Back Buffer بارگذاری شوند، با تلنگر Back Buffer اجازه ارسال اطلاعات به نمایشگر را صادر کند. این روال تمامی مراحل را کند می‌کند و در عمل Back Buffer را به یک عامل ایجاد زمان تأخیر تبدیل می‌کند. FAST SYNC بافر سومی تحت عنوان (Last Rendered Buffer (LRB را همراه خود دارد که وظیفه آن ذخیره تمامی تصاویر رندر شده‌ای است که در Back Buffer کامل شده‌اند. در نتیجه داشتن یک کپی از فریم‌هایی که اخیراً توسط Back Buffer رندر شده تا زمانی که Front Buffer کار اسکن تصویر را کامل کند در این نقطه Last Rendered Buffer نیز در Front buffer کپی می‌شود و این روند ادامه می‌یابد. عملاً و در واقع رونویسی بافر ناکارآمد خواهد بود و در اصل نام این Buffer ها در طی این فرآیند تغییر می‌کند. بافری که تصویر را اسکن می‌کند FB، بافری که به صورت فعال در حین رندر کردن تصاویر است BB و بافری که حاوی تصاویری است که اخیراً رندر شده‌اند نیز LRB نامیده می‌شود. واحد جدید flip logic نیز در معماری Pascal این فرآیند را کنترل و مدیریت می‌کند. نمونه کاملی از این فرآیند همانند روال زیر خواهد بود:

تجربه‌ای که FAST SYNC ارائه می‌دهد بسته به نرخ FPS از نظر کیفیت و وضوح تصویر همانند وضعیتی است که V-SYNC فعال است. همچنین زمان تأخیر ورودی نیز بسیار پایین و مانند وضعیتی است که V-SYNC خاموش است.

انویدیا با بازنگری در نحوه عملکرد این فرآیند قدیمی در قدم اول در مسیر پردازش تصویر، بخش‌های مرتبط با رندر فریم و نمایش تصویر را از یکدیگر جدا کرده است. این امر به بخش‌های مرتبط با رندر اجازه می‌دهد تا به‌طور مداوم و با حداکثر سرعت به رندر اطلاعات ارسال شده توسط موتور بازی و درایور بپردازند و این فریم‌ها بتوانند موقتاً در حافظه Frame Buffer ذخیره شوند. Rendered Frames - FAST SYNC همان‌طور که اشاره شد انویدیا در مسیر رندر تصاویر، یخش های مرتبط با رندر و بخش‌های مربوط به نمایش تصاویر را از یکدیگر جدا کرده است. این امر اجازه می‌دهد تا تصویر خروجی با استفاده از راهکارهای جدید مختلف مدیریت شود که این امر مزایای فراوانی برای گیمرها در پی خواهد داشت. FAST SYNC یکی از اولین کاربردهایی است که این رویکرد جدید همراه خواهد داشت. با FAST SYNC دیگر کنترل و کندسازی جریان پردازش گرافیکی (flow control) وجود نخواهد داشت، عملکرد موتور گرافیکی همانند وضعیتی است که V-SYNC غیرفعال است و همه این‌ها به این دلیل است که دیگر مسیر پردازش تصویر، پدیده تجمع فریم‌ها در حافظه Frame Buffer وجود ندارد. زمان تأخیر تقریباً همانند زمانی که V-SYNC غیرفعال است پایین است و از همه بهتر تصویر نیز دیگر گسستگی مشاهده نخواهد شد! چون FAST SYNC انتخاب می‌کند که کدام یکی از فریم‌های رندر شده باید توسط نمایشگر اسکن شود. FAST SYNC به مسیر پردازش تصویر این اجازه را می‌دهد تا با حداکثر سرعت به پردازش تصاویر بپردازد و تعیین می‌کند تا کدام فریم برای اسکن به نمایشگر ارسال شود، در حالی که به‌طور هم‌زمان همه فریم‌ها حفظ می‌شوند و تصویر نیز بدون گسستگی در نمایشگر اسکن می‌شود.

در حالتی که V-SYNC روشن است نرخ FPS هیچ گاه از نرخ Refresh Rate نمایشگر تجاوز نمی‌کند. این امر در عمل باعث جلوگیری از گسستگی تصویر می‌شود ولی از طرفی باعث افزایش محسوس زمان تأخیر ورودی می‌شود. اما در وضعیتی که V-SYNC خاموش است نرخ FPS به صورت افسار گسیخته افزایش می‌یابد. در این حالت زمان تأخیر ورودی بسیار پایین است ولی در عمل گسستگی (بریده‌بریده شدن) در تصویر خروجی مشاهده می‌شود. این دو وضعیت یک چالش بسیار سخت برای گیمرهای کنونی محسوب می‌شود! و البته انتخاب بین این دو وضعیت نیز در شرایط مختلف همان‌طور که اشاره شد معایب و مزایای خاص خود را به همراه دارد.

موتور گرافیکی بازی وظیفه تولید فریم‌ها و ارسال آن به DirectX را بر عهده دارند. از دیگر وظایف موتور بازی محاسبه animation time (کد گذاری داخل هر فریم که در نهایت رندر می‌شود) است. در ادامه سرعت ترسیم و دیگر اطلاعات به درایور و GPU ابلاغ می‌شوند تا به تصویر رندر شده حقیقی تبدیل شوند. این اطلاعات سپس به حافظه Frame Buffer ارسال شده و در نهایت نیز جهت اسکن به نمایشگر منتقل می‌شوند. اما در پردازنده‌های گرافیکی مبتنی بر معماری Pascal این روال کمی تغییر کرده است. یک سؤال: در برخی بازی‌های کنونی مثل Counter-Strike: Global Offensive که نرخ FPS گاهی اوقات به بیش از صدها فریم در ثانیه می‌رسد، بهتر است V-SYNC فعال باشد یا غیرفعال؟

در حالت LDA تمامی حافظه‌های Frame Buffer کارت‌های گرافیک مستقل شرکت کننده در این پیکربندی با یکدیگر مرتبط خواهند بود تا مجموعه‌ای بسیار بزرگ از حافظه در اختیار توسعه دهنده قرار بگیرد (البته در این ارتباط برخی استثنائات وجود دارد). با این حال در صورتی که اطلاعات مورد نیاز یک GPU در حافظه GPU دیگر ذخیره شده باشد ممکن است نوعی افت کارایی پیش آید. در حالت MDA، حافظه هر GPU به صورت اختصاصی برای همان GPU قابل دسترس است و قابلیت دسترسی مستقیم به حافظه GPU های دیگر را ندارد. حالت LDA برای وضعیت‌هایی در نظر گرفته شده است که در آن GPU ها دقیقاً شبیه به یکدیگر هستند در حالی که در حالت MDA محدودیت‌های به‌مراتب کمتری وجود دارد. برای مثال حتی این امکان وجود دارد که کارت‌های گرافیک مجزا با تراشه‌های گرافیکی مجتمع جفت شوند و یا حتی GPU های با مدل‌های مختلف و یا حتی با سازندگان مختلف با یکدیگر جفت شوند. ولی در این حالت توسعه دهنده باید با دقت بیشتری تمامی عملیات و دستورالعمل‌هایی را که برای ارتباط میان GPU ها لازم است را مدیریت کند. در حالت پیش‌فرض کارت گرافیک GFEFORCE GTX 1080 تنها از حالت دوگانه (i2-Way) پیکربندی SLI پشتیبانی می‌کند و حالت‌های l3-Way و l4-Way پیکربندی SLI از این پس توسط انویدیا توصیه نمی‌شود. هم زمان با تکامل هر چه بیشتر بازی‌ها بسیار دشوار خواهد بود تا حالت‌های 3 و 4 گانه SLI در حالت عملیاتی افزایش کارایی محسوسی برای کاربران عادی و گیمرها به ارمغان بیاورند. برای مثال در بسیاری از بازی‌ها در پیکربندی‌های 3 و 4 گانه این CPU است که گلوگاه کارایی می‌شود و از طرف دیگر بازی‌هایی که از تکنولوژی‌هایی استفاده می‌کنند که استخراج فریم به فریم و البته متقارن آن‌ها بسیار مشکل است نیز روز به‌روز در حال افزایش است. البته مدل‌های دیگر برای استفاده از پیکربندی‌های l3-Way و l4-Way نیز وجود دارد: استفاده از حالت‌های MDA و LDA Explicit 2-Way SLI + dedicated PhysX GPU Fast Sync Fast Sync نوع با زمان تأخیر به‌مراتب کمتر تکنولوژی قدیمی Vertical Sync (V-SYNC) است که مانع از به اصطلاح tearing یا گسستگی تصویر در هنگام بیشتر شدن نرخ FPS از Refresh Rate نمایشگر می‌شود. در تصویر زیر یک طرح کلی خام از چگونگی رندر شدن یک فریم در pipeline تراشه‌های گرافیکی Nvidia را ملاحظه می‌کنید: