# Fake camera performance

**URL:** <https://aravis-project.discourse.group/t/fake-camera-performance/922>\
**Category:** Using Aravis\
**Created:** [May 26, 2025, 3:43pm UTC](https://aravis-project.discourse.group/t/fake-camera-performance/922 "2025-05-26T15:43:34Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pau\_Riera](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/pau_riera/32/352_2.png) [@Pau\_Riera](https://aravis-project.discourse.group/u/Pau_Riera)\
**Post date:** [May 26, 2025, 3:43pm UTC](https://aravis-project.discourse.group/t/fake-camera-performance/922/1 "2025-05-26T15:43:34Z")

</div>

Hi everyone,

I’m working with **Aravis** and the **fake camera** , and I’ve run into a performance question.

When using the fake camera with a resolution of **2048x2048 mono8** , I consistently hit a maximum of **25 frames per second (fps)**. Even if I configure it for a higher desired frame rate using `arv_camera_set_frame_rate()`, the actual received frame rate never exceeds 25 fps.

I’ve already confirmed that my system can handle **real GigE Vision cameras** at the same resolution and pixel format with no issues, achieving much higher frame rates. This suggests the bottleneck isn’t my network performance or the general capabilities of my computer to process high-speed image data.

Given this, I suspect the **25 fps limit might be an inherent limitation of the Aravis fake camera’s software-based simulation** for this resolution/bit depth.

Could anyone shed some light on whether this is an **expected performance ceiling for the fake camera** at 2048x2048 mono8? Are there any known ways to improve its simulated frame rate, or is it simply a design constraint for a software-only implementation?

Any insights or similar experiences would be greatly appreciated!

Thanks,  
Pau

---

<div class="post-metadata">

**Author:** ![Emmanuel](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/emmanuel/32/198_2.png) [@Emmanuel](https://aravis-project.discourse.group/u/Emmanuel)\
**Post date:** [May 28, 2025, 3:18pm UTC](https://aravis-project.discourse.group/t/fake-camera-performance/922/2 "2025-05-28T15:18:20Z")

</div>

Hi,

The fake camera is mostly a debugging tool. No effort was made to make it efficient.

Currently, the test image is regenerated at each frame. As it is simply a sliding image, a memory copy of a persistent buffer would probably improve things.

Patch welcome !

Emmanuel.

---

<div class="post-metadata">

**Author:** ![bpinsard](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/bpinsard/32/368_2.png) [@bpinsard](https://aravis-project.discourse.group/u/bpinsard)\
**Post date:** [September 8, 2025, 6:48pm UTC](https://aravis-project.discourse.group/t/fake-camera-performance/922/3 "2025-09-08T18:48:37Z")

</div>

Hi there,  
A long time ago, I hacked a different fake camera and achieved 250fps @640\*480 (didn’t test higher FPS nor res). I was mainly making a dummy fake eye-pupil for testing an MRI compatible camera for eyetracking.

I remember that there were 2 different places where the 25FPS was hardcoded, see diff here.

> **[Comparing AravisProject:main...courtois-neuromod:fakecamera\_fakepupil ·...](https://github.com/AravisProject/aravis/compare/main...courtois-neuromod:aravis:fakecamera_fakepupil)**
>
> A vision library for genicam based cameras. Contribute to AravisProject/aravis development by creating an account on GitHub.

You can see `fake_camera->priv->trigger_frequency = 250.0 ;`

and `#define ARV_FAKE_CAMERA_ACQUISITION_FRAME_RATE_DEFAULT	250.0`

IIRC both need to be changed for the FPS to change.
