From e5492e8087bc20cec92b5d59a6aed39430762545 Mon Sep 17 00:00:00 2001 From: Adrien GIVRY Date: Thu, 23 Nov 2023 19:46:39 -0500 Subject: [PATCH 1/2] Updated OvAnalytics to avoid including Windows.h in headers --- .../include/OvAnalytics/Hardware/CPUInfo.h | 2 -- .../include/OvAnalytics/Hardware/GPUInfo.h | 2 -- .../include/OvAnalytics/Hardware/RAMInfo.h | 7 +++---- .../src/OvAnalytics/Hardware/CPUInfo.cpp | 12 +++++++----- .../src/OvAnalytics/Hardware/GPUInfo.cpp | 4 +++- .../src/OvAnalytics/Hardware/RAMInfo.cpp | 18 +++++++++++++----- 6 files changed, 26 insertions(+), 19 deletions(-) diff --git a/Sources/Overload/OvAnalytics/include/OvAnalytics/Hardware/CPUInfo.h b/Sources/Overload/OvAnalytics/include/OvAnalytics/Hardware/CPUInfo.h index 614555d14..010588318 100644 --- a/Sources/Overload/OvAnalytics/include/OvAnalytics/Hardware/CPUInfo.h +++ b/Sources/Overload/OvAnalytics/include/OvAnalytics/Hardware/CPUInfo.h @@ -6,7 +6,6 @@ #pragma once -#include #include namespace OvAnalytics::Hardware @@ -24,7 +23,6 @@ namespace OvAnalytics::Hardware private: float CalculateCPULoad(uint64_t idleTicks, uint64_t totalTicks); - uint64_t FileTimeToInt64(const FILETIME& ft); private: uint64_t m_cpuPreviousTotalTicks = 0; diff --git a/Sources/Overload/OvAnalytics/include/OvAnalytics/Hardware/GPUInfo.h b/Sources/Overload/OvAnalytics/include/OvAnalytics/Hardware/GPUInfo.h index 779050e31..bd6b649bd 100644 --- a/Sources/Overload/OvAnalytics/include/OvAnalytics/Hardware/GPUInfo.h +++ b/Sources/Overload/OvAnalytics/include/OvAnalytics/Hardware/GPUInfo.h @@ -6,8 +6,6 @@ #pragma once -#include - namespace OvAnalytics::Hardware { /** diff --git a/Sources/Overload/OvAnalytics/include/OvAnalytics/Hardware/RAMInfo.h b/Sources/Overload/OvAnalytics/include/OvAnalytics/Hardware/RAMInfo.h index 1d536e2f5..14d92c182 100644 --- a/Sources/Overload/OvAnalytics/include/OvAnalytics/Hardware/RAMInfo.h +++ b/Sources/Overload/OvAnalytics/include/OvAnalytics/Hardware/RAMInfo.h @@ -6,9 +6,6 @@ #pragma once -#include -#include - namespace OvAnalytics::Hardware { /** @@ -38,6 +35,8 @@ namespace OvAnalytics::Hardware float GetMaxRAM(); private: - MEMORYSTATUSEX m_statex; + float m_usedRAM = 0.0f; + float m_freeRAM = 0.0f; + float m_maxRAM = 0.0f; }; } \ No newline at end of file diff --git a/Sources/Overload/OvAnalytics/src/OvAnalytics/Hardware/CPUInfo.cpp b/Sources/Overload/OvAnalytics/src/OvAnalytics/Hardware/CPUInfo.cpp index 5a930c4e3..fff0d75f1 100644 --- a/Sources/Overload/OvAnalytics/src/OvAnalytics/Hardware/CPUInfo.cpp +++ b/Sources/Overload/OvAnalytics/src/OvAnalytics/Hardware/CPUInfo.cpp @@ -6,6 +6,13 @@ #include "OvAnalytics/Hardware/CPUInfo.h" +#include + +uint64_t FileTimeToInt64(const FILETIME& ft) +{ + return (((unsigned long long)(ft.dwHighDateTime)) << 32) | ((unsigned long long)ft.dwLowDateTime); +} + float OvAnalytics::Hardware::CPUInfo::CalculateCPULoad() { FILETIME idleTime, kernelTime, userTime; @@ -24,8 +31,3 @@ float OvAnalytics::Hardware::CPUInfo::CalculateCPULoad(uint64_t p_idleTicks, uin return ret * 100.0f; } - -uint64_t OvAnalytics::Hardware::CPUInfo::FileTimeToInt64(const FILETIME& ft) -{ - return (((unsigned long long)(ft.dwHighDateTime)) << 32) | ((unsigned long long)ft.dwLowDateTime); -} diff --git a/Sources/Overload/OvAnalytics/src/OvAnalytics/Hardware/GPUInfo.cpp b/Sources/Overload/OvAnalytics/src/OvAnalytics/Hardware/GPUInfo.cpp index f160c453d..d1d7b42c2 100644 --- a/Sources/Overload/OvAnalytics/src/OvAnalytics/Hardware/GPUInfo.cpp +++ b/Sources/Overload/OvAnalytics/src/OvAnalytics/Hardware/GPUInfo.cpp @@ -6,6 +6,8 @@ #include "OvAnalytics/Hardware/GPUInfo.h" +#include + OvAnalytics::Hardware::GPUInfo::GPUInfo() { #if _WIN32 || _WIN64 @@ -32,7 +34,7 @@ OvAnalytics::Hardware::GPUInfo::GPUInfo() m_NvAPI_EnumPhysicalGPUs = (NvAPI_EnumPhysicalGPUs_t)(*m_NvAPI_QueryInterface)(0xE5AC921F); m_NvAPI_GPU_GetUsages = (NvAPI_GPU_GetUsages_t)(*m_NvAPI_QueryInterface)(0x189A1FDF); - if (m_NvAPI_Initialize && m_NvAPI_EnumPhysicalGPUs && m_NvAPI_EnumPhysicalGPUs && m_NvAPI_GPU_GetUsages) + if (m_NvAPI_Initialize && m_NvAPI_EnumPhysicalGPUs && m_NvAPI_GPU_GetUsages) { (*m_NvAPI_Initialize)(); diff --git a/Sources/Overload/OvAnalytics/src/OvAnalytics/Hardware/RAMInfo.cpp b/Sources/Overload/OvAnalytics/src/OvAnalytics/Hardware/RAMInfo.cpp index 43d2e6c3c..9cfa4e639 100644 --- a/Sources/Overload/OvAnalytics/src/OvAnalytics/Hardware/RAMInfo.cpp +++ b/Sources/Overload/OvAnalytics/src/OvAnalytics/Hardware/RAMInfo.cpp @@ -6,23 +6,31 @@ #include "OvAnalytics/Hardware/RAMInfo.h" +#include +#include + void OvAnalytics::Hardware::RAMInfo::Update() { - m_statex.dwLength = sizeof(m_statex); - GlobalMemoryStatusEx(&m_statex); + MEMORYSTATUSEX statex; + statex.dwLength = sizeof(statex); + GlobalMemoryStatusEx(&statex); + + m_maxRAM = statex.ullTotalPhys / 1048576.0f; + m_freeRAM = statex.ullAvailPhys / 1048576.0f; + m_usedRAM = m_maxRAM - statex.ullAvailPhys / 1048576.0f; } float OvAnalytics::Hardware::RAMInfo::GetUsedRAM() { - return GetMaxRAM() - m_statex.ullAvailPhys / 1048576.0f; + return m_usedRAM; } float OvAnalytics::Hardware::RAMInfo::GetFreeRAM() { - return m_statex.ullAvailPhys / 1048576.0f; + return m_freeRAM; } float OvAnalytics::Hardware::RAMInfo::GetMaxRAM() { - return m_statex.ullTotalPhys / 1048576.0f; + return m_maxRAM; } \ No newline at end of file From 6b2b7aa90c04e8dc6c88a385032d82f32c04c98b Mon Sep 17 00:00:00 2001 From: Adrien GIVRY Date: Thu, 23 Nov 2023 19:47:14 -0500 Subject: [PATCH 2/2] Added more info to HardwareInfo added: * Vendor * Hardware * OpenGL Version * GLSL Version --- .../OvEditor/src/OvEditor/Panels/HardwareInfo.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Sources/Overload/OvEditor/src/OvEditor/Panels/HardwareInfo.cpp b/Sources/Overload/OvEditor/src/OvEditor/Panels/HardwareInfo.cpp index b895b865f..faffe3977 100644 --- a/Sources/Overload/OvEditor/src/OvEditor/Panels/HardwareInfo.cpp +++ b/Sources/Overload/OvEditor/src/OvEditor/Panels/HardwareInfo.cpp @@ -4,10 +4,11 @@ * @licence: MIT */ -#include "OvEditor/Panels/HardwareInfo.h" - #include +#include "OvEditor/Panels/HardwareInfo.h" +#include "OvEditor/Core/EditorActions.h" + using namespace OvUI::Panels; using namespace OvUI::Widgets; @@ -24,6 +25,14 @@ OvEditor::Panels::HardwareInfo::HardwareInfo m_maxElements(p_maxElements), m_hardwareInfo(new OvAnalytics::Hardware::HardwareInfo(m_logFrequency)) { + auto& renderer = *EDITOR_CONTEXT(renderer).get(); + + // Display some static information about the graphics driver + CreateWidget("Vendor: " + renderer.GetString(GL_VENDOR)); + CreateWidget("Hardware: " + renderer.GetString(GL_RENDERER)); + CreateWidget("OpenGL Version: " + renderer.GetString(GL_VERSION)); + CreateWidget("GLSL Version: " + renderer.GetString(GL_SHADING_LANGUAGE_VERSION)); + m_cpuUsage = &CreateWidget(); m_gpuUsage = &CreateWidget(); m_ramUsage = &CreateWidget();