feat: Enhance PerformanceProfiler to handle shutdown state and prevent crashes during destruction

This commit is contained in:
scawful
2025-10-01 19:50:44 -04:00
parent 0b62bcbda0
commit 12dc71c444
4 changed files with 45 additions and 21 deletions

View File

@@ -36,21 +36,22 @@ void CanvasPerformanceIntegration::StartMonitoring() {
}
void CanvasPerformanceIntegration::StopMonitoring() {
if (frame_timer_active_) {
frame_timer_.reset();
frame_timer_active_ = false;
}
if (draw_timer_active_) {
draw_timer_.reset();
draw_timer_active_ = false;
// Release timers in reverse order of creation to ensure clean shutdown
if (modal_timer_active_) {
modal_timer_.reset();
modal_timer_active_ = false;
}
if (interaction_timer_active_) {
interaction_timer_.reset();
interaction_timer_active_ = false;
}
if (modal_timer_active_) {
modal_timer_.reset();
modal_timer_active_ = false;
if (draw_timer_active_) {
draw_timer_.reset();
draw_timer_active_ = false;
}
if (frame_timer_active_) {
frame_timer_.reset();
frame_timer_active_ = false;
}
util::logf("Stopped performance monitoring for canvas: %s", canvas_id_.c_str());