تخمین زمان پردازش فریم CPU و GPU (زمان فریم) برای درک عملکرد برنامه و یافتن گلوگاه ها ضروری است. وقتی یک برنامه را با AGI نمایه میکنید، System Profiler دادههای ردیابی را ارائه میدهد که میتوانید برای تخمین زمانهای فریم استفاده کنید.
زمان های CPU
در AGI، میتوانید کل و زمانهای فعال CPU را در مسیر CPU نمایه سیستم مشاهده کنید.
کل زمان CPU
برای اندازه گیری کل زمان صرف شده CPU، محدوده زمانی را انتخاب کنید که شامل زمان بین رویدادهای ارسال فریم متوالی است. رویدادهای ارسال فریم عبارتند از eglSwapBuffers
(برای OpenGL) و vkQueuePresentKHR
(برای Vulkan).
این اندازه گیری تخمینی از زمان کل CPU است، اما لزوماً نشان دهنده زمان فعال CPU نیست. برای مثال، در برنامههای متصل به GPU، CPU ممکن است قبل از ارسال یک فریم جدید منتظر بماند تا GPU کار خود را کامل کند. این اغلب زمانی اتفاق میافتد که یک رویداد dequeueBuffer
، eglSwapBuffer
(برای OpenGL)، یا vkQueuePresent
(برای Vulkan) بخش زیادی از زمان CPU را اشغال کند. زمان انتظار در کل زمان CPU گنجانده شده است، اما زمان CPU فعال نیست.
زمان فعال CPU
زمان فعال CPU تعیین می کند که CPU چه زمانی کد برنامه را اجرا می کند بدون اینکه در حالت غیرفعال باشد.
برای اندازهگیری زمان فعال CPU، برشهای در حال اجرا را درست بالای رویدادهای CPU مشاهده کنید. تمام بخشهای ردیابی را بین دو رویداد ارسال فریم که در حالت Running هستند، بشمارید. اطمینان حاصل کنید که رشته های کاری را وارد کرده اید.
روش دیگر برای اندازه گیری زمان فعال CPU، مشاهده برش های برنامه در مسیرهای CPU است. این برش ها زمانی را نشان می دهند که CPU در حال اجرا است و با برش های در حال اجرا مطابقت دارد.
برای کمک به شناسایی برش های برنامه، می توانید نشانگرهای ATrace را به برنامه خود اضافه کنید. این نشانگرها را در مسیر CPU System Profiler نمایش می دهد.
تخمین زمان فریم پردازنده گرافیکی
برای تخمین زمانهای فریم GPU، میتوانید از برشهای GPU یا شمارندههای GPU در System Profiler استفاده کنید. تخمین در هنگام استفاده از برش های GPU دقیق تر است.
برش های GPU
اگر System Profiler اطلاعات برش GPU را در دسترس داشته باشد، میتوانید با اندازهگیری کل زمانی که برنامه شما صرف کارهایی میکند که با یک فریم مرتبط هستند، اطلاعات بسیار دقیقی از زمان فریم GPU دریافت کنید.
دستگاه های مالی
در دستگاههای مالی، برشهای GPU دارای قطعه قطعه ، غیرقطعه و گاهی اوقات تراکهای غیرقطعی مکمل هستند . برای فریمهای پیچیدهتر، کار قطعهای و غیرقطعی متوالی است، بنابراین تشخیص کار یک فریم از دیگری را میتوان با جستجوی شکافهای بین کار GPU فعال انجام داد.
به عنوان یک جایگزین، اگر با کاری که به GPU ارسال میشود آشنا هستید، شناسایی الگوی پاسهای رندر ارسال شده اطلاعاتی درباره زمان شروع و پایان یک فریم ارائه میدهد.
برای برنامههایی که گردش کار GPU به شدت موازیتری دارند، میتوانید با جستجوی همه فریمهایی که شناسه ارسال یکسانی دارند در صفحه انتخاب برای هر بخش، زمانهای فریم GPU را دریافت کنید.
برای برنامههای مبتنی بر Vulkan، میتوان از چندین ارسال برای نوشتن یک فریم استفاده کرد. شناسه های ارسالی را با استفاده از مسیر رویدادهای Vulkan ، که شامل یک بخش برای هر ارسال است، پیگیری کنید. با انتخاب یک بخش ارسال، تمام بخشهای فعالیت GPU که با ارسال مطابقت دارند برجسته میشوند.
دستگاه های آدرنو
در دستگاههای Adreno، برشهای GPU در مسیر GPU Queue 0 ظاهر میشوند و همیشه بهطور متوالی نشان داده میشوند، بنابراین میتوانید به تمام برشهایی که پاسهای رندر یک فریم را نشان میدهند نگاه کنید و از آنها برای اندازهگیری زمان فریمهای GPU استفاده کنید.
مشابه سناریوی مالی که قبلاً توضیح داده شد: اگر برنامه از Vulkan استفاده می کند، مسیر رویدادهای Vulkan اطلاعاتی را در مورد کار ارسال شده برای اجرای فریم ارائه می دهد. برای برجسته کردن پاسهای رندر، برشهای Vulkan Events که با قاب مرتبط هستند کلیک کنید.
سناریوهایی وجود دارد که در آن مرزهای فریم GPU به دلیل محدودیت شدید GPU در برنامه، برای تشخیص چالش برانگیزتر است. در این سناریوها، اگر با کارهایی که به GPU ارسال میشوند آشنا هستید، میتوانید الگوی اجرای رندر پاسها را شناسایی کنید و مرزهای فریم را از روی آن اطلاعات تعیین کنید.
شمارنده های GPU
اگر اطلاعات برش GPU در یک ردیابی در دسترس نباشد، می توانید زمان فریم GPU را با استفاده از مسیرهای شمارنده GPU تخمین بزنید.
دستگاه های مالی
در دستگاههای مالی، میتوانید از مسیر استفاده از GPU برای تخمین زمان فریم پردازنده گرافیکی برای برنامهای که نیاز به پردازش گرافیکی ندارد استفاده کنید. زمانی که برنامهها به پردازنده گرافیکی کمتری نیاز دارند، به جای فعالیت مداوم، دورههای منظمی از فعالیت گرافیکی بالا و پایین دارند. برای تخمین زمانهای فریم GPU با استفاده از مسیر استفاده از GPU ، مدت زمان دورههای فعالیت بالا در مسیر را اندازهگیری کنید.
اگر برنامه دارای پردازشگر گرافیکی بیشتری است، می توانید از تراک های قطعه ای و غیرقطعی برای تخمین زمان فریم GPU استفاده کنید. با جستجوی الگوها در سطوح فعالیت قطعه و مسیرهای غیرقطعه ، میتوانید تخمینی تقریبی از جایی که مرزهای یک فریم است به دست آورید و از آن برای اندازهگیری زمان فریم GPU استفاده کنید.
دستگاه های آدرنو
در دستگاههای Adreno، اگر برنامه دارای پردازنده گرافیکی نیست، میتوانید زمانهای فریم GPU را به همان روشی که با دستگاههای مالی در بخش قبلی انجام دادید، تخمین بزنید.
اگر برنامه بیشتر به GPU فشرده است، می توانید از دستورات Vertex / Second and Fragment Instructions / Second برای تخمین زمان فریم GPU استفاده کنید. با جستجوی الگوهایی در سطوح فعالیت این آهنگها، میتوانید تخمین تقریبی از جایی که مرزهای یک فریم است به دست آورید و از آن برای اندازهگیری زمان فریم GPU استفاده کنید.
این آهنگ های دیگر ممکن است اطلاعات مشابهی را ارائه دهند:
- رئوس سایه دار / دوم
- قطعات سایه دار / دوم
- % زمان سایه افکنی
- ٪ زمان قطعات
تخمین زمان پردازش فریم CPU و GPU (زمان فریم) برای درک عملکرد برنامه و یافتن گلوگاه ها ضروری است. وقتی یک برنامه را با AGI نمایه میکنید، System Profiler دادههای ردیابی را ارائه میدهد که میتوانید برای تخمین زمانهای فریم استفاده کنید.
زمان های CPU
در AGI، میتوانید کل و زمانهای فعال CPU را در مسیر CPU نمایه سیستم مشاهده کنید.
کل زمان CPU
برای اندازه گیری کل زمان صرف شده CPU، محدوده زمانی را انتخاب کنید که شامل زمان بین رویدادهای ارسال فریم متوالی است. رویدادهای ارسال فریم عبارتند از eglSwapBuffers
(برای OpenGL) و vkQueuePresentKHR
(برای Vulkan).
این اندازه گیری تخمینی از زمان کل CPU است، اما لزوماً نشان دهنده زمان فعال CPU نیست. برای مثال، در برنامههای متصل به GPU، CPU ممکن است قبل از ارسال یک فریم جدید منتظر بماند تا GPU کار خود را کامل کند. این اغلب زمانی اتفاق میافتد که یک رویداد dequeueBuffer
، eglSwapBuffer
(برای OpenGL)، یا vkQueuePresent
(برای Vulkan) بخش زیادی از زمان CPU را اشغال کند. زمان انتظار در کل زمان CPU گنجانده شده است، اما زمان CPU فعال نیست.
زمان فعال CPU
زمان فعال CPU تعیین می کند که CPU چه زمانی کد برنامه را اجرا می کند بدون اینکه در حالت غیرفعال باشد.
برای اندازهگیری زمان فعال CPU، برشهای در حال اجرا را درست بالای رویدادهای CPU مشاهده کنید. تمام بخشهای ردیابی را بین دو رویداد ارسال فریم که در حالت Running هستند، بشمارید. اطمینان حاصل کنید که رشته های کاری را وارد کرده اید.
روش دیگر برای اندازه گیری زمان فعال CPU، مشاهده برش های برنامه در مسیرهای CPU است. این برش ها زمانی را نشان می دهند که CPU در حال اجرا است و با برش های در حال اجرا مطابقت دارد.
برای کمک به شناسایی برش های برنامه، می توانید نشانگرهای ATrace را به برنامه خود اضافه کنید. این نشانگرها را در مسیر CPU System Profiler نمایش می دهد.
تخمین زمان فریم پردازنده گرافیکی
برای تخمین زمانهای فریم GPU، میتوانید از برشهای GPU یا شمارندههای GPU در System Profiler استفاده کنید. تخمین در هنگام استفاده از برش های GPU دقیق تر است.
برش های GPU
اگر System Profiler اطلاعات برش GPU را در دسترس داشته باشد، میتوانید با اندازهگیری کل زمانی که برنامه شما صرف کارهایی میکند که با یک فریم مرتبط هستند، اطلاعات بسیار دقیقی از زمان فریم GPU دریافت کنید.
دستگاه های مالی
در دستگاههای مالی، برشهای GPU دارای قطعه قطعه ، غیرقطعه و گاهی اوقات تراکهای غیرقطعی مکمل هستند . برای فریمهای پیچیدهتر، کار قطعهای و غیرقطعی متوالی است، بنابراین تشخیص کار یک فریم از دیگری را میتوان با جستجوی شکافهای بین کار GPU فعال انجام داد.
به عنوان یک جایگزین، اگر با کاری که به GPU ارسال میشود آشنا هستید، شناسایی الگوی پاسهای رندر ارسال شده اطلاعاتی درباره زمان شروع و پایان یک فریم ارائه میدهد.
برای برنامههایی که گردش کار GPU به شدت موازیتری دارند، میتوانید با جستجوی همه فریمهایی که شناسه ارسال یکسانی دارند در صفحه انتخاب برای هر بخش، زمانهای فریم GPU را دریافت کنید.
برای برنامههای مبتنی بر Vulkan، میتوان از چندین ارسال برای نوشتن یک فریم استفاده کرد. شناسه های ارسالی را با استفاده از مسیر رویدادهای Vulkan ، که شامل یک بخش برای هر ارسال است، پیگیری کنید. با انتخاب یک بخش ارسال، تمام بخشهای فعالیت GPU که با ارسال مطابقت دارند برجسته میشوند.
دستگاه های آدرنو
در دستگاههای Adreno، برشهای GPU در مسیر GPU Queue 0 ظاهر میشوند و همیشه بهطور متوالی نشان داده میشوند، بنابراین میتوانید به تمام برشهایی که پاسهای رندر یک فریم را نشان میدهند نگاه کنید و از آنها برای اندازهگیری زمان فریمهای GPU استفاده کنید.
مشابه سناریوی مالی که قبلاً توضیح داده شد: اگر برنامه از Vulkan استفاده می کند، مسیر رویدادهای Vulkan اطلاعاتی را در مورد کار ارسال شده برای اجرای فریم ارائه می دهد. برای برجسته کردن پاسهای رندر، برشهای Vulkan Events که با قاب مرتبط هستند کلیک کنید.
سناریوهایی وجود دارد که در آن مرزهای فریم GPU به دلیل محدودیت شدید GPU در برنامه، برای تشخیص چالش برانگیزتر است. در این سناریوها، اگر با کارهایی که به GPU ارسال میشوند آشنا هستید، میتوانید الگوی اجرای رندر پاسها را شناسایی کنید و مرزهای فریم را از روی آن اطلاعات تعیین کنید.
شمارنده های GPU
اگر اطلاعات برش GPU در یک ردیابی در دسترس نباشد، می توانید زمان فریم GPU را با استفاده از مسیرهای شمارنده GPU تخمین بزنید.
دستگاه های مالی
در دستگاههای مالی، میتوانید از مسیر استفاده از GPU برای تخمین زمان فریم پردازنده گرافیکی برای برنامهای که نیاز به پردازش گرافیکی ندارد استفاده کنید. زمانی که برنامهها به پردازنده گرافیکی کمتری نیاز دارند، به جای فعالیت مداوم، دورههای منظمی از فعالیت گرافیکی بالا و پایین دارند. برای تخمین زمانهای فریم GPU با استفاده از مسیر استفاده از GPU ، مدت زمان دورههای فعالیت بالا در مسیر را اندازهگیری کنید.
اگر برنامه دارای پردازشگر گرافیکی بیشتری است، می توانید از تراک های قطعه ای و غیرقطعی برای تخمین زمان فریم GPU استفاده کنید. با جستجوی الگوها در سطوح فعالیت قطعه و مسیرهای غیرقطعه ، میتوانید تخمینی تقریبی از جایی که مرزهای یک فریم است به دست آورید و از آن برای اندازهگیری زمان فریم GPU استفاده کنید.
دستگاه های آدرنو
در دستگاههای Adreno، اگر برنامه دارای پردازنده گرافیکی نیست، میتوانید زمانهای فریم GPU را به همان روشی که با دستگاههای مالی در بخش قبلی انجام دادید، تخمین بزنید.
اگر برنامه بیشتر به GPU فشرده است، می توانید از دستورات Vertex / Second and Fragment Instructions / Second برای تخمین زمان فریم GPU استفاده کنید. با جستجوی الگوهایی در سطوح فعالیت این آهنگها، میتوانید تخمین تقریبی از جایی که مرزهای یک فریم است به دست آورید و از آن برای اندازهگیری زمان فریم GPU استفاده کنید.
این آهنگ های دیگر ممکن است اطلاعات مشابهی را ارائه دهند:
- رئوس سایه دار / دوم
- قطعات سایه دار / دوم
- % زمان سایه افکنی
- ٪ زمان قطعات
تخمین زمان پردازش فریم CPU و GPU (زمان فریم) برای درک عملکرد برنامه شما و تعیین نقاط گلوگاه ضروری است. وقتی یک برنامه را با AGI نمایه میکنید، System Profiler دادههای ردیابی را ارائه میکند که میتوانید برای تخمین زمانهای فریم استفاده کنید.
زمان های CPU
در AGI، میتوانید کل و زمانهای فعال CPU را در مسیر CPU نمایه سیستم مشاهده کنید.
کل زمان CPU
برای اندازه گیری کل زمان صرف شده CPU، محدوده زمانی را انتخاب کنید که شامل زمان بین رویدادهای ارسال فریم متوالی است. رویدادهای ارسال فریم عبارتند از eglSwapBuffers
(برای OpenGL) و vkQueuePresentKHR
(برای Vulkan).
این اندازه گیری تخمینی از زمان کل CPU است، اما لزوماً نشان دهنده زمان فعال CPU نیست. برای مثال، در برنامههای متصل به GPU، CPU ممکن است قبل از ارسال یک فریم جدید منتظر بماند تا GPU کار خود را کامل کند. این اغلب زمانی اتفاق میافتد که یک رویداد dequeueBuffer
، eglSwapBuffer
(برای OpenGL)، یا vkQueuePresent
(برای Vulkan) بخش زیادی از زمان CPU را اشغال کند. زمان انتظار در کل زمان CPU گنجانده شده است، اما زمان CPU فعال نیست.
زمان فعال CPU
زمان فعال CPU تعیین می کند که CPU چه زمانی کد برنامه را اجرا می کند بدون اینکه در حالت غیرفعال باشد.
برای اندازهگیری زمان فعال CPU، برشهای در حال اجرا را درست بالای رویدادهای CPU مشاهده کنید. تمام بخشهای ردیابی را بین دو رویداد ارسال فریم که در حالت Running هستند، بشمارید. اطمینان حاصل کنید که رشته های کاری را وارد کرده اید.
روش دیگر برای اندازه گیری زمان فعال CPU، مشاهده برش های برنامه در مسیرهای CPU است. این برش ها زمانی را نشان می دهند که CPU در حال اجرا است و با برش های در حال اجرا مطابقت دارد.
برای کمک به شناسایی برش های برنامه، می توانید نشانگرهای ATrace را به برنامه خود اضافه کنید. این نشانگرها را در مسیر CPU System Profiler نمایش می دهد.
تخمین زمان فریم پردازنده گرافیکی
برای تخمین زمانهای فریم GPU، میتوانید از برشهای GPU یا شمارندههای GPU در System Profiler استفاده کنید. تخمین در هنگام استفاده از برش های GPU دقیق تر است.
برش های GPU
اگر System Profiler اطلاعات برش GPU را در دسترس داشته باشد، میتوانید با اندازهگیری کل زمانی که برنامه شما صرف کارهایی میکند که با یک فریم مرتبط هستند، اطلاعات بسیار دقیقی از زمان فریم GPU دریافت کنید.
دستگاه های مالی
در دستگاههای مالی، برشهای GPU دارای قطعه قطعه ، غیرقطعه و گاهی اوقات تراکهای غیرقطعی مکمل هستند . برای فریمهای پیچیدهتر، کار قطعهای و غیرقطعی متوالی است، بنابراین تشخیص کار یک فریم از دیگری را میتوان با جستجوی شکافهای بین کار GPU فعال انجام داد.
به عنوان یک جایگزین، اگر با کاری که به GPU ارسال میشود آشنا هستید، شناسایی الگوی پاسهای رندر ارسال شده اطلاعاتی درباره زمان شروع و پایان یک فریم ارائه میدهد.
برای برنامههایی که گردش کار GPU به شدت موازیتری دارند، میتوانید با جستجوی همه فریمهایی که شناسه ارسال یکسانی دارند در صفحه انتخاب برای هر بخش، زمانهای فریم GPU را دریافت کنید.
برای برنامههای مبتنی بر Vulkan، میتوان از چندین ارسال برای نوشتن یک فریم استفاده کرد. شناسه های ارسالی را با استفاده از مسیر رویدادهای Vulkan ، که شامل یک بخش برای هر ارسال است، پیگیری کنید. با انتخاب یک بخش ارسال، تمام بخشهای فعالیت GPU که با ارسال مطابقت دارند برجسته میشوند.
دستگاه های آدرنو
در دستگاههای Adreno، برشهای GPU در مسیر GPU Queue 0 ظاهر میشوند و همیشه بهطور متوالی نشان داده میشوند، بنابراین میتوانید به تمام برشهایی که پاسهای رندر یک فریم را نشان میدهند نگاه کنید و از آنها برای اندازهگیری زمان فریمهای GPU استفاده کنید.
مشابه سناریوی مالی که قبلاً توضیح داده شد: اگر برنامه از Vulkan استفاده می کند، مسیر رویدادهای Vulkan اطلاعاتی را در مورد کار ارسال شده برای اجرای فریم ارائه می دهد. برای برجسته کردن پاسهای رندر، برشهای Vulkan Events که با قاب مرتبط هستند کلیک کنید.
سناریوهایی وجود دارد که در آن مرزهای فریم GPU به دلیل محدودیت شدید GPU در برنامه، برای تشخیص چالش برانگیزتر است. در این سناریوها، اگر با کارهایی که به GPU ارسال میشوند آشنا هستید، میتوانید الگوی اجرای رندر پاسها را شناسایی کنید و مرزهای فریم را از روی آن اطلاعات تعیین کنید.
شمارنده های GPU
اگر اطلاعات برش GPU در یک ردیابی در دسترس نباشد، می توانید زمان فریم GPU را با استفاده از مسیرهای شمارنده GPU تخمین بزنید.
دستگاه های مالی
در دستگاههای مالی، میتوانید از مسیر استفاده از GPU برای تخمین زمان فریم پردازنده گرافیکی برای برنامهای که نیاز به پردازش گرافیکی ندارد استفاده کنید. زمانی که برنامهها به پردازنده گرافیکی کمتری نیاز دارند، به جای فعالیت مداوم، دورههای منظمی از فعالیت گرافیکی بالا و پایین دارند. برای تخمین زمانهای فریم GPU با استفاده از مسیر استفاده از GPU ، مدت زمان دورههای فعالیت بالا در مسیر را اندازهگیری کنید.
اگر برنامه دارای پردازشگر گرافیکی بیشتری است، می توانید از تراک های قطعه ای و غیرقطعی برای تخمین زمان فریم GPU استفاده کنید. با جستجوی الگوها در سطوح فعالیت قطعه و مسیرهای غیرقطعه ، میتوانید تخمینی تقریبی از جایی که مرزهای یک فریم است به دست آورید و از آن برای اندازهگیری زمان فریم GPU استفاده کنید.
دستگاه های آدرنو
در دستگاههای Adreno، اگر برنامه دارای پردازنده گرافیکی نیست، میتوانید زمانهای فریم GPU را به همان روشی که با دستگاههای مالی در بخش قبلی انجام دادید، تخمین بزنید.
اگر برنامه بیشتر به GPU فشرده است، می توانید از دستورات Vertex / Second and Fragment Instructions / Second برای تخمین زمان فریم GPU استفاده کنید. با جستجوی الگوهایی در سطوح فعالیت این آهنگها، میتوانید تخمین تقریبی از جایی که مرزهای یک فریم است به دست آورید و از آن برای اندازهگیری زمان فریم GPU استفاده کنید.
این آهنگ های دیگر ممکن است اطلاعات مشابهی را ارائه دهند:
- رئوس سایه دار / دوم
- قطعات سایه دار / دوم
- % زمان سایه افکنی
- ٪ زمان قطعات
تخمین زمان پردازش فریم CPU و GPU (زمان فریم) برای درک عملکرد برنامه و یافتن گلوگاه ها ضروری است. وقتی یک برنامه را با AGI نمایه میکنید، System Profiler دادههای ردیابی را ارائه میدهد که میتوانید برای تخمین زمانهای فریم استفاده کنید.
زمان های CPU
در AGI، میتوانید کل و زمانهای فعال CPU را در مسیر CPU نمایه سیستم مشاهده کنید.
کل زمان CPU
برای اندازه گیری کل زمان صرف شده CPU، محدوده زمانی را انتخاب کنید که شامل زمان بین رویدادهای ارسال فریم متوالی است. رویدادهای ارسال فریم eglSwapBuffers
(برای OpenGL) و vkQueuePresentKHR
(برای Vulkan) هستند.
این اندازه گیری تخمینی از کل زمان CPU است، اما لزوماً نشان دهنده زمان فعال CPU نیست. برای مثال، در برنامههای متصل به GPU، CPU ممکن است قبل از ارسال یک فریم جدید منتظر بماند تا GPU کار خود را کامل کند. این اغلب زمانی اتفاق میافتد که یک رویداد dequeueBuffer
، eglSwapBuffer
(برای OpenGL)، یا vkQueuePresent
(برای Vulkan) بخش زیادی از زمان CPU را اشغال کند. زمان انتظار در کل زمان CPU گنجانده شده است، اما زمان CPU فعال نیست.
زمان فعال CPU
زمان فعال CPU تعیین می کند که CPU چه زمانی کد برنامه را اجرا می کند بدون اینکه در حالت غیرفعال باشد.
برای اندازهگیری زمان فعال CPU، برشهای در حال اجرا را درست بالای رویدادهای CPU مشاهده کنید. تمام بخشهای ردیابی را بین دو رویداد ارسال فریم که در حالت Running هستند، بشمارید. اطمینان حاصل کنید که رشته های کاری را وارد کرده اید.
روش دیگر برای اندازه گیری زمان فعال CPU، مشاهده برش های برنامه در مسیرهای CPU است. این برش ها زمانی را نشان می دهند که CPU در حال اجرا است و با برش های در حال اجرا مطابقت دارد.
برای کمک به شناسایی برش های برنامه، می توانید نشانگرهای ATrace را به برنامه خود اضافه کنید. این نشانگرها را در مسیر CPU System Profiler نمایش می دهد.
تخمین زمان فریم پردازنده گرافیکی
برای تخمین زمانهای فریم GPU، میتوانید از برشهای GPU یا شمارندههای GPU در System Profiler استفاده کنید. تخمین در هنگام استفاده از برش های GPU دقیق تر است.
برش های GPU
اگر System Profiler اطلاعات برش GPU را در دسترس داشته باشد، میتوانید با اندازهگیری کل زمانی که برنامه شما صرف کارهایی میکند که با یک فریم مرتبط هستند، اطلاعات بسیار دقیقی از زمان فریم GPU دریافت کنید.
دستگاه های مالی
در دستگاههای مالی، برشهای GPU دارای قطعه قطعه ، غیرقطعه و گاهی اوقات تراکهای غیرقطعی مکمل هستند . برای فریمهای پیچیدهتر، کار قطعهای و غیرقطعی متوالی است، بنابراین تشخیص کار یک فریم از دیگری را میتوان با جستجوی شکافهای بین کار GPU فعال انجام داد.
به عنوان یک جایگزین، اگر با کاری که به GPU ارسال میشود آشنا هستید، شناسایی الگوی پاسهای رندر ارسال شده اطلاعاتی درباره زمان شروع و پایان یک فریم ارائه میدهد.
برای برنامههایی که گردش کار GPU به شدت موازیتری دارند، میتوانید با جستجوی همه فریمهایی که شناسه ارسال یکسانی دارند در صفحه انتخاب برای هر بخش، زمانهای فریم GPU را دریافت کنید.
برای برنامههای مبتنی بر Vulkan، میتوان از چندین ارسال برای نوشتن یک فریم استفاده کرد. شناسه های ارسالی را با استفاده از مسیر رویدادهای Vulkan ، که شامل یک بخش برای هر ارسال است، پیگیری کنید. با انتخاب یک بخش ارسال، تمام برش های فعالیت GPU که با ارسال مطابقت دارند برجسته می شود.
دستگاه های آدرنو
در دستگاههای Adreno، برشهای GPU در مسیر GPU Queue 0 ظاهر میشوند و همیشه بهطور متوالی نشان داده میشوند، بنابراین میتوانید به تمام برشهایی که پاسهای رندر یک فریم را نشان میدهند نگاه کنید و از آنها برای اندازهگیری زمان فریمهای GPU استفاده کنید.
مشابه سناریوی مالی که قبلاً توضیح داده شد: اگر برنامه از Vulkan استفاده می کند، مسیر رویدادهای Vulkan اطلاعاتی را در مورد کار ارسال شده برای اجرای فریم ارائه می دهد. برای برجسته کردن پاسهای رندر، بر روی برشهای رویدادهای Vulkan که با قاب مرتبط هستند کلیک کنید.
سناریوهایی وجود دارد که در آن مرزهای فریم GPU به دلیل محدودیت شدید GPU در برنامه، برای تشخیص چالش برانگیزتر است. در این سناریوها، اگر با کارهایی که به GPU ارسال میشوند آشنا هستید، میتوانید الگوی اجرای رندر پاسها را شناسایی کنید و مرزهای فریم را از روی آن اطلاعات تعیین کنید.
شمارنده های GPU
اگر اطلاعات برش GPU در یک ردیابی در دسترس نباشد، می توانید زمان فریم GPU را با استفاده از مسیرهای شمارنده GPU تخمین بزنید.
دستگاه های مالی
در دستگاههای مالی، میتوانید از مسیر استفاده از GPU برای تخمین زمان فریم پردازنده گرافیکی برای برنامهای که نیاز به GPU ندارد استفاده کنید. زمانی که برنامهها به پردازنده گرافیکی کمتری نیاز دارند، به جای فعالیت مداوم، دورههای منظمی از فعالیت گرافیکی بالا و پایین دارند. برای تخمین زمانهای فریم GPU با استفاده از مسیر استفاده از GPU ، مدت زمان دورههای فعالیت بالا در مسیر را اندازهگیری کنید.
اگر برنامه دارای پردازشگر گرافیکی بیشتری است، می توانید از تراک های قطعه ای و غیرقطعی برای تخمین زمان فریم GPU استفاده کنید. با جستجوی الگوها در سطوح فعالیت قطعه و مسیرهای غیرقطعه ، میتوانید تخمینی تقریبی از جایی که مرزهای یک فریم است به دست آورید و از آن برای اندازهگیری زمان فریم GPU استفاده کنید.
دستگاه های Adreno
در دستگاه های Adreno ، اگر برنامه بسیار جذاب GPU نباشد ، می توانید زمان قاب GPU را به همان روشی که می توانید با دستگاه های MALI در بخش قبلی تخمین بزنید.
اگر برنامه بیشتر GPU است ، می توانید از دستورالعمل های vertex / دستورالعمل های دوم و قطعه / آهنگ های دوم برای تخمین زمان فریم GPU استفاده کنید. با جستجوی الگوهای در سطح فعالیت این آهنگ ها ، می توانید تخمین تقریبی از مرزهای یک قاب دریافت کنید و از آن برای اندازه گیری زمان فریم GPU استفاده کنید.
این آهنگ های دیگر ممکن است اطلاعات مشابهی را ارائه دهند:
- رئوس سایه دار / دوم
- قطعات سایه دار / دوم
- درآمدهای سایه زنی زمان
- قطعات زمان