test: log retained underlay debug counters
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
This commit is contained in:
@@ -20,6 +20,10 @@
|
|||||||
#include <mbgl/util/logging.hpp>
|
#include <mbgl/util/logging.hpp>
|
||||||
#include <mbgl/util/instrumentation.hpp>
|
#include <mbgl/util/instrumentation.hpp>
|
||||||
|
|
||||||
|
#ifndef NDEBUG
|
||||||
|
#include <sstream>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <mbgl/gfx/drawable_tweaker.hpp>
|
#include <mbgl/gfx/drawable_tweaker.hpp>
|
||||||
#include <mbgl/renderer/layer_tweaker.hpp>
|
#include <mbgl/renderer/layer_tweaker.hpp>
|
||||||
#include <mbgl/renderer/render_target.hpp>
|
#include <mbgl/renderer/render_target.hpp>
|
||||||
@@ -51,6 +55,30 @@ RendererObserver& nullObserver() {
|
|||||||
return observer;
|
return observer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef NDEBUG
|
||||||
|
constexpr uint64_t RetainedCounterLogIntervalFrames = 120;
|
||||||
|
|
||||||
|
void logRetainedRendererCounters() {
|
||||||
|
const auto snapshot = particle::rendererDebugCounterSnapshot();
|
||||||
|
if (snapshot.fullRendererFrame == 0 ||
|
||||||
|
snapshot.fullRendererFrame % RetainedCounterLogIntervalFrames != 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::ostringstream message;
|
||||||
|
message << "ParticleRetained:"
|
||||||
|
<< " frame=" << snapshot.fullRendererFrame
|
||||||
|
<< " build=" << snapshot.retainedUnderlayBuild
|
||||||
|
<< " reuse=" << snapshot.retainedUnderlayReuse
|
||||||
|
<< " fallback=" << snapshot.retainedUnderlayFallback
|
||||||
|
<< " invalidation=" << snapshot.retainedUnderlayInvalidation
|
||||||
|
<< " staticDraw=" << snapshot.retainedUnderlayStaticGroupDraw
|
||||||
|
<< " dynamicDraw=" << snapshot.retainedDynamicGroupDraw
|
||||||
|
<< " particleAdvance=" << snapshot.particleSimulationAdvance;
|
||||||
|
Log::Info(Event::Render, message.str());
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
Renderer::Impl::Impl(gfx::RendererBackend& backend_,
|
Renderer::Impl::Impl(gfx::RendererBackend& backend_,
|
||||||
@@ -590,6 +618,10 @@ void Renderer::Impl::render(const RenderTree& renderTree, const std::shared_ptr<
|
|||||||
observer->onDidFinishRenderingMap();
|
observer->onDidFinishRenderingMap();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef NDEBUG
|
||||||
|
logRetainedRendererCounters();
|
||||||
|
#endif
|
||||||
|
|
||||||
frameCount += 1;
|
frameCount += 1;
|
||||||
MLN_END_FRAME();
|
MLN_END_FRAME();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user