OpenGLInstancing
This is very small project for comparing rendering time of the simpliest objects in three ways:
-
every object in separate batch (obviously bad idea),
-
all objects packed into one batch,
-
instancing.
Application renders object with use of each enabled rendering method, measuring time with use of OpenGL timer queries. Results can be observed in real time on the chart in the application's window or as a characteristic generated to the excel file.
User can change rendered data by setting couple of options:
-
Objects type:
-
points (one vertex)
-
triangles (3 vertices)
-
quads (4 vertices)
-
pentagon (5 triangles)
-
-
Objects count: from 1 to 1 milion
-
Objects size:
-
points: point size set in shader
-
other types: vertices scaled in shader
-
-
Depth test (no affect at this moment, as data is rendered in 2D
Settings for characteristic allow to set range of the objects count and the step that is used to increment objects count after measuring time. Characteristic is generated as a excel chart that shows rendering time according to number of objects.

Technical stack
User interface: Qt and Qt Quick (QML)
Chart in application: Qt Charts 2.3
Excel file generating: QXlsx (https://github.com/QtExcel/QXlsx)
Rendering: OpenGL