Added love.graphics.getStats. It returns a table with performance-related graphics statistics. Currently it contains these fields:

drawcalls: The number of internal draw calls made so far in the current frame.

canvasswitches: The number of times the active Canvas has been changed so far in the current frame.

texturememory: The approximate amount of video memory (in bytes) used by OpenGL textures created by Images, Canvases, and Fonts.

images: The number of active Image objects.

canvases: The number of active Canvas objects.

fonts: The number of active Font objects.
This commit is contained in:
Alex Szpakowski
2014-08-21 15:01:29 -03:00
parent e1f7e4abd3
commit 8ffe610659
18 changed files with 266 additions and 16 deletions
+15 -3
View File
@@ -133,6 +133,12 @@ public:
OpenGL ≷
};
struct Stats
{
size_t textureMemory;
int drawCalls;
} stats;
OpenGL();
/**
@@ -159,13 +165,17 @@ public:
void prepareDraw();
/**
* glDrawArraysInstanced with a pseudo-instancing fallback.
* glDrawArrays and glDrawElements which increment the draw-call counter by
* themselves.
**/
void drawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
void drawArrays(GLenum mode, GLint first, GLsizei count);
void drawElements(GLenum mode, GLsizei count, GLenum type, const void *indices);
/**
* glDrawElementsInstanced with a pseudo-instancing fallback.
* glDrawArraysInstanced and glDrawElementsInstanced with pseudo-instancing
* fallbacks. They also increment the draw-call counter (once per call).
**/
void drawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
void drawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
/**
@@ -279,6 +289,8 @@ public:
**/
int getMaxRenderTargets() const;
void updateTextureMemorySize(size_t oldsize, size_t newsize);
/**
* Get the GPU vendor of this OpenGL context.
**/