Browse Source

Add function to main window to query CPU usage

jp9000 11 years ago
parent
commit
a9b3da010d
2 changed files with 12 additions and 0 deletions
  1. 4 0
      obs/window-basic-main.cpp
  2. 8 0
      obs/window-basic-main.hpp

+ 4 - 0
obs/window-basic-main.cpp

@@ -88,6 +88,8 @@ OBSBasic::OBSBasic(QWidget *parent)
 			this,
 			SLOT(SceneItemNameEdited(QWidget*,
 					QAbstractItemDelegate::EndEditHint)));
+
+	cpuUsageInfo = os_cpu_usage_info_start();
 }
 
 static void SaveAudioDevice(const char *name, int channel, obs_data_t parent)
@@ -550,6 +552,8 @@ OBSBasic::~OBSBasic()
 	 * can be freed, and we have no control over the destruction order of
 	 * the Qt UI stuff, so we have to manually clear any references to
 	 * libobs. */
+	os_cpu_usage_info_destroy(cpuUsageInfo);
+
 	delete properties;
 	delete transformWindow;
 

+ 8 - 0
obs/window-basic-main.hpp

@@ -28,6 +28,7 @@
 #include "window-basic-properties.hpp"
 #include "window-basic-transform.hpp"
 
+#include <util/platform.h>
 #include <util/util.hpp>
 
 #include <QPointer>
@@ -61,6 +62,8 @@ private:
 
 	QNetworkAccessManager networkManager;
 
+	os_cpu_usage_info_t cpuUsageInfo = nullptr;
+
 	QBuffer       logUploadPostData;
 	QNetworkReply *logUploadReply = nullptr;
 	QByteArray    logUploadReturnData;
@@ -199,6 +202,11 @@ public:
 		cy = previewCY;
 	}
 
+	inline double GetCPUUsage() const
+	{
+		return os_cpu_usage_info_query(cpuUsageInfo);
+	}
+
 protected:
 	virtual void closeEvent(QCloseEvent *event) override;
 	virtual void changeEvent(QEvent *event) override;