از DieDie عزیز تقاضی داریم یه توضیح کامل بدن.
والا تجربه ثابت کرده بحث در مورد این چیزا از حوصله این انجمن خارجه به درد کاربرهای این انجمن نمیخوره ولی با اینحال به نظر من Gamingbolt مثل اکثر سایتها گیم تو این دوره یه خبر به قول خودشون ژورنالیستی زده برای بالا بردن تعداد بازدید کننده های سایتشون ، Tiled -based deferred rendering رو کرایتک از زمان Crysis 2 با انجینش معرفی کرده:
Let's tile those Lights!/Chapter 3
CryDevThomy's CryDev Blog [December 17th: Terrain AO]
اساس این تکنولوژی اولین بار روی کارتهای گرافیک PowerVR پیاده سازی شده که یک تکنیک برای بالا بردن راندمان رندرینگ هست توی بازیهای نسل جدید تا اونجا که من میدونم به جز Ryse بازی ISS هم از همین تکنیک برای نور پردازی استفاده میکنه (داخل pdf ـهایی که GDC 2014 معرفی کردن موجود هست).
اون Flagـی که دوستمون (Yagami) تو 11.2 DX پیدا کرده تو D3d 11.1 هم موجوده و برای استفاده از سخت افزار کارتهای PowerVR هست منتهی چون Direct X یک API یونیورسال هست و باید با هر سخت افزاری از هر سازنده ای سازگاری داشته باشه از جمله کارتهای PowerVR ممکنه یک سری Flag توی DX موجود باشه که روی کارتهای دیگه از جمله GPUـهای AMD و nVidia غیر فعال باشن.
روی کارت گرافیکهایی که این قابلیت رو به صورت سخت افزاری ندارن مثل همون R9 290X , .... میشه این تکنیک رو به صورت نرم افزاری پیاده سازی کرد ولی خوب مسلما برای Setup کردنش به کدهای اضافی و در نتیجه صرف قدرت محاسباتی (Compute Shader) بیشتری نیاز هست.
به نقل از سایت MSDN:
D3D11_FEATURE_DATA_ARCHITECTURE_INFO structure (Windows)
Code:
[COLOR=Blue]typedef[/COLOR] [COLOR=Blue]struct[/COLOR] _D3D11_FEATURE_DATA_ARCHITECTURE_INFO {
BOOL TileBasedDeferredRenderer;
} D3D11_FEATURE_DATA_ARCHITECTURE_INFO;
TileBasedDeferredRenderer Specifies whether a rendering device batches rendering commands and performs multipass rendering into tiles or bins over a render area. Certain API usage patterns that are fine for
TileBasedDefferredRenderers (TBDRs)
can perform worse on non-TBDRs and vice versa. Applications that are careful about rendering can be friendly to both TBDR and non-TBDR architectures.
TRUE if the rendering device batches rendering commands and FALSE otherwise.
چیزی که تو این خبر مجهول هست این نکته مهمه که آیا برای اجرای این تکنیک روی X One قابلیت سخت افزاری در دسترس هست یا خیر؟... تنها نکته ای که در این خبر به اون اشاره شده این هست که برای کل این محاسبات به علاوه یک سری تکنیکهای دیگه تنها از یک Compute shader سخت افزار X One استفاده شده که جالب توجه هست:
Only a single compute shader was used in Ryse for light culling and executing entire lighting and shading pipelines (with some small exceptions for complex surfaces like skin and hair)
ولی باز هم قیاس قابل استنادی در این رابطه با سایر GPU ـها وجود نداره در حال حاضر تنها کسایی که ممکنه از این مسائل اطلاع داشته باشن سازنده های استودیوهای رده بالای بازی سازی هستن که اونها هم به دلیل قراردهای عدم افشاء مطالب تا زمان پایان قراردادشون نمیتونن در این رابطه به صورت مستقیم صحبت کنن.