Integrate performance monitoring across various editors

- Added performance monitoring capabilities using ScopedTimer in the DungeonEditor, PaletteEditor, ScreenEditor, MessageEditor, MusicEditor, SpriteEditor, and SettingsEditor classes to track loading times.
- Enhanced the Load methods in each editor to include timing for critical operations, improving performance analysis and optimization.
- Removed unnecessary debug output in the Sprite class to clean up the codebase.
This commit is contained in:
scawful
2025-09-28 22:32:07 -04:00
parent cea73affdd
commit f210cd85b4
9 changed files with 1105 additions and 754 deletions

View File

@@ -2,6 +2,7 @@
#include "absl/status/status.h"
#include "absl/strings/str_cat.h"
#include "app/core/performance_monitor.h"
#include "app/gfx/snes_palette.h"
#include "app/gui/color.h"
#include "imgui/imgui.h"
@@ -171,6 +172,8 @@ absl::Status DisplayPalette(gfx::SnesPalette& palette, bool loaded) {
void PaletteEditor::Initialize() {}
absl::Status PaletteEditor::Load() {
core::ScopedTimer timer("PaletteEditor::Load");
if (rom()->is_loaded()) {
// Initialize the labels
for (int i = 0; i < kNumPalettes; i++) {

View File

@@ -6,6 +6,7 @@
#include "absl/strings/str_format.h"
#include "absl/strings/string_view.h"
#include "app/core/performance_monitor.h"
#include "app/core/platform/file_dialog.h"
#include "app/core/window.h"
#include "app/gfx/arena.h"
@@ -29,6 +30,8 @@ constexpr uint32_t kRedPen = 0xFF0000FF;
void ScreenEditor::Initialize() {}
absl::Status ScreenEditor::Load() {
core::ScopedTimer timer("ScreenEditor::Load");
ASSIGN_OR_RETURN(dungeon_maps_,
zelda3::LoadDungeonMaps(*rom(), dungeon_map_labels_));
RETURN_IF_ERROR(zelda3::LoadDungeonMapTile16(