Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

#pragma once

#include <Windows.h>
#include <stdint.h>

namespace OvAnalytics::Hardware
Expand All @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@

#pragma once

#include <Windows.h>

namespace OvAnalytics::Hardware
{
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@

#pragma once

#include <Windows.h>
#include <psapi.h>

namespace OvAnalytics::Hardware
{
/**
Expand Down Expand Up @@ -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;
};
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@

#include "OvAnalytics/Hardware/CPUInfo.h"

#include <Windows.h>

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;
Expand All @@ -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);
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@

#include "OvAnalytics/Hardware/GPUInfo.h"

#include <Windows.h>

OvAnalytics::Hardware::GPUInfo::GPUInfo()
{
#if _WIN32 || _WIN64
Expand All @@ -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)();

Expand Down
18 changes: 13 additions & 5 deletions Sources/Overload/OvAnalytics/src/OvAnalytics/Hardware/RAMInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,31 @@

#include "OvAnalytics/Hardware/RAMInfo.h"

#include <Windows.h>
#include <psapi.h>

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;
}
13 changes: 11 additions & 2 deletions Sources/Overload/OvEditor/src/OvEditor/Panels/HardwareInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@
* @licence: MIT
*/

#include "OvEditor/Panels/HardwareInfo.h"

#include <OvAnalytics/Hardware/HardwareInfo.h>

#include "OvEditor/Panels/HardwareInfo.h"
#include "OvEditor/Core/EditorActions.h"

using namespace OvUI::Panels;
using namespace OvUI::Widgets;

Expand All @@ -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<OvUI::Widgets::Texts::Text>("Vendor: " + renderer.GetString(GL_VENDOR));
CreateWidget<OvUI::Widgets::Texts::Text>("Hardware: " + renderer.GetString(GL_RENDERER));
CreateWidget<OvUI::Widgets::Texts::Text>("OpenGL Version: " + renderer.GetString(GL_VERSION));
CreateWidget<OvUI::Widgets::Texts::Text>("GLSL Version: " + renderer.GetString(GL_SHADING_LANGUAGE_VERSION));

m_cpuUsage = &CreateWidget<Plots::PlotLines>();
m_gpuUsage = &CreateWidget<Plots::PlotLines>();
m_ramUsage = &CreateWidget<Plots::PlotLines>();
Expand Down