Configurable application properties. More...
#include <kanzi/core.ui/application/application_properties.hpp>
Public Types | |
enum | PerformanceInfoLevel { PerformanceInfoLevelDisabled, PerformanceInfoLevelFPS, PerformanceInfoLevelFull } |
Performance info level. More... | |
Public Member Functions | |
ApplicationProperties () | |
Constructor. More... | |
Public Attributes | |
NativeWindowProperties | defaultWindowProperties |
Default properties for application windows. More... | |
KzsSurfaceProperties | defaultSurfaceProperties |
Default properties for the surfaces of the windows. More... | |
EventSourceProperties | defaultEventSourceProperties |
Default properties for the event sources. More... | |
string | binaryName |
Path to either the binary config file listing all .kzb files that are loaded to project, or a path to a single .kzb file. More... | |
vector< string > | moduleNames |
List of modules to load. More... | |
int | frameRateLimit |
Framerate limit as frames per second. More... | |
unsigned int | loadingThreadCount |
The number of background threads that are used to load resources. More... | |
unsigned int | maxPendingResources |
The maximum number of resources that can be processed by the loading threads at the same time. More... | |
bool | useMemoryMappedLoading |
Indicates whether memory mapping is used when loading KZB files. More... | |
unsigned int | glyphCacheWidth |
Width of the textures created for glyph caches. More... | |
unsigned int | glyphCacheHeight |
Height of the textures created for glyph caches. More... | |
PerformanceInfoLevel | performanceInfoLevel |
Performance info display level. More... | |
bool | extensionOutputEnabled |
Indicates whether the list of graphics related extensions printed when launching the application. More... | |
bool | propertyOutputEnabled |
Indicates whether the list of graphics related properties printed when launching the application, useful for debugging. More... | |
bool | informationOutputEnabled |
Indicates whether the list of graphics related information printed when launching the application, useful for debugging. More... | |
bool | graphicsLoggingEnabled |
Indicates whether graphics API calls should be logged, useful for debugging. More... | |
string | profilingCategoryFilter |
Profiling category filter. More... | |
bool | applicationIdleStateEnabled |
When an application is in the idle state, if there are no changes in the scene graph and rendering is not necessary, the application main loop waits for events, such as input. More... | |
Configurable application properties.
|
explicit |
Constructor.
NativeWindowProperties kanzi::ApplicationProperties::defaultWindowProperties |
Default properties for application windows.
KzsSurfaceProperties kanzi::ApplicationProperties::defaultSurfaceProperties |
Default properties for the surfaces of the windows.
EventSourceProperties kanzi::ApplicationProperties::defaultEventSourceProperties |
Default properties for the event sources.
string kanzi::ApplicationProperties::binaryName |
Path to either the binary config file listing all .kzb files that are loaded to project, or a path to a single .kzb file.
vector<string> kanzi::ApplicationProperties::moduleNames |
List of modules to load.
int kanzi::ApplicationProperties::frameRateLimit |
Framerate limit as frames per second.
Set to 0 to disable limiting the framerate altogether.
unsigned int kanzi::ApplicationProperties::loadingThreadCount |
The number of background threads that are used to load resources.
By default set to min(number of cores - 1, 3). Set to 0 to disable multithreaded loading and load everything in the main thread.
unsigned int kanzi::ApplicationProperties::maxPendingResources |
The maximum number of resources that can be processed by the loading threads at the same time.
The higher number can make the loading faster, but increases the peak memory usage during loading as more resources can be loaded to the memory before they are deployed to the GPU. If set to 0 (which is the default value), the value is set to the number of threads + 1.
bool kanzi::ApplicationProperties::useMemoryMappedLoading |
Indicates whether memory mapping is used when loading KZB files.
unsigned int kanzi::ApplicationProperties::glyphCacheWidth |
Width of the textures created for glyph caches.
unsigned int kanzi::ApplicationProperties::glyphCacheHeight |
Height of the textures created for glyph caches.
PerformanceInfoLevel kanzi::ApplicationProperties::performanceInfoLevel |
Performance info display level.
bool kanzi::ApplicationProperties::extensionOutputEnabled |
Indicates whether the list of graphics related extensions printed when launching the application.
It is useful for debugging which extensions are supported by platform.
bool kanzi::ApplicationProperties::propertyOutputEnabled |
Indicates whether the list of graphics related properties printed when launching the application, useful for debugging.
bool kanzi::ApplicationProperties::informationOutputEnabled |
Indicates whether the list of graphics related information printed when launching the application, useful for debugging.
bool kanzi::ApplicationProperties::graphicsLoggingEnabled |
Indicates whether graphics API calls should be logged, useful for debugging.
string kanzi::ApplicationProperties::profilingCategoryFilter |
Profiling category filter.
Use profiling category filters to set the state for profiling categories:
Each filter token consists of category name and state separated with the equal sign (=). Use semicolons (;) to separate multiple filter tokens. For example:
"category1=on;category2=off;category3=show"
To apply a setting for all profiling categories, use the asterisk (*). For example, to enable all categories:
"*=on"
The filter is evaluated from left to right, meaning that each setting overrides previous ones. For example, to disable all categories except category1:
"*=off;category1=on"
To set the same state for multiple categories, separate the categories with pipes (|). For example, to enable category1 and category2:
"category1|category2=on"
bool kanzi::ApplicationProperties::applicationIdleStateEnabled |
When an application is in the idle state, if there are no changes in the scene graph and rendering is not necessary, the application main loop waits for events, such as input.
When you disable the application idle state, Kanzi extends this wait only until the next frame. When you enable the application idle state (the default setting), Kanzi waits until the application receives an event. Other threads may also post tasks to interrupt idle state.