Fix SQL modules threading system.
This commit is contained in:
@ -12,7 +12,7 @@
|
||||
|
||||
#include "BaseWorker.h"
|
||||
|
||||
#define DEFAULT_THINK_TIME_MS 500
|
||||
#define DEFAULT_THINK_TIME_MS 25
|
||||
|
||||
class ThreadWorker : public BaseWorker, public IThread
|
||||
{
|
||||
|
@ -28,6 +28,8 @@ void ShutdownThreading()
|
||||
{
|
||||
if (g_pWorker)
|
||||
{
|
||||
// Flush all the remaining job fast!
|
||||
g_pWorker->SetMaxThreadsPerFrame(8192);
|
||||
g_pWorker->Stop(true);
|
||||
delete g_pWorker;
|
||||
g_pWorker = NULL;
|
||||
@ -293,7 +295,7 @@ void OnPluginsLoaded()
|
||||
g_QueueLock = g_Threader.MakeMutex();
|
||||
}
|
||||
|
||||
g_pWorker = new ThreadWorker(&g_Threader, 250);
|
||||
g_pWorker = new ThreadWorker(&g_Threader, DEFAULT_THINK_TIME_MS);
|
||||
if (!g_pWorker->Start())
|
||||
{
|
||||
delete g_pWorker;
|
||||
@ -310,7 +312,7 @@ void StartFrame()
|
||||
{
|
||||
if (g_pWorker && (g_lasttime < gpGlobals->time))
|
||||
{
|
||||
g_lasttime = gpGlobals->time + 0.05f;
|
||||
g_lasttime = gpGlobals->time + 0.025f;
|
||||
g_QueueLock->Lock();
|
||||
size_t remaining = g_ThreadQueue.size();
|
||||
if (remaining)
|
||||
@ -341,6 +343,8 @@ void OnPluginsUnloading()
|
||||
return;
|
||||
}
|
||||
|
||||
// Flush all the remaining job fast!
|
||||
g_pWorker->SetMaxThreadsPerFrame(8192);
|
||||
g_pWorker->Stop(false);
|
||||
delete g_pWorker;
|
||||
g_pWorker = NULL;
|
||||
|
Reference in New Issue
Block a user