From dbe062fef4e918a90cbd09a7f682c31793562922 Mon Sep 17 00:00:00 2001 From: Vladyslav Baranovskyi Date: Fri, 31 May 2024 13:34:30 +0300 Subject: [PATCH 1/4] Tracy profiler setup(disabled by default) In order to enable it pass -DTRACY_ENABLE:BOOL:ON to the generator. E.g: cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DTRACY_ENABLE:BOOL=ON .. --- CMakeLists.txt | 2 ++ examples/ExampleApps/CubesExampleApp.cpp | 4 ++++ openVulkanoCpp/Base/Logger.cpp | 1 - 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c574bbe..cb7d790 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,8 @@ if(LINUX) endif() set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") +option(TRACY_ENABLE "Enable Tracy Profiler" OFF) + add_subdirectory(3rdParty) project (openVulkanoCpp VERSION 1.0 LANGUAGES C CXX) diff --git a/examples/ExampleApps/CubesExampleApp.cpp b/examples/ExampleApps/CubesExampleApp.cpp index bb1b615..e8df5d8 100644 --- a/examples/ExampleApps/CubesExampleApp.cpp +++ b/examples/ExampleApps/CubesExampleApp.cpp @@ -17,6 +17,8 @@ #include "Base/EngineConfiguration.hpp" #include "Controller/FreeCamCameraController.hpp" +#include + #pragma clang diagnostic push #pragma ide diagnostic ignored "cert-msc50-cpp" #pragma ide diagnostic ignored "cppcoreguidelines-narrowing-conversions" @@ -44,6 +46,7 @@ namespace OpenVulkano public: void Init() override { + ZoneScoped; auto engineConfig = OpenVulkano::EngineConfiguration::GetEngineConfiguration(); engineConfig->SetNumThreads(4); engineConfig->SetPreferFramebufferFormatSRGB(false); @@ -82,6 +85,7 @@ namespace OpenVulkano void Tick() override { + ZoneScoped; for (uint32_t i = 0; i < DYNAMIC; i++) { nodesPool[i].SetMatrix(glm::translate(glm::mat4x4(1), glm::vec3((std::rand() % 10000) / 1000.0f - 5, (std::rand() % 10000) / 1000.0f - 5, (std::rand() % 10000) / 1000.0f - 5))); diff --git a/openVulkanoCpp/Base/Logger.cpp b/openVulkanoCpp/Base/Logger.cpp index c93731c..1ccee1d 100644 --- a/openVulkanoCpp/Base/Logger.cpp +++ b/openVulkanoCpp/Base/Logger.cpp @@ -25,7 +25,6 @@ # include #endif - namespace OpenVulkano { From f4dfebdfe4710fd42cfecc11e4290b187683a2b3 Mon Sep 17 00:00:00 2001 From: Vladyslav Baranovskyi Date: Fri, 31 May 2024 13:36:50 +0300 Subject: [PATCH 2/4] Fixed spacing typo --- openVulkanoCpp/Base/Logger.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/openVulkanoCpp/Base/Logger.cpp b/openVulkanoCpp/Base/Logger.cpp index 1ccee1d..c93731c 100644 --- a/openVulkanoCpp/Base/Logger.cpp +++ b/openVulkanoCpp/Base/Logger.cpp @@ -25,6 +25,7 @@ # include #endif + namespace OpenVulkano { From a5274227bc1a8d4bd2ba0e26daaaf3a7dda70f97 Mon Sep 17 00:00:00 2001 From: Vladyslav Baranovskyi Date: Mon, 3 Jun 2024 18:39:49 +0300 Subject: [PATCH 3/4] Fixed bug with tracy client protocol incompatibility --- 3rdParty/tracy/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/3rdParty/tracy/CMakeLists.txt b/3rdParty/tracy/CMakeLists.txt index e1c43ba..89fa0ea 100644 --- a/3rdParty/tracy/CMakeLists.txt +++ b/3rdParty/tracy/CMakeLists.txt @@ -8,7 +8,7 @@ FetchContent_Declare ( tracy EXCLUDE_FROM_ALL GIT_REPOSITORY ${TRACY_REPO} - GIT_TAG master + GIT_TAG v0.10 GIT_SHALLOW TRUE GIT_PROGRESS TRUE ) From 73f9da27b86d7c88ea0df70eed605575175df704 Mon Sep 17 00:00:00 2001 From: Vladyslav Baranovskyi Date: Mon, 3 Jun 2024 18:41:30 +0300 Subject: [PATCH 4/4] Timing GraphicsAppManager methods --- examples/ExampleApps/CubesExampleApp.cpp | 4 ---- openVulkanoCpp/Host/GraphicsAppManager.cpp | 10 ++++++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/examples/ExampleApps/CubesExampleApp.cpp b/examples/ExampleApps/CubesExampleApp.cpp index e8df5d8..bb1b615 100644 --- a/examples/ExampleApps/CubesExampleApp.cpp +++ b/examples/ExampleApps/CubesExampleApp.cpp @@ -17,8 +17,6 @@ #include "Base/EngineConfiguration.hpp" #include "Controller/FreeCamCameraController.hpp" -#include - #pragma clang diagnostic push #pragma ide diagnostic ignored "cert-msc50-cpp" #pragma ide diagnostic ignored "cppcoreguidelines-narrowing-conversions" @@ -46,7 +44,6 @@ namespace OpenVulkano public: void Init() override { - ZoneScoped; auto engineConfig = OpenVulkano::EngineConfiguration::GetEngineConfiguration(); engineConfig->SetNumThreads(4); engineConfig->SetPreferFramebufferFormatSRGB(false); @@ -85,7 +82,6 @@ namespace OpenVulkano void Tick() override { - ZoneScoped; for (uint32_t i = 0; i < DYNAMIC; i++) { nodesPool[i].SetMatrix(glm::translate(glm::mat4x4(1), glm::vec3((std::rand() % 10000) / 1000.0f - 5, (std::rand() % 10000) / 1000.0f - 5, (std::rand() % 10000) / 1000.0f - 5))); diff --git a/openVulkanoCpp/Host/GraphicsAppManager.cpp b/openVulkanoCpp/Host/GraphicsAppManager.cpp index ab8d416..cfa1d7d 100644 --- a/openVulkanoCpp/Host/GraphicsAppManager.cpp +++ b/openVulkanoCpp/Host/GraphicsAppManager.cpp @@ -14,12 +14,16 @@ #include #include +#include + namespace OpenVulkano { GraphicsAppManager::GraphicsAppManager(OpenVulkano::IGraphicsApp* app, RenderAPI::RenderApi renderApi) : app(app), renderApi(renderApi) { Utils::SetThreadName("Main"); + ZoneScoped; + Logger::SetupLogger(); if (!app) { @@ -38,6 +42,8 @@ namespace OpenVulkano : app(app), renderApi(renderApi) { Utils::SetThreadName("Main"); + ZoneScoped; + Logger::SetupLogger(); if (!app) { @@ -89,6 +95,7 @@ namespace OpenVulkano void GraphicsAppManager::StartUp() { + ZoneScoped; try { Logger::MANAGER->info("Initializing ..."); @@ -121,6 +128,8 @@ namespace OpenVulkano void GraphicsAppManager::LoopTick() { + FrameMark; + ZoneScoped; if (platform) platform->Tick(); if (paused) { // The rendering is paused @@ -141,6 +150,7 @@ namespace OpenVulkano void GraphicsAppManager::ShutDown() { + ZoneScoped; Logger::MANAGER->info("Shutting down ..."); app->Close(); renderer->Close();