TombEngine/TombEngine/framework.h
Sezz ca56f62f54
Multithreading (#1541)
* Create Worker class for multithreading

* Update TombEngine.vcxproj

* Rename GetWorkerCount() to GetThreadCount()

* Add ProcessInParallel template for vectors

* Add multiThreaded flag to settings, process sprites in parallel

* Update Flow.Settings.html

* Refine WorkerManager class conventions; deinit threads properly

* Don't require explicit destruction

* Address basic PR notes

* Update Worker.cpp

* Simplify ThreadManager class

* Add method for running single task

* Use singleton pattern; use more appropriate Controller suffix

* Update WorkerController template method

* Revise method

* Handle exception in ~WorkerController()

* Grammar

* Correctly init single-threaded mode

* Update CHANGELOG.md

* Defer thread init until g_GameFlow is valid

* unsigned int -> int

* Rename class

---------

Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2025-02-12 09:59:54 +02:00

34 lines
606 B
C++

#pragma once
#include <algorithm>
#include <array>
#include <atomic>
#include <d3d11.h>
#include <d3dcompiler.h>
#include <deque>
#include <filesystem>
#include <fstream>
#include <functional>
#include <future>
#include <map>
#include <memory>
#include <optional>
#include <regex>
#include <set>
#include <SimpleMath.h>
#include <sol.hpp>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <queue>
#include <vector>
using namespace DirectX;
using namespace DirectX::SimpleMath;
#include "Game/Debug/Debug.h"
using namespace TEN::Debug;
constexpr auto NO_VALUE = -1;