Fishing Frames Per Second Count off of the Midgard Driver

Post Reply
mwauras
Posts: 3
Joined: Fri Feb 08, 2019 11:55 pm
languages_spoken: english
ODROIDs: odroid xu3, odroid xu4
Has thanked: 0
Been thanked: 0
Contact:

Fishing Frames Per Second Count off of the Midgard Driver

Unread post by mwauras » Sat Feb 09, 2019 12:03 am

So I've been working on some research to develop a performance-responsive DVFS algorithm, but I'm stuck implementing it in the kernel because I can't seem to find a way to extract the current Frame Per Second (FPS) count within the kernel. Somehow android kernel programs like Surface Flinger manage to do this. Does anyone know how? Or more generally, how to extract the FPS count from the midgrad driver in-kernel?

crashoverride
Posts: 4470
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 52 times
Contact:

Re: Fishing Frames Per Second Count off of the Midgard Driver

Unread post by crashoverride » Sat Feb 09, 2019 4:39 am

FPS is an application concept (game, compositor, etc). The metric of interest for DVFS would be utilization, not FPS.

mwauras
Posts: 3
Joined: Fri Feb 08, 2019 11:55 pm
languages_spoken: english
ODROIDs: odroid xu3, odroid xu4
Has thanked: 0
Been thanked: 0
Contact:

Re: Fishing Frames Per Second Count off of the Midgard Driver

Unread post by mwauras » Sun Feb 10, 2019 2:03 am

crashoverride wrote:
Sat Feb 09, 2019 4:39 am
FPS is an application concept (game, compositor, etc). The metric of interest for DVFS would be utilization, not FPS.
I did get my hands on utilization. I have realized in the course of my research that utilization and FPS are (in most cases) inversely related, i.e. the higher the utilization, the lower the FPS count since the GPU is more "occupied". However, there are cases where you can have the GPU running at a pretty high utilization value and still give me high FPS. Also, say if we are almost maxing out with utilization, we might have varying FPS counts depending on how many tasks are on-queue to compute a single frame. My point is, FPS and utilization are related, but in very subjective ways that are difficult to model. Please correct me if my logic is flawed.

Also since you mention that FPS is an application concept, would you happen to know a kernel application that can provide me with this information, or at least information that can help me calculate it? I am assuming there's a GPU driver that has a counter for each frame rendered, but I haven't been able to find it.

crashoverride
Posts: 4470
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 52 times
Contact:

Re: Fishing Frames Per Second Count off of the Midgard Driver

Unread post by crashoverride » Sun Feb 10, 2019 5:20 am

GPU work is not measured by frames. For example, OpenCL has no concept of a frame. A single GPU will also serve multiple applications each having its own FPS, and a background windowed application may have reduced FPS or no FPS at all if its not visible.

A frame is a unit of measure known only by an application. Modern applications have multiple render passes that are not bound by display refresh rate. Therefore, what constitutes a frame is known only to an application. Since an application defines what a frame is, there is nothing in the kernel that provides this metric.

mwauras
Posts: 3
Joined: Fri Feb 08, 2019 11:55 pm
languages_spoken: english
ODROIDs: odroid xu3, odroid xu4
Has thanked: 0
Been thanked: 0
Contact:

Re: Fishing Frames Per Second Count off of the Midgard Driver

Unread post by mwauras » Mon Feb 11, 2019 11:51 pm

Ah, that makes sense. Thanks for the help, at least I now know what not to look for.

Post Reply

Return to “General Topics”

Who is online

Users browsing this forum: No registered users and 2 guests