Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Chrome Dev Tools: Timeline - White Bars

I'm trying to understand a few things about the timeline in the Chrome Dev Tools. From the documentation, I gather that the grey and clear bars are "Activity that was not instrumented by DevTools" and "Idle time between display refresh cycles", respectively.

I have an app that renders updates each frame (requestAnimationFrame()) and has a typical timeline profile pictured below:

enter image description here enter image description here

Unfortunately, to me the documentation does not make it clear how to evaluate the grey and white space in my application. My questions are:

Will the "idle" clear bars always fill the time between renders?

In other words, is the profile I'm seeing expected, in regard to the white bars? I'm tempted to assume so, but the example screenshot in the documentation looks like:

enter image description here

There are clearly frames where the white space does not fill the space between renders.

Is there a rough relationship between the timeline profile and cpu utilization on the machine the profile is collected on?

In the profile below, about 40% of the time is idle, so could I expect that to correspond to using ~60% of a core for the operations represented in the profile?

Is there any way to characterize the "Uninstrumented" grey bars?

Or are there typical things which this could be (Garbage Collection, etc...)?

Hopefully that is not too much for one question. Thanks in advance

like image 419
sethro Avatar asked Nov 17 '15 23:11

sethro


People also ask

How do I show grid in Chrome developer tools?

Select Show Layout from the Command Menu (Cmd + Shift + P). Explore the different options available here, such as: Toggling Grid overlays on and off. Enabling track sizes , area names and extended grid lines .

What is idle time in Chrome performance?

This is idle time, the time when the browser is waiting on the CPU or GPU to do some processing. It is shown in the pie chart screenshot in the documentation page How to Use the Timeline Tool.


1 Answers

Will the "idle" clear bars always fill the time between renders?

No. This idle time is essentially GPU bound. It is where the browser is waiting on the GPU to do its thing and return. It is perfectly fine to have fluctuation here, so long as you're hitting roughly 60FPS, it's all good.

Is there a rough relationship between the timeline profile and cpu utilization on the machine the profile is collected on?

Not really as far as I am aware. Idle here is time where the browser is waiting for some other part of the system (CPU or GPU primarily) to do its job. It isn't related to how many resources it is using.

Is there any way to characterize the "Uninstrumented" grey bars?

Absolutely not, this is why it is called "Uninstrumented". It means the DevTools has no idea what is going on. Things like Garbage Collection do get marked on the timeline, since it knows what that task is. The team is working on narrowing down this type of material. It is a slow process to track it all down and figure out how to surface it to DevTools, so we will have uninstrumented time for quite a while.

like image 104
Garbee Avatar answered Sep 21 '22 16:09

Garbee