ProcessorSettings

ProcessorSettings class

ProcessorSettings により、パフォーマンスが向上したマルチスレッドでバーコードを認識できます

public class ProcessorSettings

プロパティ

名前説明
MaxAdditionalAllowedThreads { get; set; }並列でコードを実行する追加スレッドの最大数を指定します
UseAllCores { get; set; }はすべてのコアを使用するために必要です。
UseOnlyThisCoresCount { get; set; }使用するコア数を指定します。 プロパティ「UseAllCores」を「false」に変更する必要があります。

このサンプルは、ProcessorSettings を使用して最大のマルチスレッド パフォーマンスを追加する方法を示しています

[C#]
int workerThreads = Environment.ProcessorCount * 2;
int portThreads = Environment.ProcessorCount * 2;
System.Threading.ThreadPool.GetMinThreads(out workerThreads, out portThreads);
System.Threading.ThreadPool.SetMinThreads(Math.Max(workerThreads, Environment.ProcessorCount* 2), portThreads);
System.Threading.ThreadPool.GetMaxThreads(out workerThreads, out portThreads);
System.Threading.ThreadPool.SetMaxThreads(Math.Max(workerThreads, Environment.ProcessorCount* 4), portThreads);
BarCodeReader.ProcessorSettings.MaxAdditionalAllowedThreads = Environment.ProcessorCount* 2;

//これにより、単一の BarCodeReader 呼び出しにすべてのコアを使用できます
BarCodeReader.ProcessorSettings.UseAllCores = true;
//これにより、現在のコア数を使用できます
BarCodeReader.ProcessorSettings.UseAllCores = false;
BarCodeReader.ProcessorSettings.UseOnlyThisCoresCount = Math.Max(1, Environment.ProcessorCount / 2);
[VB.NET]
Dim workerThreads As Integer = Environment.ProcessorCount * 2
Dim portThreads As Integer = Environment.ProcessorCount * 2
System.Threading.ThreadPool.GetMinThreads(workerThreads, portThreads)
System.Threading.ThreadPool.SetMinThreads(Math.Max(workerThreads, Environment.ProcessorCount* 2), portThreads)
System.Threading.ThreadPool.GetMaxThreads(workerThreads, portThreads)
System.Threading.ThreadPool.SetMaxThreads(Math.Max(workerThreads, Environment.ProcessorCount* 4), portThreads)
BarCodeReader.ProcessorSettings.MaxAdditionalAllowedThreads = Environment.ProcessorCount* 2

'これにより、単一の BarCodeReader 呼び出しにすべてのコアを使用できます
BarCodeReader.ProcessorSettings.UseAllCores = True
'これにより、現在のコア数を使用できます
BarCodeReader.ProcessorSettings.UseAllCores = False
BarCodeReader.ProcessorSettings.UseOnlyThisCoresCount = Math.Max(1, Environment.ProcessorCount / 2)

関連項目