BNBConsistencyMode
Objective-C
enum BNBConsistencyMode : NSInteger {}Swift
enum BNBConsistencyMode : Int, @unchecked SendableThese modes describe the relationship between processing loop and render loop frames
Synchronous - Asynchronous:
- Synchronous means to output (render) a frame only once after a new frame was fully processed
- Asynchronous may render multiple (not waiting for frx), further divided into Consistent and Inconsistent sub-modes. (note: Synchronous mode by definition is always Consistent.)
Consistent - Inconsistent:
- Consistent renders the processed frames as-is, the only change being in the advancement of time (e.g. animations, videos), while
- Inconsistent changes the camera image for that frame to the latest available (not yet processed), resulting in smoother rendering in case frx is slow or unsteady.
“Smart” modes:
There are modes with the “when effect loaded” suffix. These modes behave exactly the same as corresponding modes without such suffix, but only with one difference - they are activated only when the effect was completely loaded.
These modes can be used to avoid image freeze during effect activation.
- 
                  
                  Undocumented DeclarationObjective-C BNBConsistencyModeSynchronousSwift case synchronous = 0
- 
                  
                  switches to async-inconsistent mode while effect is loading DeclarationObjective-C BNBConsistencyModeSynchronousWhenEffectLoadedSwift case synchronousWhenEffectLoaded = 1
- 
                  
                  switches to async-inconsistent mode while effect is loading DeclarationObjective-C BNBConsistencyModeAsynchronousInconsistentSwift case asynchronousInconsistent = 2
- 
                  
                  switches to async-inconsistent mode while effect is loading DeclarationObjective-C BNBConsistencyModeAsynchronousConsistentSwift case asynchronousConsistent = 3
- 
                  
                  switches to async-inconsistent mode while effect is loading DeclarationObjective-C BNBConsistencyModeAsynchronousConsistentWhenEffectLoadedSwift case asynchronousConsistentWhenEffectLoaded = 4
 BNBConsistencyMode Enumeration Reference
        BNBConsistencyMode Enumeration Reference