-
Notifications
You must be signed in to change notification settings - Fork 401
Profiler
Mikulas Florek edited this page Mar 13, 2021
·
12 revisions
The profiler reports how much time is spent in different parts of engine. This is very helpful when you want to optimize your game. Parts of the engine you want to track must be marked by following macros:
- PROFILE_FUNCTION
- PROFILE_BLOCK
Profiler window
void Material::apply(Renderer& renderer, PipelineInstance& pipeline) const
{
PROFILE_FUNCTION();
Once the profiler is recording there is a very small overhead for each record.
Other than tracking time profiler can be used to track integer or string values
void renderMeshes(const Array<RenderableMesh>& meshes)
{
PROFILE_FUNCTION();
if (meshes.empty()) return;
Renderable* renderables = m_scene->getRenderables();
Profiler::pushInt("mesh count", meshes.size());
Profiler::pushString("some msg");
If the Profiler::pushInt is called several times per frame, the resulting value is the sum of all calls.