mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-07-04 05:51:19 +12:00
Added RAM usage to linux overlay.
This commit is contained in:
parent
2d30edcbc6
commit
feefdf5fc4
4 changed files with 27 additions and 12 deletions
|
@ -585,16 +585,6 @@ static void UpdateStats_CpuPerCore()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void UpdateStats_RamUsage()
|
|
||||||
{
|
|
||||||
#if BOOST_OS_WINDOWS
|
|
||||||
PROCESS_MEMORY_COUNTERS pmc{};
|
|
||||||
pmc.cb = sizeof(pmc);
|
|
||||||
GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc));
|
|
||||||
g_state.ram_usage = (pmc.WorkingSetSize / 1000) / 1000;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void LatteOverlay_updateStats(double fps, sint32 drawcalls)
|
void LatteOverlay_updateStats(double fps, sint32 drawcalls)
|
||||||
{
|
{
|
||||||
if (GetConfig().overlay.position == ScreenPosition::kDisabled)
|
if (GetConfig().overlay.position == ScreenPosition::kDisabled)
|
||||||
|
@ -604,7 +594,9 @@ void LatteOverlay_updateStats(double fps, sint32 drawcalls)
|
||||||
g_state.draw_calls_per_frame = drawcalls;
|
g_state.draw_calls_per_frame = drawcalls;
|
||||||
UpdateStats_CemuCpu();
|
UpdateStats_CemuCpu();
|
||||||
UpdateStats_CpuPerCore();
|
UpdateStats_CpuPerCore();
|
||||||
UpdateStats_RamUsage();
|
|
||||||
|
// update ram
|
||||||
|
g_state.ram_usage = (QueryRamUsage() / 1000) / 1000;
|
||||||
|
|
||||||
// update vram
|
// update vram
|
||||||
g_renderer->GetVRAMInfo(g_state.vramUsage, g_state.vramTotal);
|
g_renderer->GetVRAMInfo(g_state.vramUsage, g_state.vramTotal);
|
||||||
|
|
|
@ -14,3 +14,5 @@ uint32_t GetProcessorCount();
|
||||||
void QueryProcTime(uint64_t &out_now, uint64_t &out_user, uint64_t &out_kernel);
|
void QueryProcTime(uint64_t &out_now, uint64_t &out_user, uint64_t &out_kernel);
|
||||||
void QueryProcTime(ProcessorTime &out);
|
void QueryProcTime(ProcessorTime &out);
|
||||||
void QueryCoreTimes(uint32_t count, ProcessorTime out[]);
|
void QueryCoreTimes(uint32_t count, ProcessorTime out[]);
|
||||||
|
|
||||||
|
uint64_t QueryRamUsage();
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
#include "util/ProcessorTime/ProcessorTime.h"
|
#include "util/ProcessorTime/ProcessorTime.h"
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#include <sys/times.h>
|
#include <sys/times.h>
|
||||||
#include <sys/resource.h>
|
#include <sys/resource.h>
|
||||||
|
@ -41,4 +42,16 @@ void QueryCoreTimes(uint32_t count, ProcessorTime out[])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint64_t QueryRamUsage()
|
||||||
|
{
|
||||||
|
long page_size = sysconf(_SC_PAGESIZE);
|
||||||
|
|
||||||
|
std::ifstream file("/proc/self/statm");
|
||||||
|
file.ignore(std::numeric_limits<std::streamsize>::max(), ' ');
|
||||||
|
uint64_t no_pages;
|
||||||
|
file >> no_pages;
|
||||||
|
|
||||||
|
return no_pages * page_size;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -47,4 +47,12 @@ void QueryCoreTimes(uint32_t count, ProcessorTime out[])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint64_t QueryRamUsage()
|
||||||
|
{
|
||||||
|
PROCESS_MEMORY_COUNTERS pmc{};
|
||||||
|
pmc.cb = sizeof(pmc);
|
||||||
|
GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc));
|
||||||
|
return pmc.WorkingSetSize;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
Loading…
Add table
Add a link
Reference in a new issue