Remove clipboard functionality and enhance performance monitoring features

- Deleted clipboard-related files (clipboard.cc, clipboard.h, clipboard.mm) to streamline the codebase.
- Added a performance dashboard in the EditorManager to monitor performance metrics and improve user experience.
- Integrated performance monitoring capabilities across various editors, allowing for detailed timing of critical operations.
- Updated the graphics system with batch processing for texture updates, significantly improving rendering performance.
- Introduced a memory pool allocator for efficient memory management during graphics operations.
This commit is contained in:
scawful
2025-09-28 23:30:32 -04:00
parent ce31906c93
commit 2d10437888
20 changed files with 1953 additions and 45 deletions

View File

@@ -720,6 +720,10 @@ void EditorManager::Initialize(const std::string& filename) {
}},
}},
// Performance Monitoring
{absl::StrCat(ICON_MD_SPEED, " Performance Dashboard"), "Ctrl+Shift+P",
[&]() { show_performance_dashboard_ = true; }},
{gui::kSeparator, "", nullptr, []() { return true; }},
// Development Helpers
@@ -1114,6 +1118,14 @@ void EditorManager::DrawMenuBar() {
if (show_asm_editor_ && current_editor_set_) {
current_editor_set_->assembly_editor_.Update(show_asm_editor_);
}
if (show_performance_dashboard_) {
gfx::PerformanceDashboard::Get().SetVisible(true);
gfx::PerformanceDashboard::Get().Update();
gfx::PerformanceDashboard::Get().Render();
if (!gfx::PerformanceDashboard::Get().IsVisible()) {
show_performance_dashboard_ = false;
}
}
// Testing interface (only when tests are enabled)
#ifdef YAZE_ENABLE_TESTING
@@ -2229,6 +2241,7 @@ void EditorManager::ShowAllWindows() {
}
show_imgui_demo_ = true;
show_imgui_metrics_ = true;
show_performance_dashboard_ = true;
#ifdef YAZE_ENABLE_TESTING
show_test_dashboard_ = true;
#endif
@@ -2245,6 +2258,7 @@ void EditorManager::HideAllWindows() {
}
show_imgui_demo_ = false;
show_imgui_metrics_ = false;
show_performance_dashboard_ = false;
#ifdef YAZE_ENABLE_TESTING
show_test_dashboard_ = false;
#endif