Unvanquished / Unvanquished

An FPS/RTS hybrid game powered by the Daemon engine (a combination of ioq3 and XreaL)
https://unvanquished.net
Other
991 stars 160 forks source link

In engine renderer profiling #356

Open Kangz opened 10 years ago

Kangz commented 10 years ago

The goal is to have the infrastructure necessary to do a renderer profiler like the one shown in this video https://www.youtube.com/watch?v=DMO4X9leTG8 The first and most useful step will be to have a hierarchical nesting of renderer blocks like Forward pass -> BSP -> leaf N.

Performance on the GPU can be measured using OpenGL timestamp queries for a small performance cost. A RAII way to do this with some magic seems best (to avoid devs forgetting to pop the block), of course cvar-controlled. When the OpenGL context is created, we will need to create a lot of timestamp queries as several frames can be queued in the GPU.

Also we might at that time try to limit the number of frames queued to reduce latency (using gl fences).

For a start the frame profiling can be dumped in a file, waiting for facilities to draw debug UI.

Mentored projects on the Unv wiki

ghost commented 1 year ago

While I see the point for this, this is a complex task that I think is above what unvanquished can afford.

Still, some input about implementing that kind of things:

Imo, this is, as #355 a feature request. I'm even tempted to call this a duplicate.