Krita Source Code Documentation
Loading...
Searching...
No Matches
KisOpenglCanvasDebugger Class Reference

#include <kis_opengl_canvas_debugger.h>

+ Inheritance diagram for KisOpenglCanvasDebugger:

Classes

struct  Private
 

Public Member Functions

qreal accumulatedFps ()
 
 KisOpenglCanvasDebugger ()
 
void notifyPaintRequested ()
 
void notifySyncStatus (bool value)
 
bool showFpsOnCanvas () const
 
 ~KisOpenglCanvasDebugger ()
 

Static Public Member Functions

static KisOpenglCanvasDebuggerinstance ()
 

Private Slots

void slotConfigChanged ()
 

Private Attributes

const QScopedPointer< Privatem_d
 

Detailed Description

Definition at line 14 of file kis_opengl_canvas_debugger.h.

Constructor & Destructor Documentation

◆ KisOpenglCanvasDebugger()

KisOpenglCanvasDebugger::KisOpenglCanvasDebugger ( )

Definition at line 40 of file kis_opengl_canvas_debugger.cpp.

41 : m_d(new Private)
42{
43 connect(KisConfigNotifier::instance(), SIGNAL(configChanged()), SLOT(slotConfigChanged()));
45}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
static KisConfigNotifier * instance()
const QScopedPointer< Private > m_d

References connect(), and KisConfigNotifier::instance().

◆ ~KisOpenglCanvasDebugger()

KisOpenglCanvasDebugger::~KisOpenglCanvasDebugger ( )

Definition at line 47 of file kis_opengl_canvas_debugger.cpp.

48{
49}

Member Function Documentation

◆ accumulatedFps()

qreal KisOpenglCanvasDebugger::accumulatedFps ( )

Definition at line 62 of file kis_opengl_canvas_debugger.cpp.

63{
64 qreal value = 0;
65
66 if (m_d->fpsSum > 0) {
67 value = qreal(m_d->fpsCounter) / m_d->fpsSum * 1000.0;
68 }
69
70 return value;
71}
float value(const T *src, size_t ch)

References m_d, and value().

◆ instance()

KisOpenglCanvasDebugger * KisOpenglCanvasDebugger::instance ( )
static

Definition at line 52 of file kis_opengl_canvas_debugger.cpp.

53{
54 return s_instance;
55}

◆ notifyPaintRequested()

void KisOpenglCanvasDebugger::notifyPaintRequested ( )

Definition at line 83 of file kis_opengl_canvas_debugger.cpp.

84{
85 if (!m_d->isEnabled) return;
86
87 m_d->fpsSum += m_d->time.restart();
88 m_d->fpsCounter++;
89
90 if (m_d->fpsCounter > 100 && m_d->fpsSum > 0) {
91 qDebug() << "Requested FPS:" << qreal(m_d->fpsCounter) / m_d->fpsSum * 1000.0;
92 m_d->fpsSum = 0;
93 m_d->fpsCounter = 0;
94 }
95}

References m_d.

◆ notifySyncStatus()

void KisOpenglCanvasDebugger::notifySyncStatus ( bool value)

Definition at line 97 of file kis_opengl_canvas_debugger.cpp.

98{
99 if (!m_d->isEnabled) return;
100
101 m_d->syncFlaggedSum += isBusy;
102 m_d->syncFlaggedCounter++;
103
104 if (m_d->syncFlaggedCounter > 500 && m_d->syncFlaggedSum > 0) {
105 qDebug() << "glSync effectiveness:" << qreal(m_d->syncFlaggedSum) / m_d->syncFlaggedCounter;
106 m_d->syncFlaggedSum = 0;
107 m_d->syncFlaggedCounter = 0;
108 }
109}

References m_d.

◆ showFpsOnCanvas()

bool KisOpenglCanvasDebugger::showFpsOnCanvas ( ) const

Definition at line 57 of file kis_opengl_canvas_debugger.cpp.

58{
59 return m_d->isEnabled;
60}

References m_d.

◆ slotConfigChanged

void KisOpenglCanvasDebugger::slotConfigChanged ( )
privateslot

Definition at line 73 of file kis_opengl_canvas_debugger.cpp.

74{
75 KisConfig cfg(true);
76 m_d->isEnabled = cfg.enableOpenGLFramerateLogging();
77
78 if (m_d->isEnabled) {
79 m_d->time.start();
80 }
81}

References KisConfig::enableOpenGLFramerateLogging(), and m_d.

Member Data Documentation

◆ m_d

const QScopedPointer<Private> KisOpenglCanvasDebugger::m_d
private

Definition at line 34 of file kis_opengl_canvas_debugger.h.


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