Lumiera  0.pre.03
»edityourfreedom«
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
EngineConfig Class Reference

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

Description

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.

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

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...
 

Friends

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 ( )
private

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

Warning
using hard wired values as of 1/2013

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

~EngineConfig ( )
private

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

Member Function Documentation

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

Todo:
hard wired value as of 1/2013

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

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

lib::Depend< EngineConfig > get
static

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(), and WrappedStandardExeBuilder::invokeOriginalBuilder().

Friends And Related Function Documentation

friend class lib::DependencyFactory< EngineConfig >
friend

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

+ Collaboration diagram for EngineConfig:

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