Cogs.Core
Classes | Public Member Functions | Public Attributes | Private Attributes | Static Private Attributes | Friends | List of all members
Cogs::Core::QualityService Class Reference

Classes

struct  FrameTimings
 

Public Member Functions

 QualityService (class Context *context)
 
void beginFrame ()
 
void endFrame ()
 
void begin (MetricType metric)
 
void end (MetricType metric)
 
void updateTimes ()
 
float getCurrentQuality () const
 
void requestQualityChange (QualityRequest request)
 
FrameTimings getFrameTimings () const
 
float getMetric (MetricType metric)
 

Public Attributes

float assetSystemToleranceScale = 1.f
 
float potreeSystemToleranceScale = 1.f
 
float potreeSystemChunkCountScale = 1.f
 
float ogc3DTilesSystemToleranceScale = 1.0f
 
float ogc3DTilesSystemCacheControl = 1.0f
 

Private Attributes

Contextcontext = nullptr
 
bool rapidBackoff = false
 
bool throttleDown = false
 
bool hasSlack = false
 
bool resetFrameTime = false
 
bool hasOneFrame = false
 
float frameTimeTarget = 0.f
 
uint32_t gpuMemTargetMB = 0
 
float avgFrameTime = 0.f
 
float qualitySetting = 100.f
 
float currentQuality = 1.f
 
size_t stack_idx = 0
 
size_t times_idx = 0
 
TimePerf time [(size_t) MetricType::MetricTypeCount]
 
float times [TIMES_COUNT][(size_t) MetricType::MetricTypeCount]
 
size_t bufferUploadSize [TIMES_COUNT]
 
size_t textureUploadSize [TIMES_COUNT]
 

Static Private Attributes

static constexpr size_t TIMES_COUNT = 256
 

Friends

class InspectorGuiRenderer
 
void renderingStatsInspector (class Context *, bool *)
 

Detailed Description

Definition at line 26 of file QualityService.h.

Constructor & Destructor Documentation

◆ QualityService()

Cogs::Core::QualityService::QualityService ( class Context context)

Definition at line 110 of file QualityService.cpp.

Member Function Documentation

◆ begin()

void QualityService::begin ( MetricType  metric)

Definition at line 331 of file QualityService.cpp.

◆ beginFrame()

void Cogs::Core::QualityService::beginFrame ( )

Definition at line 121 of file QualityService.cpp.

◆ end()

void QualityService::end ( MetricType  metric)

Definition at line 337 of file QualityService.cpp.

◆ endFrame()

void Cogs::Core::QualityService::endFrame ( )

Definition at line 240 of file QualityService.cpp.

◆ getCurrentQuality()

float Cogs::Core::QualityService::getCurrentQuality ( ) const
inline

Definition at line 52 of file QualityService.h.

◆ getFrameTimings()

QualityService::FrameTimings QualityService::getFrameTimings ( ) const

Get timings for the most recently finished frame.

Definition at line 343 of file QualityService.cpp.

◆ getMetric()

float QualityService::getMetric ( MetricType  metric)

Definition at line 358 of file QualityService.cpp.

◆ requestQualityChange()

void Cogs::Core::QualityService::requestQualityChange ( QualityRequest  request)

Definition at line 311 of file QualityService.cpp.

Friends And Related Function Documentation

◆ InspectorGuiRenderer

friend class InspectorGuiRenderer
friend

Definition at line 28 of file QualityService.h.

Member Data Documentation

◆ assetSystemToleranceScale

float Cogs::Core::QualityService::assetSystemToleranceScale = 1.f

Definition at line 61 of file QualityService.h.

◆ avgFrameTime

float Cogs::Core::QualityService::avgFrameTime = 0.f
private

Definition at line 80 of file QualityService.h.

◆ bufferUploadSize

size_t Cogs::Core::QualityService::bufferUploadSize[TIMES_COUNT]
private

Definition at line 91 of file QualityService.h.

◆ context

Context* Cogs::Core::QualityService::context = nullptr
private

Definition at line 71 of file QualityService.h.

◆ currentQuality

float Cogs::Core::QualityService::currentQuality = 1.f
private

Definition at line 82 of file QualityService.h.

◆ frameTimeTarget

float Cogs::Core::QualityService::frameTimeTarget = 0.f
private

Definition at line 78 of file QualityService.h.

◆ gpuMemTargetMB

uint32_t Cogs::Core::QualityService::gpuMemTargetMB = 0
private

Definition at line 79 of file QualityService.h.

◆ hasOneFrame

bool Cogs::Core::QualityService::hasOneFrame = false
private

Definition at line 76 of file QualityService.h.

◆ hasSlack

bool Cogs::Core::QualityService::hasSlack = false
private

Definition at line 74 of file QualityService.h.

◆ ogc3DTilesSystemCacheControl

float Cogs::Core::QualityService::ogc3DTilesSystemCacheControl = 1.0f

Definition at line 68 of file QualityService.h.

◆ ogc3DTilesSystemToleranceScale

float Cogs::Core::QualityService::ogc3DTilesSystemToleranceScale = 1.0f

Definition at line 67 of file QualityService.h.

◆ potreeSystemChunkCountScale

float Cogs::Core::QualityService::potreeSystemChunkCountScale = 1.f

Definition at line 64 of file QualityService.h.

◆ potreeSystemToleranceScale

float Cogs::Core::QualityService::potreeSystemToleranceScale = 1.f

Definition at line 63 of file QualityService.h.

◆ qualitySetting

float Cogs::Core::QualityService::qualitySetting = 100.f
private

Definition at line 81 of file QualityService.h.

◆ rapidBackoff

bool Cogs::Core::QualityService::rapidBackoff = false
private

Definition at line 72 of file QualityService.h.

◆ resetFrameTime

bool Cogs::Core::QualityService::resetFrameTime = false
private

Definition at line 75 of file QualityService.h.

◆ stack_idx

size_t Cogs::Core::QualityService::stack_idx = 0
private

Definition at line 84 of file QualityService.h.

◆ textureUploadSize

size_t Cogs::Core::QualityService::textureUploadSize[TIMES_COUNT]
private

Definition at line 92 of file QualityService.h.

◆ throttleDown

bool Cogs::Core::QualityService::throttleDown = false
private

Definition at line 73 of file QualityService.h.

◆ time

TimePerf Cogs::Core::QualityService::time[(size_t) MetricType::MetricTypeCount]
private

Definition at line 88 of file QualityService.h.

◆ times

float Cogs::Core::QualityService::times[TIMES_COUNT][(size_t) MetricType::MetricTypeCount]
private

Definition at line 89 of file QualityService.h.

◆ TIMES_COUNT

constexpr size_t Cogs::Core::QualityService::TIMES_COUNT = 256
staticconstexprprivate

Definition at line 86 of file QualityService.h.

◆ times_idx

size_t Cogs::Core::QualityService::times_idx = 0
private

Definition at line 87 of file QualityService.h.


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