Lumiera  0.pre.03
EngineConfig Class Reference

#include "backend/engine/engine-config.h"


Point of access for any kind of engine configuration, setup and performance tweaks.

Most of these parameters are derived from static system configuration or more focused configuration settings within the session, but some values will be updated live as a result of engine self monitoring. The user of this interface remains unaware of this distinction. There is a sub interface (TODO planned 1/2013) for publishing statistics changes and monitoring information.

while this interface exposes configuration, it is decoupled from any concerns regarding session and configuration representation.

WIP-WIP as of 1/2013

anything regarding configuration and session storage

find out about the degree of locking required. Right now (1/13), there is no locking and all values are hard coded. It is conceivable to implement the access in a lock-free manner (by loosening any guarantee regarding the actual time point when a changed setting becomes visible)

Definition at line 67 of file engine-config.h.

Public Member Functions

Duration currentEngineLatency () const
 reasonable guess of the current engine working delay. More...
Duration currentJobPlanningRhythm () const
 Time interval for ahead planning of render jobs. More...

Static Public Attributes

static lib::Depend< EngineConfigget
 access point to the Engine Interface. More...


class lib::DependencyFactory< EngineConfig >

Private Member Functions

 EngineConfig ()
 build up a new engine configuration set, based on reasonable default values More...
 ~EngineConfig ()

Constructor & Destructor Documentation

◆ EngineConfig()

EngineConfig ( )

build up a new engine configuration set, based on reasonable default values

using hard wired values as of 1/2013

Definition at line 66 of file engine-config.cpp.

◆ ~EngineConfig()

~EngineConfig ( )

Definition at line 54 of file engine-config.cpp.

References EngineConfig::get.

Member Function Documentation

◆ currentEngineLatency()

Duration currentEngineLatency ( ) const

reasonable guess of the current engine working delay.

This is the latency to expect when requesting the calculation of a typical and average data frame, based on self observation in the recent past

hard wired value as of 1/2013

Definition at line 73 of file engine-config.cpp.

Referenced by lumiera_engine_get_latency().

+ Here is the caller graph for this function:

◆ currentJobPlanningRhythm()

Duration currentJobPlanningRhythm ( ) const

Time interval for ahead planning of render jobs.

Frame calculation is broken down into individual jobs, and these jobs are prepared and scheduled chunk wise, while they are invoked as late as possible. This setting defines the time span to prepare and cover in a single planning chunk.

Definition at line 80 of file engine-config.cpp.

Member Data Documentation

◆ get

lib::Depend< EngineConfig > get

access point to the Engine Interface.

storage for the Singleton accessor

this is an facade interface for internal use by the player. Client code should use the Player.

Definition at line 79 of file engine-config.h.

Referenced by Timings::currentEngineLatency(), Timings::getPlanningChunkDuration(), WrappedStandardExeBuilder::invokeOriginalBuilder(), lumiera_engine_get_latency(), and EngineConfig::~EngineConfig().

Friends And Related Function Documentation

◆ lib::DependencyFactory< EngineConfig >

friend class lib::DependencyFactory< EngineConfig >

Definition at line 72 of file engine-config.h.

+ Collaboration diagram for EngineConfig:

The documentation for this class was generated from the following files: