4#ifndef vtkOpenGLRenderTimerLog_h
5#define vtkOpenGLRenderTimerLog_h
8#include "vtkRenderingOpenGL2Module.h"
13VTK_ABI_NAMESPACE_BEGIN
54 bool GetLoggingEnabled() VTK_FUTURE_CONST
override {
return this->DoLogging(); }
80 vtkSetMacro(MinTimerPoolSize,
size_t);
81 vtkGetMacro(MinTimerPoolSize,
size_t);
111 void TrimTimerPool();
113 void CheckPendingFrames();
a simple class to control print indentation
OpenGL2 override for vtkRenderTimerLog.
std::queue< Frame > ReadyFrames
bool DoLogging() VTK_FUTURE_CONST
std::queue< vtkOpenGLRenderTimer * > TimerPool
static vtkOpenGLRenderTimerLog * New()
~vtkOpenGLRenderTimerLog() override
void MarkFrame() override
Call to mark the start of a new frame, or the end of an old one.
void MarkEndEvent() override
Mark the beginning or end of an event.
Frame PopFirstReadyFrame() override
Retrieve the first available frame's timing info.
std::deque< OGLFrame > PendingFrames
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void ReleaseGraphicsResources() override
Releases any resources allocated on the graphics device.
bool IsSupported() VTK_FUTURE_CONST override
Returns true if stream timings are implemented for the current graphics backend.
vtkOpenGLRenderTimerLog()
void MarkStartEvent(const std::string &name) override
Mark the beginning or end of an event.
bool FrameReady() override
Returns true if there are any frames ready with complete timing info.
Asynchronously measures GPU execution time for a single event.
Asynchronously measures GPU execution times for a series of events.
std::vector< OGLEvent > Events
vtkOpenGLRenderTimer * Timer
std::vector< OGLEvent > Events
Container for a single timed event.
Container for a frame's events.