mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-26 16:04:34 +00:00
Get available physical memory size in viewer.
This commit is contained in:
parent
0e50c9f6ea
commit
2bf00b5eab
@ -46,6 +46,15 @@
|
|||||||
# include "../nfd/nfd.h"
|
# include "../nfd/nfd.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
# include <windows.h>
|
||||||
|
#elif defined __linux__
|
||||||
|
# include <sys/sysinfo.h>
|
||||||
|
#elif defined __APPLE__ || defined BSD
|
||||||
|
# include <sys/types.h>
|
||||||
|
# include <sys/sysctl.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "IconsFontAwesome5.h"
|
#include "IconsFontAwesome5.h"
|
||||||
|
|
||||||
#ifndef M_PI_2
|
#ifndef M_PI_2
|
||||||
@ -132,6 +141,7 @@ View::View( void(*cbMainThread)(std::function<void()>), const char* addr, uint16
|
|||||||
assert( s_instance == nullptr );
|
assert( s_instance == nullptr );
|
||||||
s_instance = this;
|
s_instance = this;
|
||||||
|
|
||||||
|
InitMemory();
|
||||||
InitTextEditor( fixedWidth );
|
InitTextEditor( fixedWidth );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,6 +165,7 @@ View::View( void(*cbMainThread)(std::function<void()>), FileRead& f, ImFont* fix
|
|||||||
m_notificationTime = 4;
|
m_notificationTime = 4;
|
||||||
m_notificationText = std::string( "Trace loaded in " ) + TimeToString( m_worker.GetLoadTime() );
|
m_notificationText = std::string( "Trace loaded in " ) + TimeToString( m_worker.GetLoadTime() );
|
||||||
|
|
||||||
|
InitMemory();
|
||||||
InitTextEditor( fixedWidth );
|
InitTextEditor( fixedWidth );
|
||||||
SetViewToLastFrames();
|
SetViewToLastFrames();
|
||||||
m_userData.StateShouldBePreserved();
|
m_userData.StateShouldBePreserved();
|
||||||
@ -184,6 +195,32 @@ View::~View()
|
|||||||
s_instance = nullptr;
|
s_instance = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void View::InitMemory()
|
||||||
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
|
MEMORYSTATUSEX statex;
|
||||||
|
statex.dwLength = sizeof( statex );
|
||||||
|
GlobalMemoryStatusEx( &statex );
|
||||||
|
m_totalMemory = statex.ullTotalPhys;
|
||||||
|
#elif defined __linux__
|
||||||
|
struct sysinfo sysInfo;
|
||||||
|
sysinfo( &sysInfo );
|
||||||
|
m_totalMemory = sysInfo.totalram;
|
||||||
|
#elif defined __APPLE__
|
||||||
|
size_t memSize;
|
||||||
|
size_t sz = sizeof( memSize );
|
||||||
|
sysctlbyname( "hw.memsize", &memSize, &sz, nullptr, 0 );
|
||||||
|
m_totalMemory = memSize;
|
||||||
|
#elif defined BSD
|
||||||
|
size_t memSize;
|
||||||
|
size_t sz = sizeof( memSize );
|
||||||
|
sysctlbyname( "hw.physmem", &memSize, &sz, nullptr, 0 );
|
||||||
|
m_totalMemory = memSize;
|
||||||
|
#else
|
||||||
|
m_totalMemory = 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void View::InitTextEditor( ImFont* font )
|
void View::InitTextEditor( ImFont* font )
|
||||||
{
|
{
|
||||||
m_sourceView = std::make_unique<SourceView>( font, m_gwcb );
|
m_sourceView = std::make_unique<SourceView>( font, m_gwcb );
|
||||||
|
@ -138,6 +138,7 @@ private:
|
|||||||
LastRange
|
LastRange
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void InitMemory();
|
||||||
void InitTextEditor( ImFont* font );
|
void InitTextEditor( ImFont* font );
|
||||||
|
|
||||||
const char* ShortenNamespace( const char* name ) const;
|
const char* ShortenNamespace( const char* name ) const;
|
||||||
@ -328,6 +329,7 @@ private:
|
|||||||
ViewMode m_viewMode;
|
ViewMode m_viewMode;
|
||||||
bool m_viewModeHeuristicTry = false;
|
bool m_viewModeHeuristicTry = false;
|
||||||
DecayValue<bool> m_forceConnectionPopup = false;
|
DecayValue<bool> m_forceConnectionPopup = false;
|
||||||
|
uint64_t m_totalMemory;
|
||||||
|
|
||||||
ViewData m_vd;
|
ViewData m_vd;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user