45#include <OpenFlipper/Utils/Memory/RAMInfo.hh>
50#define GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048
51#define GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049
59void MemInfoPlugin::pluginsInitialized() {
74 gpuMemBar_->setFormat(
"GPU Mem %p% %v/%m MB" );
108MemInfoPlugin::MemInfoPlugin():
116MemInfoPlugin::~MemInfoPlugin() {
124 GLint total_mem_kb = 0;
125 glGetIntegerv(GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX, &total_mem_kb);
128 GLint cur_avail_mem_kb = 0;
129 glGetIntegerv(GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX, &cur_avail_mem_kb);
131 gpuMemBar_->setRange( 0 , total_mem_kb/1024 );
132 gpuMemBar_->setValue( (total_mem_kb-cur_avail_mem_kb)/1024);
140 unsigned long totalRamMB = Utils::Memory::queryTotalRAM();
141 unsigned long freeRamMB = Utils::Memory::queryFreeRAM();
149unsigned long MemInfoPlugin::getFreeRamMB() {
150 return Utils::Memory::queryFreeRAM();
153unsigned long MemInfoPlugin::getTotalRamMB() {
154 return Utils::Memory::queryTotalRAM();
159 const int val = _bar->value();
160 const int maxVal = _bar->maximum();
163 float redPerc = (val > 0.5f*maxVal) ? 2.f*(val-0.5f*maxVal) : 0.f;
164 const quint32 red = 255.f*redPerc/maxVal;
165 const quint32 green = 255u-red;
166 const quint32 blue = 0u;
169 const quint32 color = (red<<16)+(green<<8)+blue;
170 _bar->setStyleSheet(QString(
" QProgressBar { border: 2px solid grey; border-radius: 2px; text-align: center; } QProgressBar::chunk {background-color: #%1; width: 1px;}").arg(color,6,16,QChar(
'0')));
void cpuMemoryInfoUpdate()
Update statusbar with main memory infos.
void nvidiaMemoryInfoUpdate()
Update statusbar with NVIDIA memory infos.
QProgressBar * gpuMemBar_
Status bar for GPU memory.
QProgressBar * mainMemBar_
Status bar for Main memory.
void initializePlugin()
BaseInterface.
QTimer * updateTimer_
Timer that triggers an update of the bars.
void setProgressBarStyleSheet(QProgressBar *_bar)
Sets the Qt Stylesheet for the progress bars.
bool checkExtensionSupported(const std::string &_extension)