Skip to content

Commit 14a1d4f

Browse files
RickDBRickDB
RickDB
authored and
RickDB
committed
Changed to worker instead of thread for image sending.
Possible improvements to Hyperion image requests.
1 parent 6b96e57 commit 14a1d4f

File tree

2 files changed

+114
-98
lines changed

2 files changed

+114
-98
lines changed

AtmoLight.Core/Core.cs

+9-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Collections;
33
using System.Collections.Generic;
4+
using System.ComponentModel;
45
using System.Diagnostics;
56
using System.Drawing;
67
using System.Drawing.Imaging;
@@ -270,6 +271,7 @@ public void Dispose()
270271

271272
// Stop Target change image worker thread
272273
targetChangeImageEnabled = false;
274+
TargetChangeImageWorker.CancelAsync();
273275

274276
// Stop API server
275277
StopAPIserverThread();
@@ -281,6 +283,7 @@ public void Dispose()
281283
/// Generate all targets and initialise them.
282284
/// </summary>
283285
/// <returns></returns>
286+
BackgroundWorker TargetChangeImageWorker = new BackgroundWorker();
284287

285288
public void Initialise()
286289
{
@@ -292,11 +295,12 @@ public void Initialise()
292295
}
293296
}
294297

295-
// Start Target change image worker thread
296298
targetChangeImageEnabled = true;
297-
Thread t = new Thread(TargetChangeImageWorker);
298-
t.IsBackground = true;
299-
t.Start();
299+
300+
TargetChangeImageWorker.WorkerReportsProgress = false;
301+
TargetChangeImageWorker.WorkerSupportsCancellation = true;
302+
TargetChangeImageWorker.DoWork += TargetChangeDoWork;
303+
TargetChangeImageWorker.RunWorkerAsync();
300304

301305
// Start API server
302306
apiServerLock = false;
@@ -755,7 +759,7 @@ private void SendPixelData(byte[] pixelData, byte[] bmiInfoHeader, bool force =
755759
targetChangeImageQueue.Enqueue(data);
756760
}
757761

758-
private void TargetChangeImageWorker()
762+
private void TargetChangeDoWork(object sender, DoWorkEventArgs e)
759763
{
760764
ChangeImageData data;
761765

0 commit comments

Comments
 (0)