عناصر
- نمای کلی
کنسول
- نمای کلی
- درک خطاها و هشدارها با اطلاعات بینش کنسول، درک خطاها و هشدارها با اطلاعات بینش کنسول، درک خطاها و هشدارها با اطلاعات بینش کنسول
- ثبت پیام ها
- جاوا اسکریپت را اجرا کنید
- جاوا اسکریپت را در زمان واقعی تماشا کنید
- قالب و سبک پیام ها
- مرجع ویژگی
- مرجع API
- مرجع Utilities API
منابع
- نمای کلی
- اشکال زدایی جاوا اسکریپت
- کد خود را با نقاط شکست مکث کنید
- قطعات جاوا اسکریپت را اجرا کنید
- کد اصلی را به جای استفاده از نقشه های منبع، اشکال زدایی کنید
- پسوند نقشه منبع ignoreList
- فضاهای کاری را برای ذخیره تغییرات در فایل های منبع تنظیم کنید
- محتوای وب و هدرهای پاسخ HTTP را به صورت محلی لغو کنید
- مرجع اشکال زدایی جاوا اسکریپت
- اشکال زدایی C/C++ WebAssembly
شبکه
- نمای کلی
- فعالیت شبکه را بررسی کنید
- مرجع ویژگی ها
- مشاهده منابع صفحه
عملکرد
- نمای کلی
- عملکرد زمان اجرا را تجزیه و تحلیل کنید
- یافته های عملکرد خود را حاشیه نویسی کنید و به اشتراک بگذارید، یافته های عملکرد خود را حاشیه نویسی کنید و به اشتراک بگذارید
- مرجع ویژگی ها
- مرجع رویداد خط زمانی
- عملکرد انتخابگر CSS را تجزیه و تحلیل کنید
- عملکرد پروفایل Node.js
- داده های عملکرد خود را با توسعه API سفارشی کنید
- بینش عملی در مورد عملکرد وب سایت خود دریافت کنید
- ذخیره ردپاهای عملکرد
فانوس دریایی
- بهینه سازی سرعت وب
حافظه
- نمای کلی
- اصطلاحات حافظه
- رفع مشکلات حافظه
- عکسهای فوری پشتهای را ضبط کنید
- ابزار Allocation Profiler
کاربرد
- نمای کلی
- اشکال زدایی برنامه های وب پیشرفته
- مشاهده، افزودن، ویرایش و حذف کوکی ها
- مشاهده داده های کش
- کش کردن به عقب/ جلو را تست کنید
- اشکال زدایی قوانین حدس و گمان
- ابزارهای اشکالزدایی WebMCP
- اشکال زدایی خدمات پس زمینه
- مشاهده جزئیات قاب
- مشاهده داده های کش برنامه
ضبط کننده
- نمای کلی
- ضبط، پخش مجدد و اندازه گیری جریان کاربر
- مرجع ویژگی ها
- ضبط کننده را با برنامه های افزودنی سفارشی کنید
تفسیر
- نمای کلی
- مشکلات مربوط به عملکرد رندر را کشف کنید
- شبیه سازی ویژگی های رسانه CSS
- اعمال افکت های رندر
پانل های بیشتر
- آدرس های ذخیره شده را با پانل تکمیل خودکار بررسی و اشکال زدایی کنید
- مسائل امنیتی را با پنل امنیتی درک کنید
- سنسورهای دستگاه را با پنل Sensors شبیه سازی کنید
- معیارهای WebAudio API را با پنل WebAudio مشاهده کنید
- احراز هویت را با پنل WebAuthn شبیه سازی کنید
- انیمیشن ها را با پانل انیمیشن ها بررسی و اصلاح کنید
- تغییرات در HTML، CSS و جاوا اسکریپت را با پانل تغییرات دنبال کنید
- کدهای استفاده نشده را با پنل Coverage پیدا و تجزیه و تحلیل کنید
- نقشه های منبع را با پنل Developer Resources مشاهده و بارگیری دستی کنید
- با پانل CSS Overview، بهبودهای بالقوه CSS را شناسایی کنید
- مشکلات پنل Issues را پیدا و برطرف کنید
- لایه های وب سایت خود را با پنل لایه ها آنالیز کنید
- پخش کننده های رسانه ای را با پنل رسانه اشکال زدایی کنید
- با پانل بازرس حافظه، حافظه های ArrayBuffer، TypedArray، DataView یا Wasm را بررسی کنید.
- رشته عامل کاربر را با پانل شرایط شبکه لغو کنید
- با استفاده از پنل شرایط درخواست، منابع را به صورت انتخابی مسدود یا محدود کنید
- عملکرد زمان اجرا را در زمان واقعی با پنل مانیتور عملکرد تجزیه و تحلیل کنید
- مشاهده و ارسال درخواست های CDP با پانل مانیتور پروتکل، مشاهده و ارسال درخواست های CDP با پانل مانیتور پروتکل
- فایل های منبع را با دسترسی به ابزارهای دیگر با پانل منبع سریع مشاهده کنید
- چه خبر
اشکال زدایی از راه دور
- اشکال زدایی از راه دور دستگاه های اندرویدی
- با ارسال پورت به سرورهای محلی و نمونههای Chrome دسترسی پیدا کنید
- اشکال زدایی از راه دور WebViews
دسترسپذیری، دسترسپذیری، دسترسپذیری، دسترسپذیری
- مرجع ویژگی ها
- کنتراست و خوانایی
- تمرکز عناصر آهنگ
- با فناوری کمکی در DevTools پیمایش کنید
تنظیمات
- نمای کلی
منابع
- وبلاگ مهندسی
عملکرد زمان اجرا را تجزیه و تحلیل کنید

عملکرد زمان اجرا نحوه عملکرد صفحه شما هنگام اجرا است، برخلاف بارگذاری. این آموزش به شما می آموزد که چگونه از پانل عملکرد Chrome DevTools برای تجزیه و تحلیل عملکرد زمان اجرا استفاده کنید. از نظر مدل RAIL ، مهارت هایی که در این آموزش یاد می گیرید برای تجزیه و تحلیل مراحل Response، Animation و Idle صفحه شما مفید است.
شروع کنید
در این آموزش از پنل Performance برای یافتن گلوگاه عملکرد در صفحه زنده استفاده می کنیم. برای شروع:
- Google Chrome را در حالت ناشناس باز کنید. حالت ناشناس تضمین می کند که Chrome در حالت تمیز اجرا می شود. برای مثال، اگر افزونههای زیادی نصب کردهاید، آن افزونهها ممکن است در اندازهگیری عملکرد شما نویز ایجاد کنند.
صفحه زیر را در پنجره ناشناس بارگیری کنید. این نسخه ی نمایشی است که می خواهید نمایه کنید. این صفحه مجموعه ای از مربع های آبی کوچک را نشان می دهد که به سمت بالا و پایین حرکت می کنند.
https://googlechrome.github.io/devtools-samples/jank/Command + Option + I (Mac) یا Control + Shift + I (ویندوز، لینوکس) را فشار دهید تا DevTools باز شود.

شبیه سازی CPU موبایل
دستگاه های تلفن همراه قدرت CPU بسیار کمتری نسبت به دسکتاپ ها و لپ تاپ ها دارند. هر زمان که صفحه ای را نمایه می کنید، از CPU Throttling برای شبیه سازی عملکرد صفحه خود در دستگاه های تلفن همراه استفاده کنید.
- در DevTools، روی تب Performance کلیک کنید.
- مطمئن شوید که کادر Screenshots فعال باشد.
- تنظیمات ضبط کلیک کنید. DevTools تنظیمات مربوط به نحوه ثبت معیارهای عملکرد را نشان می دهد.
برای CPU ، 4 برابر کندی را انتخاب کنید. DevTools CPU شما را دریچه گاز می گیرد به طوری که 4 برابر کندتر از حد معمول است.

دمو را تنظیم کنید
ایجاد یک نسخه نمایشی عملکرد زمان اجرا که به طور مداوم برای همه خوانندگان این وب سایت کار کند، دشوار است. این بخش به شما امکان میدهد نسخه نمایشی را سفارشی کنید تا مطمئن شوید که تجربه شما با اسکرینشاتها و توضیحاتی که در این آموزش میبینید، بدون توجه به تنظیمات خاص شما، نسبتاً سازگار است.
- روی Add 10 کلیک کنید تا مربع های آبی به طور قابل توجهی کندتر از قبل حرکت کنند. در یک ماشین رده بالا، ممکن است حدود 20 کلیک طول بکشد.
روی Optimize کلیک کنید. مربع های آبی باید سریع تر و روان تر حرکت کنند.
روی Un-Optimize کلیک کنید. مربعهای آبی آهستهتر حرکت میکنند و دوباره با ژانک بیشتری حرکت میکنند.
عملکرد زمان اجرا را ضبط کنید
وقتی نسخه بهینه شده صفحه را اجرا می کنید، مربع های آبی سریعتر حرکت می کنند. چرا اینطور است؟ هر دو نسخه قرار است هر مربع را به همان اندازه فضا را در مدت زمان یکسان جابجا کنند. برای یادگیری نحوه تشخیص تنگنای عملکرد در نسخه بهینه نشده، یک ضبط در پانل عملکرد بگیرید.
در DevTools، روی Record کلیک کنید. DevTools معیارهای عملکرد را در حین اجرای صفحه ثبت می کند.

چند ثانیه صبر کنید.
روی Stop کلیک کنید. DevTools ضبط را متوقف می کند، داده ها را پردازش می کند، سپس نتایج را در پنل عملکرد نمایش می دهد.

وای، این حجم قابل توجهی از داده ها است. نگران نباشید، به زودی منطقی تر خواهد شد.
نتایج را تجزیه و تحلیل کنید
هنگامی که یک عملکرد ضبط شده دارید، می توانید میزان ضعیف بودن عملکرد صفحه را تجزیه و تحلیل کنید و علت(های) را پیدا کنید.
فریم در ثانیه را تجزیه و تحلیل کنید
معیار اصلی برای اندازه گیری عملکرد هر انیمیشن فریم در ثانیه (FPS) است. وقتی انیمیشن ها با سرعت 60 فریم در ثانیه اجرا می شوند، کاربران خوشحال می شوند.
به نمودار FPS نگاه کنید. هر زمان که نوار قرمز را بالای FPS می بینید، به این معنی است که نرخ فریم آنقدر پایین آمده است که احتمالاً به تجربه کاربر آسیب می رساند.

در زیر نمودار FPS نمودار CPU را مشاهده می کنید. رنگهای نمودار CPU با رنگهای موجود در تب Summary در پایین پانل Performance مطابقت دارند. این واقعیت که نمودار CPU پر از رنگ است به این معنی است که CPU در طول ضبط حداکثر شده است. هر زمان که میبینید CPU برای مدت طولانی به حداکثر رسیده است، نشانهای برای یافتن راههایی برای انجام کارهای کمتر است.

ماوس خود را روی نمودارهای FPS ، CPU یا NET قرار دهید. DevTools یک اسکرین شات از صفحه را در آن نقطه از زمان نشان می دهد. برای پخش مجدد ضبط، ماوس خود را به چپ و راست حرکت دهید. این اسکراب نامیده می شود و برای تجزیه و تحلیل دستی پیشرفت انیمیشن ها مفید است.

در قسمت Frames ، ماوس خود را روی یکی از مربع های سبز رنگ قرار دهید. DevTools FPS را برای آن فریم خاص به شما نشان می دهد. هر فریم احتمالاً بسیار کمتر از هدف 60 FPS است.

البته با این دمو کاملاً واضح است که صفحه عملکرد خوبی ندارد. اما در سناریوهای واقعی، ممکن است چندان واضح نباشد، بنابراین داشتن همه این ابزارها برای اندازهگیری مفید است.
امتیاز: FPS متر را باز کنید
یکی دیگر از ابزارهای مفید FPS meter است که تخمین های بلادرنگ FPS را در حین اجرای صفحه ارائه می دهد.
- Command + Shift + P (Mac) یا Control + Shift + P (ویندوز، لینوکس) را فشار دهید تا Command Menu باز شود.
- شروع به تایپ
Renderingدر منوی فرمان کنید و Show Rendering را انتخاب کنید. در پانل Rendering ، Show Rendering stats را فعال کنید. یک پوشش جدید در سمت راست بالای نمای شما ظاهر می شود.

FPS Meter را غیرفعال کنید و Escape را فشار دهید تا پنل Rendering بسته شود. در این آموزش از آن استفاده نخواهید کرد.
گلوگاه را پیدا کنید
اکنون که اندازهگیری و تأیید کردید که انیمیشن خوب عمل نمیکند، سؤال بعدی که باید پاسخ دهید این است: چرا؟
به تب Summary توجه کنید. هنگامی که هیچ رویدادی انتخاب نشده است، این برگه به شما تفکیک فعالیت را نشان می دهد. این صفحه بیشتر وقت خود را صرف رندر کرد. از آنجایی که پرفورمنس هنر انجام کار کمتر است، هدف شما کاهش زمان صرف شده برای انجام کار رندر است.

بخش Main را باز کنید. DevTools یک نمودار شعله فعالیت در رشته اصلی را در طول زمان به شما نشان می دهد. محور x نشان دهنده ضبط در طول زمان است. هر نوار نشان دهنده یک رویداد است. نوار گسترده تر به این معنی است که آن رویداد بیشتر طول کشید. محور y نشان دهنده پشته تماس است. وقتی رویدادها را روی هم چیده میبینید، به این معنی است که رویدادهای بالایی باعث رویدادهای پایینتر شدهاند.

داده های زیادی در ضبط وجود دارد. با کلیک کردن، نگه داشتن و کشیدن ماوس روی نمای کلی ، که بخشی شامل نمودارهای FPS ، CPU و NET است، روی یک رویداد Animation Frame Fired بزرگنمایی کنید. بخش اصلی و برگه خلاصه فقط اطلاعات قسمت انتخاب شده از ضبط را نمایش می دهد.

به مثلث قرمز در بالا سمت راست رویدادهای Task and layout توجه کنید. هر زمان که مثلث قرمز را می بینید، هشداری است که ممکن است مشکلی در ارتباط با این رویداد وجود داشته باشد. مثلث قرمز روی یک Task به این معنی است که کار طولانی بوده است.
روی رویداد Animation Frame Fired کلیک کنید. اکنون برگه Summary اطلاعات مربوط به آن رویداد را به شما نشان می دهد. کلیک کردن روی پیوند کنار Initiated by باعث می شود DevTools رویدادی را که رویداد Animation Frame Fired را آغاز کرده است برجسته کند. همچنین به پیوند app.update @ توجه کنید. با کلیک بر روی آن به خط مربوطه در کد منبع میروید.

در زیر رویداد app.update ، مجموعه ای از رویدادهای بنفش وجود دارد. اگر عریضتر بودند، به نظر میرسد که هر کدام ممکن است یک مثلث قرمز روی خود داشته باشند. اکنون روی یکی از رویدادهای Layout بنفش کلیک کنید. DevTools اطلاعات بیشتری در مورد رویداد در برگه Summary ارائه می دهد. در واقع، هشداری درباره جریانهای مجدد اجباری وجود دارد (کلمه دیگری برای طرحبندی).
در برگه Summary ، روی پیوند کنار app.update @ در قسمت Animation Frame Requested کلیک کنید. DevTools شما را به خط کدی می برد که چیدمان را مجبور کرده است.

اوه! این موضوع بسیار مورد توجه بود، اما شما اکنون یک پایه محکم در جریان کار اصلی برای تجزیه و تحلیل عملکرد زمان اجرا دارید. کار خوب
امتیاز: نسخه بهینه شده را تجزیه و تحلیل کنید
با استفاده از گردش کار و ابزارهایی که به تازگی یاد گرفتید، روی Optimize در نسخه نمایشی کلیک کنید تا کد بهینه شده فعال شود، عملکرد دیگری ضبط کنید و سپس نتایج را تجزیه و تحلیل کنید. از بهبود نرخ فریم گرفته تا کاهش رویدادها در نمودار شعله بخش اصلی ، میتوانید ببینید که نسخه بهینهسازی شده برنامه کار بسیار کمتری انجام میدهد و در نتیجه عملکرد بهتری دارد.
مراحل بعدی
پایه و اساس درک عملکرد مدل RAIL است. این مدل معیارهای عملکردی را که برای کاربران شما مهم است را به شما آموزش می دهد. برای اطلاعات بیشتر به اندازه گیری عملکرد با مدل ریلی مراجعه کنید.
برای راحتی بیشتر با پنل عملکرد، تمرین کامل می شود. سعی کنید صفحات خود را پروفایل کنید و نتایج را تجزیه و تحلیل کنید. اگر درباره نتایج خود سؤالی دارید، یک سؤال Stack Overflow با برچسب google-chrome-devtools باز کنید . در صورت امکان اسکرین شات یا پیوندهایی به صفحات قابل تکرار اضافه کنید.
برای تبدیل شدن به یک متخصص در عملکرد زمان اجرا، باید بیاموزید که چگونه مرورگر HTML، CSS و JS را به پیکسل روی صفحه ترجمه می کند. بهترین مکان برای شروع ، نمای کلی عملکرد رندر است. آناتومی یک قاب به جزئیات بیشتری می پردازد.
در نهایت، راه های زیادی برای بهبود عملکرد زمان اجرا وجود دارد. این آموزش بر روی یک گلوگاه انیمیشن خاص متمرکز شده است تا به شما یک تور متمرکز از طریق پنل عملکرد ارائه دهد، اما این تنها یکی از تنگناهایی است که ممکن است با آن مواجه شوید. بقیه مجموعههای Rendering Performance نکات خوبی برای بهبود جنبههای مختلف عملکرد زمان اجرا دارند، مانند:
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2024-10-23 بهوقت ساعت هماهنگ جهانی.