kanzi::ApplicationProperties Struct Reference

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

NativeDesktopProperties defaultDesktopProperties
 Default properties for desktop. More...
 
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...
 
PerformanceInfoProperties performanceInfoProperties
 Properties of the performance info display. 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...
 
optional< size_t > mainLoopProfilingSampleBufferCount
 Main loop profiling sample buffer count. More...
 

Detailed Description

Configurable application properties.

Member Enumeration Documentation

Performance info level.

Enumerator
PerformanceInfoLevelDisabled 

Disabled.

PerformanceInfoLevelFPS 

Show FPS only.

PerformanceInfoLevelFull 

Full info.

Constructor & Destructor Documentation

kanzi::ApplicationProperties::ApplicationProperties ( )
explicit

Constructor.

Member Data Documentation

NativeDesktopProperties kanzi::ApplicationProperties::defaultDesktopProperties

Default properties for desktop.

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.

PerformanceInfoProperties kanzi::ApplicationProperties::performanceInfoProperties

Properties of the performance info display.

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:

  • "off" disables performance profiling.
  • "on" enables performance profiling.
  • "show" enables performance profiling, and if the profiler is registered within the Main Loop Task Profiler Registry, shows the profiler graph in the HUD. To use this state, set performanceInfoLevel to 2. To access the Main Loop Task Profiler Registry, use Domain::getMainLoopTaskProfilerRegistry().

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.

optional<size_t> kanzi::ApplicationProperties::mainLoopProfilingSampleBufferCount

Main loop profiling sample buffer count.

Optional override for the default size of sample buffers used by main loop profiling


The documentation for this struct was generated from the following file: