diff options
| author | 2015-08-17 18:25:21 -0300 | |
|---|---|---|
| committer | 2015-08-24 22:16:28 -0300 | |
| commit | 0fcabd2b11a5b1d4d16f6f6bdf1efd54d2c45237 (patch) | |
| tree | a1651d48113413e2de1e6e309362511b1ff7ffa8 /src/citra_qt/main.cpp | |
| parent | citra-qt: Add helper function to get a monospace QFont (diff) | |
| download | yuzu-0fcabd2b11a5b1d4d16f6f6bdf1efd54d2c45237.tar.gz yuzu-0fcabd2b11a5b1d4d16f6f6bdf1efd54d2c45237.tar.xz yuzu-0fcabd2b11a5b1d4d16f6f6bdf1efd54d2c45237.zip | |
Integrate the MicroProfile profiling library
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
Diffstat (limited to '')
| -rw-r--r-- | src/citra_qt/main.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index 8bf2a3e13..7fb1b0dcb 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | #include "common/logging/backend.h" | 17 | #include "common/logging/backend.h" |
| 18 | #include "common/logging/filter.h" | 18 | #include "common/logging/filter.h" |
| 19 | #include "common/make_unique.h" | 19 | #include "common/make_unique.h" |
| 20 | #include "common/microprofile.h" | ||
| 20 | #include "common/platform.h" | 21 | #include "common/platform.h" |
| 21 | #include "common/scm_rev.h" | 22 | #include "common/scm_rev.h" |
| 22 | #include "common/scope_exit.h" | 23 | #include "common/scope_exit.h" |
| @@ -64,6 +65,9 @@ GMainWindow::GMainWindow() : emu_thread(nullptr) | |||
| 64 | addDockWidget(Qt::BottomDockWidgetArea, profilerWidget); | 65 | addDockWidget(Qt::BottomDockWidgetArea, profilerWidget); |
| 65 | profilerWidget->hide(); | 66 | profilerWidget->hide(); |
| 66 | 67 | ||
| 68 | microProfileDialog = new MicroProfileDialog(this); | ||
| 69 | microProfileDialog->hide(); | ||
| 70 | |||
| 67 | disasmWidget = new DisassemblerWidget(this, emu_thread.get()); | 71 | disasmWidget = new DisassemblerWidget(this, emu_thread.get()); |
| 68 | addDockWidget(Qt::BottomDockWidgetArea, disasmWidget); | 72 | addDockWidget(Qt::BottomDockWidgetArea, disasmWidget); |
| 69 | disasmWidget->hide(); | 73 | disasmWidget->hide(); |
| @@ -102,6 +106,7 @@ GMainWindow::GMainWindow() : emu_thread(nullptr) | |||
| 102 | 106 | ||
| 103 | QMenu* debug_menu = ui.menu_View->addMenu(tr("Debugging")); | 107 | QMenu* debug_menu = ui.menu_View->addMenu(tr("Debugging")); |
| 104 | debug_menu->addAction(profilerWidget->toggleViewAction()); | 108 | debug_menu->addAction(profilerWidget->toggleViewAction()); |
| 109 | debug_menu->addAction(microProfileDialog->toggleViewAction()); | ||
| 105 | debug_menu->addAction(disasmWidget->toggleViewAction()); | 110 | debug_menu->addAction(disasmWidget->toggleViewAction()); |
| 106 | debug_menu->addAction(registersWidget->toggleViewAction()); | 111 | debug_menu->addAction(registersWidget->toggleViewAction()); |
| 107 | debug_menu->addAction(callstackWidget->toggleViewAction()); | 112 | debug_menu->addAction(callstackWidget->toggleViewAction()); |
| @@ -128,6 +133,8 @@ GMainWindow::GMainWindow() : emu_thread(nullptr) | |||
| 128 | restoreGeometry(settings.value("geometry").toByteArray()); | 133 | restoreGeometry(settings.value("geometry").toByteArray()); |
| 129 | restoreState(settings.value("state").toByteArray()); | 134 | restoreState(settings.value("state").toByteArray()); |
| 130 | render_window->restoreGeometry(settings.value("geometryRenderWindow").toByteArray()); | 135 | render_window->restoreGeometry(settings.value("geometryRenderWindow").toByteArray()); |
| 136 | microProfileDialog->restoreGeometry(settings.value("microProfileDialogGeometry").toByteArray()); | ||
| 137 | microProfileDialog->setVisible(settings.value("microProfileDialogVisible").toBool()); | ||
| 131 | 138 | ||
| 132 | ui.action_Use_Hardware_Renderer->setChecked(Settings::values.use_hw_renderer); | 139 | ui.action_Use_Hardware_Renderer->setChecked(Settings::values.use_hw_renderer); |
| 133 | SetHardwareRendererEnabled(ui.action_Use_Hardware_Renderer->isChecked()); | 140 | SetHardwareRendererEnabled(ui.action_Use_Hardware_Renderer->isChecked()); |
| @@ -434,6 +441,8 @@ void GMainWindow::closeEvent(QCloseEvent* event) { | |||
| 434 | settings.setValue("geometry", saveGeometry()); | 441 | settings.setValue("geometry", saveGeometry()); |
| 435 | settings.setValue("state", saveState()); | 442 | settings.setValue("state", saveState()); |
| 436 | settings.setValue("geometryRenderWindow", render_window->saveGeometry()); | 443 | settings.setValue("geometryRenderWindow", render_window->saveGeometry()); |
| 444 | settings.setValue("microProfileDialogGeometry", microProfileDialog->saveGeometry()); | ||
| 445 | settings.setValue("microProfileDialogVisible", microProfileDialog->isVisible()); | ||
| 437 | settings.setValue("singleWindowMode", ui.action_Single_Window_Mode->isChecked()); | 446 | settings.setValue("singleWindowMode", ui.action_Single_Window_Mode->isChecked()); |
| 438 | settings.setValue("displayTitleBars", ui.actionDisplay_widget_title_bars->isChecked()); | 447 | settings.setValue("displayTitleBars", ui.actionDisplay_widget_title_bars->isChecked()); |
| 439 | settings.setValue("firstStart", false); | 448 | settings.setValue("firstStart", false); |
| @@ -456,6 +465,11 @@ int main(int argc, char* argv[]) { | |||
| 456 | Log::Filter log_filter(Log::Level::Info); | 465 | Log::Filter log_filter(Log::Level::Info); |
| 457 | Log::SetFilter(&log_filter); | 466 | Log::SetFilter(&log_filter); |
| 458 | 467 | ||
| 468 | MicroProfileOnThreadCreate("Frontend"); | ||
| 469 | SCOPE_EXIT({ | ||
| 470 | MicroProfileShutdown(); | ||
| 471 | }); | ||
| 472 | |||
| 459 | // Init settings params | 473 | // Init settings params |
| 460 | QSettings::setDefaultFormat(QSettings::IniFormat); | 474 | QSettings::setDefaultFormat(QSettings::IniFormat); |
| 461 | QCoreApplication::setOrganizationName("Citra team"); | 475 | QCoreApplication::setOrganizationName("Citra team"); |