گرافیک بالا در اکوسیستمهای مولتیپلتفرم، گزارش زومجی از کنفرانس کریستف ریکیو در TGC 2017
در رویداد 2017 TGC، کنفرانس یونیتی با سخنرانی کریستف ریکیو در سالن تکنیکال مجموعه برگزار شد. این کنفرانس به مبحث دستیابی به کیفیت گرافیکی بالاتر در اکوسیستمهای چند پلتفرمه اختصاص داشت.
ریکیو برنامهنویس گرافیکی و نماینده موسسه غیرانتفاعی Khronos است که روی مبحث رندرینگ فعالیت میکند. او همچنین پیش از این روی معماری تراشه گرافیکی PowerVR در شرکت ایمجینیشن تکنولوژی (Imagination Technology) کار میکرد. عمده فعالیت او مشارکت در جامعه openGL برای طراحی چندین افزونه و چاپ مقالاتی در زمینه API و سختافزار GPU و فعالیتهای مرتبط بوده است.
یکی از چالشهای پیش روی بازیسازان برای توسعهی بازی با یونیتی، وجود دستگاههای مختلف با تراشههای گرافیکی و معماریهای متفاوت است که از سیستمعاملهای iOS و اندروید بهره میبرند و بازیساز باید بتواند با پیچیدگیهای موجود دست و پنجه نرم کند. یکی از راههای پیش رو هم انتخاب API مناسب برای اجرا روی دستگاههای مذکور است که بیشترین همپوشانی و کارکرد مطابق انتظار را ارائه کند؛ APIهایی مانند OpenGL ES 3.0 که برای هر پلتفرم گزینههایی را برای فیلتر کردن و نمایش روی نسخههای مشخص و بالاتر اندروید در اختیار قرار میدهد و بازیساز دیگر بابت اجرا نشدن بازی روی دستگاههای قدیمی نگرانی نخواهد داشت.
سرفصل اول، Linear Rendering و روشهای پیادهسازی آن بود. ریکیو الگوریتمهای متعددی را برای این کار برشمرد که شامل پیادهسازی Gritz 2007 یا Lagarde 2014 برای کیفیت سینمایی بهتر خروجی بود. او سپس روشهایی برای بهبود راندمان و بهینهسازی کدهای برنامهنویسی در این روشها ارائه کرد. همچنین در مورد تفاوتهای بصری Linear Space و Gamma Space صحبت شد. در Linear Rendering در طیف sRGB هم اگر از پشتیبانی کامل سختافزاری استفاده شود، هیچ افت راندمانی در این پردازش ایجاد نخواهد شد. البته برخی کنسولها و سیستمعاملهای قدیمی از این قابلیت پشتیبانی نمیکنند.
در مبحث بعدی هم Texture Compression یا فشردهسازی بافتها مطرح شد. اهمیت این قضیه از آن جهت است که بافتها معمولا یک سوم از پهنای باند را مصرف میکنند و همین میزان هم از جهت تاثیری که روی راندمان نهایی میگذارد بسیار حائز اهمیت است. در این مورد هم گزینههای متعددی در Unity برای گزینش پیشبینی شده، بسته به API مورد استفاده قابل تعیین است.
رزولوشن رندر، آخرین مبحث مطرحشده در این جلسه، هم بر طیف وسیع دستگاههای مصرفی کاربران و دقت نمایشگرهای مختلف و تراکمهای پیکسلی متفاوت متمرکز بود که استفاده از رزولوشنهای Native را غیر منطقی جلوه میدهد و در پایان هم در مورد قابلیتهای متعدد در مرحلهی Post Processing نکاتی ذکر شد. افکتهای متنوعی مانند Color Grading ،Bloom ،DOF و برخی شیوههای بهبود تصویر مانند FXAA برای Anti aliasing و حتی Temporal AA از جمله ویژگیهایی است که در صورت مطلوب بودن راندمان قابل پیادهسازی خواهد بود.