Cameras & sensorsTroubleshooting

Why your GigE camera frame rate drops at longer exposure times

Why a GigE camera's frame rate falls as exposure time rises: find the knee, size the exposure budget for your target rate and fix the deficit with light.

LumaSpec Vision10 min read Share on LinkedIn

On this page 8 sections
  1. 01Why does the frame rate fall as the exposure time rises?
  2. 02Is the exposure limit real, or is a frame-rate limit left on?
  3. 03How much exposure time does your target frame rate allow?
  4. 04Why does a 12 MP GigE camera stop near 9 fps even at short exposure?
  5. 05How do you get a bright image inside a 4.5 ms exposure?
  6. 06What is the fastest way to find which limit is binding?
  7. 07When is the fix a different camera instead of more light?
  8. 08Questions

A camera that holds 211 fps in the lab and collapses to 30 fps on the line is not haunted. The exposure time has grown past the readout time, and from that point every extra millisecond of exposure becomes a millisecond between frames. This guide is for anyone integrating area scan cameras on a fast production line. You will identify which of three limits is binding — a frame-rate setting, the exposure time, or the GigE link — compute the exposure your target rate allows, and close the gap with light and aperture instead of lost frames.

Why does the frame rate fall as the exposure time rises?

The frame period is the larger of the readout time and the exposure time. A camera that reaches 211 fps at a short exposure has a 4.74 ms readout period, so any exposure past 4.74 ms becomes the period. At 33.3 ms of exposure you own a 30 fps camera — exactly the collapse in question.

Most CMOS sensors expose frame n+1 while reading out frame n, so the knee sits at the readout time: 1000 ÷ 211 = 4.74 ms. Past the knee the arithmetic is linear — double the exposure, halve the rate. The jump from 211 to 30 fps looks dramatic because the exposure moved from about 4.7 ms to about 33 ms, seven times longer and seven times slower.

Exposure time Frame period Frame rate
100 µs 4.74 ms (readout) 211 fps
4.7 ms 4.74 ms (readout) 211 fps
10 ms 10 ms 100 fps
20 ms 20 ms 50 fps
33.3 ms 33.3 ms 30 fps

The table takes the measured 211 fps maximum as its only input. Substitute your own free-run figure and the same 1000 ÷ period arithmetic follows.

Is the exposure limit real, or is a frame-rate limit left on?

Before touching the light, read the camera's acquisition controls. A frame-rate limit of 30 fps with its enable flag set caps the camera even at 100 µs exposure, and the read-only feature reporting the resulting frame rate tells you which limit is actually binding.

Two settings cause most false alarms. The first is a fixed cap: the GenICam features AcquisitionFrameRateEnable and AcquisitionFrameRateAbs appear on nearly every GigE camera. A value of 30 with the enable flag true pins the rate no matter what the light does — disable the cap or raise it above your target. The second is auto exposure. In a dim scene it stretches the exposure silently and the frame rate follows it down, so read the exposure time the camera actually used from frame metadata — see reading exposure time from frame metadata under auto exposure.

Most cameras also expose a read-only feature that computes the frame rate the camera will deliver under the current exposure, pixel format and link load. Read it after every change: it is the cheapest diagnostic you own.

Verify the whole chain — saved profile, loaded values, actual rate — with the procedure in camera startup frame rate: verify saved settings and readback.

How much exposure time does your target frame rate allow?

Divide once and leave a margin. To hold 200 fps the frame period is 5.00 ms; the 4.74 ms readout of the camera above already fits inside it, so the exposure budget is the period minus a margin — set 4.5 ms.

frame period [ms] = max(readout time, exposure time) frame rate [fps] = 1000 / frame period exposure budget [ms] ≈ 0.9 × 1000 / target fps

Check motion blur before you commit to the number. At 100 mm/s of part travel, 4.5 ms smears 0.45 mm across the image. If the tolerance is 0.2 mm, longer exposure is not an option at any brightness — you need a strobe and the shortest exposure the light supports. The auto exposure cap that keeps motion blur off fast lines covers the setting side of that trade.

Why does a 12 MP GigE camera stop near 9 fps even at short exposure?

The link, not the light, is the limit. A 4000 × 3000 Mono8 frame is 12 MB, a GigE link carries roughly 112 MB/s of usable payload, and 12 MB ÷ 112 MB/s ≈ 9.3 fps no matter how short the exposure is.

The arithmetic: GigE's line rate is 1000 Mbit/s, or 125 MB/s. After protocol overhead plan on about 90% of that — roughly 112 MB/s with jumbo packets, 10-20% less without them. Twelve megabytes per frame therefore sets a 9.3 fps ceiling that no exposure setting can move. Cut the data first: an ROI over half the frame height is 6 MB and about 18 fps; 2×2 binning is 3 MB and about 37 fps; Mono8 before 10-bit. Then raise the link: USB3 moves three to four times GigE's payload, 10GigE about ten times. A network card that negotiated 100 Mbit/s carries only about 11 MB/s, and 12 MB frames fall to about 1 fps.

If two cameras share one network card their payloads contend, and each camera sees less than half the budget: the multi-camera frame drop checklist walks that case, and how much frame rate a GigE link really carries for a high-speed camera works the budget in full. Pixel format matters as much as exposure there — RGB camera frame rate limits: pixel format and exposure shows why.

The same 12 MP sensor on two links shows the ceiling plainly: the GigE camera tops out at 9 fps while the USB3 camera runs 30 fps at 4000 × 3000.

Same sensor, different link, different ceiling:

Area scan cameras12 MP GigE area scan camera, IMX226, 1/1.7" rolling shutter, 9 fps (LS-CMR-0053)LS-CMR-0053
Sensor format
1/1.7"
Lens mount
C-mount
$560.00View part
Area scan cameras12 MP USB3 area scan camera, IMX226, 1/1.7" rolling shutter, 30 fps, 4000 × 3000 resolution (LS-CMR-0166)LS-CMR-0166
Sensor format
1/1.7"
Interface
USB3
$560.00View part

How do you get a bright image inside a 4.5 ms exposure?

Spend the light budget in this order — aperture, light drive, wavelength, gain. Each f-stop doubles the photons at no noise cost, while gain doubles noise along with the signal; opening f/4 to f/2.8 alone closed most of the 2.7x deficit above.

Aperture first. Every full stop — f/4 to f/2.8 to f/2 — doubles the light through the lens. The price is depth of field, so check the range your part needs before you open up; the depth of field calculator gives the number for your working distance and f-number.

Light second. LED output tracks drive current until the die saturates or heats, so a +35% request usually fits inside the rated continuous current. A strobe goes further: pulsing for tens of microseconds to about a millisecond lets the LED run several times its continuous output while the sensor ignores plant lighting between frames. Browse the machine vision lights by type and wavelength.

Wavelength third. Contrast is spectral: a red LED on a blue print gives a dim image at any exposure. Pick the colour against your part — which LED colour gives the best contrast in machine vision ranks the choices.

Mono sensor. Without a Bayer colour filter, a mono sensor gathers roughly three times more photons per pixel — about one and a half stops on a neutral target. For a dark, fast scene that is the exact fix: the MV-CS200-10UM pairs a 20 MP mono sensor with a USB3.0 link.

Area scan camerasHikrobot MV-CS200-10UM 20 MP Area Scan Camera, USB3.0, IMX183, 2nd Gen., MonoMV-CS200-10UM
Sensor format
1"
Lens mount
C-mount
Interface
USB3
Resolution
16-25 MP
$759.00View partBuild a system with it

Gain last. It amplifies without adding photons, so keep it for the final fraction of the deficit and re-plan the lighting once you pass about +12 dB; the exposure, gain and image quality balance sets out that trade.

What is the fastest way to find which limit is binding?

Fifteen minutes on the bench separates the three limits. Disable the frame-rate cap, read the resulting rate at minimum exposure, then step the exposure upward and mark where fps starts to fall — that knee is your readout time.

  1. Set the exposure to its minimum (100 µs works on most sensors), free-run without triggers, and set AcquisitionFrameRateEnable to false. The rate you record is the readout ceiling: 211 fps means a 4.74 ms period.
  2. If that ceiling sits far below the data sheet maximum on a large sensor, the link is binding: confirm the network card negotiated 1000 Mbit/s. A 100 Mbit/s link gives about 1 fps on 12 MB frames, the same signature as the GigE camera packet size error when your link drops below gigabit.
  3. Step the exposure through 2, 4.7, 10, 20 and 33 ms. A rate that follows 1000 ÷ exposure past about 4.7 ms confirms the exposure limit.
  4. Read the resulting-frame-rate feature after each change; it flags the binding input before you benchmark anything downstream.
  5. Compute the exposure budget for your target rate, fix the light to fit it, then power-cycle and read back both the setting and the rate before trusting the result.

When is the fix a different camera instead of more light?

Change hardware only when the readout cannot meet the line rate or the link cannot carry the data. Exposure-limited systems are lighting problems, bandwidth-limited ones are data-size problems, and both usually cost less to fix than a re-camera.

Decide by case:

  • Strobe and aperture close the deficit — keep the camera; the bench stage solved it.
  • Motion blur forbids the exposure even under strobe — the readout is the next thing to move: the MV-CH120-11UC is a 12 MP USB3 camera with a global shutter, built as a high-speed version.
Area scan camerasHikrobot MV-CH120-11UC 12 MP Area Scan Camera, USB3, IMX304, High-speed version, ColorMV-CH120-11UC
Sensor format
1.1"
Lens mount
C-mount
Interface
USB3
Resolution
12 MP
$2,339.00 · quotedView and quoteBuild a system with it
  • ROI, binning and Mono8 cannot cut the data enough — move the link: the MV-CH250-25TC-F-NF carries a 25 MP global-shutter sensor over 10GigE.
Area scan camerasHikrobot MV-CH250-25TC-F-NF 25 MP 10GigE area scan camera, PYTHON25K, Color, F-mount, With fanMV-CH250-25TC-F-NF
Sensor format
APS-H
Lens mount
F-mount
Interface
10GigE
Resolution
Over 25 MP
$7,349.00 · quotedView and quoteBuild a system with it

A 10GigE link moves a 12 MB frame at roughly 90 fps instead of 9. When even that runs out, CoaXPress goes further: cameras such as the MV-CH250-90YC-M58S-NN carry a 25 MP global-shutter sensor over CXP-12.

Size the chain before ordering: the camera finder filters by interface, resolution and shutter type, and more on exposure and sensor choices sits on the cameras topic page. Measure first, then buy: readout ceiling from step 1, exposure budget from the formula, light sized to fit it — and start the configurator at the camera when the numbers say the link is the ceiling.

Build the whole station

The configurator matches a camera, lens, light, light controller and cables to each other, step by step, and lists only parts that fit what you already picked.

Start with the camera

Questions

Does a 10-bit or 12-bit pixel format halve my frame rate?

Only through bandwidth. A 12-bit frame carries about 1.5 times the bytes of Mono8, so a GigE link that delivers 9.3 fps at 12 MB per Mono8 frame delivers around 6 fps in 12-bit. Exposure is untouched; the cost is pure link throughput. Drop to Mono8 whenever your algorithm does not need the extra depth.

How much gain is too much when you shorten the exposure?

Gain amplifies without adding photons: every +6 dB doubles brightness and doubles noise with it. On a modern CMOS sensor, grain usually starts to bother inspection logic near +12 dB. Use gain to close the last fraction of a light deficit, not the whole 2.7x from the worked example — for that, buy photons with aperture or lighting.

Does strobing help on a dark plant floor?

Yes — it is the standard answer on fast lines. Fire the light only inside the exposure window: the sensor integrates full LED output for 100 µs and ignores ambient between frames. Short pulses can drive an LED several times beyond its continuous rating because the die stays cool, with widths from tens of microseconds up to about a millisecond.

Why did the frame-rate limit come back after a restart?

Camera features live in volatile memory until written to non-volatile storage, and many SDKs re-load a saved configuration at startup. Your test script can raise the limit, then the startup profile quietly restores 30 fps. Change the setting in the profile your software actually loads, then read the resulting frame rate back after a full power cycle, not just a reconnect.