مشاهده تصاویر بیشتر ...
Microsoft PIX یک نرمافزار و درواقع مجموعهای از ابزارهای تخصصی است که مستقیماً توسط شرکت مایکروسافت برای پروفایلسازی (Profiling) و اِشکالزدایی (Debugging) عمیق عملکرد برنامههایی که بهشدت به گرافیک وابسته هستند، بهویژه بازیها، توسعه داده شده است و عمدتاً بر روی بازهای مخصوص سیستمعامل ویندوز (PC) و کنسول Xbox تمرکز دارد؛ این نرمافزار با هدف شناسایی و حذف گلوگاههای عملکردی در تعامل برنامه با سختافزار، بهویژه واحد پردازش گرافیکی (GPU) طراحی شده است و قابلیتهای آن به سه حوزهٔ اصلی تقسیم میشوند: دیباگینگ گرافیکی، پروفایلسازی CPU و تحلیل زمانبندی کلی.
در حوزهٔ گرافیک، قابلیت GPU Capture به توسعهدهندگان امکان میدهد اجرای یک فریم کامل را بهطور کامل ثبت کنند که این ثبت شامل تمام دستورهای سطح پایین گرافیکی ارسال شده از CPU به درایور (مانند Draw Calls، Dispatch Calls، و تغییرات وضعیت پاپلاین) است؛ پس از ثبت، نرمافزار Microsoft PIX محیطی تعاملی فراهم میکند که در آن میتوان وضعیت دقیق پاپلاین گرافیکی را در هر رویداد مشاهده کرد؛ این فرایند شامل بازرسی کامل Shaderها (HLSL یا GLSL)، وضعیت بافرها، تنظیمات رسترایزر و بهویژه منابعی مانند بافتها (Textures) و بافرهای خروجی رندر در هر مرحله از فرایند رندرینگ است و ابزارهای دیباگینگ شیدر به توسعهدهنده اجازه میدهند که اجرای منطق گرافیکی را بهصورت خطبهخط دنبال کرده و مقادیر متغیرها را در زمان اجرا برای درک اینکه چرا یک پیکسل یا هندسه بهدرستی رندر نشده است، بررسی کند.
نرمافزار Microsoft PIX از منظر عملکرد، دقیقترین زمانبندی مصرف شده توسط هر دستور گرافیکی روی GPU را گزارش میدهد تا مشخص شود آیا محدودیت اصلی از توان پردازشی GPU ناشی میشود یا خیر. بخش پروفایلسازی CPU به ضبط اجرای کد در هستههای پردازنده مرکزی میپردازد تا زمان صرف شده برای اجرای توابع مختلف اندازهگیری شود و با استفاده از Call Graphs، ساختار فراخوانیها تحلیل شده و بخشهایی که بیشترین سربار زمانبندی را ایجاد میکنند، شناسایی شوند؛ این بخش همچنین قابلیت دسترسی به Hardware Performance Counters را دارد که امکان تحلیل سطح بسیار پایینتری از عملکرد را با بررسی مواردی نظیر میزان برخورد با حافظه کش (Cache Misses) فراهم میکند.
در نهایت، ویژگی حیاتی Timing Analysis تمامی این اطلاعات را در یک نمای خط زمانی واحد ترکیب میکند، بهطوری که تلاقی اجرای CPU و GPU بهطور همزمان قابل مشاهده باشد؛ این نمای ترکیبی برای تشخیص شکافهای همگامسازی (Synchronization Gaps) که در آن CPU یا GPU مجبور به انتظار دیگری میشوند، ضروری است و به توسعهدهندگان کمک میکند که وابستگیهای متقابل و گلوگاههای ناشی از ارتباط ضعیف بین دو واحد پردازشی را بهطور مؤثر از بین ببرند و این مجموعه جامع از تحلیلهای عینی و سطح سختافزاری، نرمافزار Microsoft PIX را به یک ابزار استاندارد و حیاتی برای بهینهسازی عملکرد در موتورهای بازی مدرن، بهویژه آنهایی که از APIهایی مانند DirectX 12 استفاده میکنند، تبدیل کرده است.
توضیحات رسمی شرکت سازنده (به زبان انگلیسی)
.Microsoft PIX is a performance tuning and debugging tool for Windows and Xbox game developers using DirectX 12
:It provides seven main modes of operation
I — GPU captures for debugging and analyzing the performance of Direct3D 12 graphics render
I — Timing captures for understanding the performance and threading of all CPU and GPU work carried out by your game, and for tracking GPU memory usage
I — Function Summary captures accumulate information about how long each function runs for and how often each is called
I — Callgraph captures trace the execution of a single function
I — Memory Allocation captures provide insight into the memory allocations made by your game
I — File IO captures help you identify inefficiencies in your title’s disk IO patterns and package layout
I — System Monitor displays realtime counter data while a game is running.