|
MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
|
|
inline |
Set how often this processor actually evaluates, relative to the engine's preferred frame rate.
ImageCVProcessor is a deliberate exception to the engine's normal scheduling model. Every other processor registered with the engine is scheduled by string-keyed rate registration at the point of registration, and runs on that schedule without needing its own internal throttle. ImageCVProcessor throttles itself internally instead, because its result is not fenceable for the next evaluation cycle (a CV pass in flight cannot be safely interrupted or reissued for the following frame) and because the GPU vision dispatch is heavy enough that running it on every render frame is often wasted work. This self-throttle exists only for that reason and is not a pattern to copy into ordinary processors; a normal processor should be scheduled through the engine's registration mechanism, not by skipping frames internally.
fps below the preferred frame rate throttles down: m_eval_delta becomes ceil(s_preferred_frame_rate / fps), rounded down here to match integer frame counting, so the processor runs roughly every m_eval_delta frames. fps at or above the preferred frame rate runs every frame (m_eval_delta = 1).
| fps | Desired evaluation rate in frames per second. |
Definition at line 210 of file ImageCVProcessor.hpp.
References MayaFlux::Buffers::ImageCVProcessor< T >::m_eval_delta, and MayaFlux::Buffers::s_preferred_frame_rate.