Frame rate issue

Hi ,
I am unable to achieve the max frame rate for 5mp resolution that is 28 FPS in torizon-core-docker 6.2. The same is achieve is torizon-core-docker-5.7.

Below is the scenario that is occurring.

In torizon-core docker 6.2 for first few minutes the FPS is achieved and streams without any issue. after few minutes the FPS drops to 22 fps sometimes goes to 19 or 18 fps.
whereas if we stream using v4l2-ctl I am able to achieve the max FPS.

It would be great if I someone could help me on this issue.

Greetings @sapthagiri,

Just to make sure i understand, you’re doing a frame rate test with some 5MP camera (what camera are you using?). On TorizonCore 5.7 you can achieve the max frame rate of this camera. However, on TorizonCore 6.2 you can only achieve this max frame rate for a few minutes before it drops. But, on TorizonCore 6.2 if you use v4l2-ctl you can achieve this max frame rate stably. Did I understand that all correct?

As for the issue itself can you describe your test process you are doing for this max frame rate test. Also as mentioned earlier it would help if you could specify the camera/device you are using in these tests.

Best Regards,
Jeremias

Hi @jeremias.tx ,

The camera that we are using is MIPI camera having ar0521 sensor . The frame rate that can be achieved for 5mp resolution is 28fps. yeah I am able to achieve the FPS for first few minutes and it drops. at the dropped condition I checked the fps using v4l2-ctl and I was able to achieve the max FPS. but when I try the same again with gst-launch the streaming continues at 22fps. hope I’m clear with the issue.

And about the version difference i just streamed the camera for 30 mins in both the version in 5.7 I didn’t face the issue for 30 mins but in 6.2 the fps dropped after 10mins of streaming.

I think it could be due to heating of the SOM. Im testing the same under fan cooling. Maybe I can do more tests and revert back.

[edit] I have streamed with fan cooling and FPS is stable without any drop

[edit] I have streamed with fan cooling and FPS is stable without any drop

Sounds like it’s a heat throttling issue then?

I’m not sure why TorizonCore 6 would result in a significantly higher temperature than TorizonCore 5. Is the temperature really that much hotter?

Best Regards,
Jeremias

May be I should be checking the SOM temperatures during the operating conditions.

[note this a separate issue] I have a similar issue with the frame rate. I am unable to get FPS beyond 60fps @720p (max FPS is 73) with gst-launch both in torizoncore5.7 and 6.2 I checked same for verdin as well as . But the same max FPS is achieved using v4l2-ctl. Is there a limitation wrt wayland sink??

Is there a limitation wrt wayland sink??

We’re talking about a different FPS now correct, unrelated to the camera streaming FPS? I don’t believe there’s an explicit limit though you may need to dive into the gstreamer internals to be sure of this. Seeing as you got the same max FPS for both gstreamer and v4l2-ctl I imagine there’s a common bottleneck somewhere that causes the FPS to cap out at this value. That said, were you expecting a higher value here?

Best Regards,
Jeremias

Hi @sapthagiri,

Your issue seems related to the sync property from the waylandsink. It defaults to true, so the capture syncs to the display refresh rate.

A potential solution would be to set this property to false on your GStreamer pipeline: ... ! waylandsink sync=false

Best Regards,
Bruno

yeah this is a separate issue, Let me explain the issue clearly. we have different resolution that this camera supports. out of which 2 resolution streams at more than 60 fps that is 70fps and 65 FPS. for some reason when is stream it using wayland sink, The max fps i’m able to get is 60fps.
below is the gstreamer command I use to stream (display is active)

gst-launch-1.0 v4l2src device=/dev/video0 ! “video/x-raw,width=1280,height=720” ! fpsdisplaysink video-sink=waylandsink text-overlay=false sync=false -v

If I use v4l2-ctl / gstreamer with fakesink then im able to achieve the max fps (display is not active)
below are the respective gstreamer and v4l2 commands

gst-launch-1.0 v4l2src device=/dev/video0 ! “video/x-raw,width=1280,height=720” ! fpsdisplaysink video-sink=fakesink text-overlay=false -v

v4l2-ctl -d0 --stream-mmap

im using with sync=false

Just to confirm you are on an Apalis i.MX8 right? The question is tagged as such, but I just wanted to make sure.

I did some research and there seems to be some stories and forum posts about Wayland capping the frame rate of things. But this seems to be mostly due to the refresh rate of the attached monitor. In any case let’s try to narrow down the cause of this limitation first.

First let’s see if the limitation is somehow hardware performance related. As a test what happens if you try a resolution lower than 1280x720? Do you get a higher frame rate with a lower resolution? Or is it still capped at 60fps for some reason? Also are you seeing a high CPU usage when running your test?

Best Regards,
Jeremias

1 Like