Beginning with version 3.1.9.0 D3Server3 can set its own process priority class.

The process priority class of D3Server3 can be changed by editing the configuration file D3Server3.ini, wich is located in the same folder as D3Server3.exe. It is recommended not to use Notepad for this task. There are many more advanced text editors freely available. Notepad++ is one good example.

The value of the key ProcessPriority in the section [GlobalOptions] specifies the priority class of D3Server3's process.

It can be one of the values below.

ProcessPriority=NORMAL_PRIORITY

This is the standard priority class in Windows. The installation program creates the key ProcessPriority in the section [GlobalOptions] with this value (normal priority).

Don't change this setting if D3Server3 is running as a Windows service since the tool might struggle to respond to the Service Control Manager (SCM).

ProcessPriority=IDLE_PRIORITY

D3Server3 runs with the lowest priority class available. This renders the software less responsive but leaves more CPU time for other processes in the system, like dedicated Descent 3 servers. This is the recommended priority class for D3Server3 unless CPU intensive Descent 3 missions are run. For example, some co-operative and even some anarchy level sets like the Fellowship mission contain scripts that eat up all the CPU slices they can get. That's the reason why ProcessPriority=IDLE_PRIORITY is not the default after the installation of D3Server3. If you experience that the server tool is not responding properly or even cannot control your dedicated Descent 3 servers in a timely manner you could try ProcessPriority=BELOW_NORMAL_PRIORITY (see below).

If D3Server3 is running as a Windows service the default priority class of NORMAL_PRIORITY should not be changed.

ProcessPriority=BELOW_NORMAL_PRIORITY

The process is treated with little bit lower priority than with the normal priority class. Depending on the amount of D3 servers, the number of CPUs in the system, memory usage, etc. using this value can have a positive impact on the overall performance of running dedicated Descent 3 servers.

ProcessPriority=ABOVE_NORMAL_PRIORITY

D3Server3 runs with a slightly higher priority than normally. Since the purpose of the server tool is to control dedicated Descent 3 servers it does generally not make much sense to set its priority class higher than NORMAL_PRIORITY. NORMAL_PRIORITY is the priority class dedicated servers are started.

ProcessPriority=HIGH_PRIORITY

D3Server3 runs with much higher priority. Since the purpose of the server tool is to control dedicated Descent 3 servers it does generally not make much sense to set its priority class higher than NORMAL_PRIORITY.

ProcessPriority=REALTIME_PRIORITY

This makes D3Server3 run with the realtime priority, which is the highest priority in the system. All other threads will have less CPU time to run. This setting can make it impossible to use the computer. Either use with intense care or better not at all! Since the purpose of the server tool is to control dedicated Descent 3 servers it does generally not make much sense to set its priority class higher than NORMAL_PRIORITY.

D3Server3 uses the Windows API function SetPriorityClass (). The values provided in the MSDN article can directly be used if the text _CLASS is omitted. For example, don't use ProcessPriority=IDLE_PRIORITY_CLASS but use ProcessPriority=IDLE_PRIORITY instead to make D3Server3 run with the idle priority class.

The priority class of a process (in this case D3Server3's) is inherited by child processes. This means that every program/application started by the server tool runs with the same priority class as the tool itself. D3Server3 starts other processes when...

With the exception of the last case (a dedicated Descent 3 server is started) all processes are created (invoked/started/launched) with the same process priority as the tool itself.

Dedicated Descent 3 servers are always started with the normal priority class (NORMAL_PRIORITY), independent of the priority class of D3Server3. The server tool sets the priority class of launched servers explicitely to normal right after they start up.