Still not sure whether to make benchmarking a special build option, or trigger it by passing a flag.
First one would cut unused code from the final binary and shorten build time by a little (because how often do you do benchmarking?). Additionally, code for benchmarking may simply not compile on some platforms (using filesystem).
The latter has the benefit of benchmarking without making a special build.
Moving benchmarking out into a separate target probably makes sense.
Benchmarking as a form of acceptance test done on CI doesn't make sense, because even if software-implemented OpenGL drivers are available in utilized Docker image, the same CPU time / hardware can't be asserted on each bulid so the FPS will vary significantly.
Still not sure whether to make benchmarking a special build option, or trigger it by passing a flag. First one would cut unused code from the final binary and shorten build time by a little (because how often do you do benchmarking?). Additionally, code for benchmarking may simply not compile on some platforms (using filesystem). The latter has the benefit of benchmarking without making a special build.
Moving benchmarking out into a separate target probably makes sense.
Benchmarking as a form of acceptance test done on CI doesn't make sense, because even if software-implemented OpenGL drivers are available in utilized Docker image, the same CPU time / hardware can't be asserted on each bulid so the FPS will vary significantly.