add first draft of thread priority

This commit is contained in:
WarmUpTill
2020-06-01 14:54:08 +02:00
parent 99b5c16406
commit 2e475b8059
3 changed files with 65 additions and 2 deletions

View File

@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>981</width>
<height>457</height>
<height>492</height>
</rect>
</property>
<property name="windowTitle">
@@ -336,6 +336,53 @@
</item>
</layout>
</item>
<item>
<widget class="Line" name="line_10">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_44">
<item>
<widget class="QLabel" name="label_56">
<property name="text">
<string>Use thread priority (experimental)</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="threadPriority">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_41">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="Line" name="line_7">
<property name="orientation">

View File

@@ -400,6 +400,10 @@ SceneSwitcher::SceneSwitcher(QWidget *parent)
new QListWidgetItem(text, ui->priorityList);
item->setData(Qt::UserRole, text);
}
for (std::string p : switcher->threadPrioritiesNamesOrderdByPrio) {
ui->threadPriority->addItem(p.c_str());
}
}
/********************************************************************************
@@ -1382,7 +1386,6 @@ static void SaveSceneSwitcher(obs_data_t *save_data, bool saving, void *)
********************************************************************************/
void SwitcherData::Thread()
{
//to avoid scene duplication when rapidly switching scene collection
this_thread::sleep_for(chrono::seconds(2));

View File

@@ -8,6 +8,7 @@
#include <mutex>
#include <fstream>
#include <QDateTime>
#include <QThread>
#include "utility.hpp"
#define DEFAULT_INTERVAL 300
@@ -308,6 +309,18 @@ struct SwitcherData {
DEFAULT_PRIORITY_3, DEFAULT_PRIORITY_4, DEFAULT_PRIORITY_5,
DEFAULT_PRIORITY_6, DEFAULT_PRIORITY_7};
std::vector<std::string> threadPrioritiesNamesOrderdByPrio{
"Lowest", "Low", "Normal", "High", "Highest", "Time critical",
};
std::map<std::string, int> threadPriorities = {
{"Lowest", QThread::LowestPriority},
{"Low", QThread::LowPriority},
{"Normal", QThread::NormalPriority},
{"High", QThread::HighPriority},
{"Highest", QThread::HighestPriority},
{"Time critical", QThread::TimeCriticalPriority},
};
void Thread();
void Start();
void Stop();