bug-gnubg
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-gnubg] BUG: "Set priority belownormal" does not work


From: Jon Kinsey
Subject: Re: [Bug-gnubg] BUG: "Set priority belownormal" does not work
Date: Wed, 04 Feb 2004 15:21:02 +0000
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4

Ian Shaw wrote:
Using gnubg-no-gui under windows, I set priority belownormal.

Looking at it in Task Manger, the priority is still listed as normal.

Is there a way to always start it up with low priority. I was going to put the 
setting in .gnubgrc, but if the command does not work there is no point.

The code uses SetThreadPriority() to change the thread priority, perhaps it should use SetPriorityClass() to change the process priority instead.

The task manager shows the process priority not individual thread priorities.

Below is an extract from the sdk documentation which shows that there are up to 32 different priority levels on windows. Perhaps we need to work out what would be useful to set for a user (e.g. low, normal or high)?

Jon

Each process belongs to one of the following priority classes:

IDLE_PRIORITY_CLASS
BELOW_NORMAL_PRIORITY_CLASS
NORMAL_PRIORITY_CLASS
ABOVE_NORMAL_PRIORITY_CLASS
HIGH_PRIORITY_CLASS
REALTIME_PRIORITY_CLASS

The following are priority levels within each priority class

THREAD_PRIORITY_IDLE
THREAD_PRIORITY_LOWEST
THREAD_PRIORITY_BELOW_NORMAL
THREAD_PRIORITY_NORMAL
THREAD_PRIORITY_ABOVE_NORMAL
THREAD_PRIORITY_HIGHEST
THREAD_PRIORITY_TIME_CRITICAL

The following table shows the base priority levels for combinations of priority class and priority value.
        Process Priority Class          Thread Priority Level
1       IDLE_PRIORITY_CLASS             THREAD_PRIORITY_IDLE
1       BELOW_NORMAL_PRIORITY_CLASS     THREAD_PRIORITY_IDLE
1       NORMAL_PRIORITY_CLASS           THREAD_PRIORITY_IDLE
1       ABOVE_NORMAL_PRIORITY_CLASS     THREAD_PRIORITY_IDLE
1       HIGH_PRIORITY_CLASS             THREAD_PRIORITY_IDLE
2       IDLE_PRIORITY_CLASS             THREAD_PRIORITY_LOWEST
3       IDLE_PRIORITY_CLASS             THREAD_PRIORITY_BELOW_NORMAL
4       IDLE_PRIORITY_CLASS             THREAD_PRIORITY_NORMAL
4       BELOW_NORMAL_PRIORITY_CLASS     THREAD_PRIORITY_LOWEST
5       IDLE_PRIORITY_CLASS             THREAD_PRIORITY_ABOVE_NORMAL
5       BELOW_NORMAL_PRIORITY_CLASS     THREAD_PRIORITY_BELOW_NORMAL
5       Background NORMAL_PRIORITY_CLASS        THREAD_PRIORITY_LOWEST
6       IDLE_PRIORITY_CLASS             THREAD_PRIORITY_HIGHEST
6       BELOW_NORMAL_PRIORITY_CLASS     THREAD_PRIORITY_NORMAL
6       Background NORMAL_PRIORITY_CLASS        THREAD_PRIORITY_BELOW_NORMAL
7       BELOW_NORMAL_PRIORITY_CLASS     THREAD_PRIORITY_ABOVE_NORMAL
7       Background NORMAL_PRIORITY_CLASS        THREAD_PRIORITY_NORMAL
7       Foreground NORMAL_PRIORITY_CLASS        THREAD_PRIORITY_LOWEST
8       BELOW_NORMAL_PRIORITY_CLASS     THREAD_PRIORITY_HIGHEST
8       NORMAL_PRIORITY_CLASS           THREAD_PRIORITY_ABOVE_NORMAL
8       Foreground NORMAL_PRIORITY_CLASS        THREAD_PRIORITY_BELOW_NORMAL
8       ABOVE_NORMAL_PRIORITY_CLASS     THREAD_PRIORITY_LOWEST
9       NORMAL_PRIORITY_CLASS           THREAD_PRIORITY_HIGHEST
9       Foreground NORMAL_PRIORITY_CLASS        THREAD_PRIORITY_NORMAL
9       ABOVE_NORMAL_PRIORITY_CLASS     THREAD_PRIORITY_BELOW_NORMAL
10      Foreground NORMAL_PRIORITY_CLASS        THREAD_PRIORITY_ABOVE_NORMAL
10      ABOVE_NORMAL_PRIORITY_CLASS     THREAD_PRIORITY_NORMAL
11      Foreground NORMAL_PRIORITY_CLASS        THREAD_PRIORITY_HIGHEST
11      ABOVE_NORMAL_PRIORITY_CLASS     THREAD_PRIORITY_ABOVE_NORMAL
11      HIGH_PRIORITY_CLASS             THREAD_PRIORITY_LOWEST
12      ABOVE_NORMAL_PRIORITY_CLASS     THREAD_PRIORITY_HIGHEST
12      HIGH_PRIORITY_CLASS             THREAD_PRIORITY_BELOW_NORMAL
13      HIGH_PRIORITY_CLASS             THREAD_PRIORITY_NORMAL
14      HIGH_PRIORITY_CLASS             THREAD_PRIORITY_ABOVE_NORMAL
15      HIGH_PRIORITY_CLASS             THREAD_PRIORITY_HIGHEST
15      HIGH_PRIORITY_CLASS             THREAD_PRIORITY_TIME_CRITICAL
15      IDLE_PRIORITY_CLASS             THREAD_PRIORITY_TIME_CRITICAL
15      BELOW_NORMAL_PRIORITY_CLASS     THREAD_PRIORITY_TIME_CRITICAL
15      NORMAL_PRIORITY_CLASS           THREAD_PRIORITY_TIME_CRITICAL
15      ABOVE_NORMAL_PRIORITY_CLASS     THREAD_PRIORITY_TIME_CRITICAL
16      REALTIME_PRIORITY_CLASS         THREAD_PRIORITY_IDLE
17      REALTIME_PRIORITY_CLASS         -7
18      REALTIME_PRIORITY_CLASS         -6
19      REALTIME_PRIORITY_CLASS         -5
20      REALTIME_PRIORITY_CLASS         -4
21      REALTIME_PRIORITY_CLASS         -3
22      REALTIME_PRIORITY_CLASS         THREAD_PRIORITY_LOWEST
23      REALTIME_PRIORITY_CLASS         THREAD_PRIORITY_BELOW_NORMAL
24      REALTIME_PRIORITY_CLASS         THREAD_PRIORITY_NORMAL
25      REALTIME_PRIORITY_CLASS         THREAD_PRIORITY_ABOVE_NORMAL
26      REALTIME_PRIORITY_CLASS         THREAD_PRIORITY_HIGHEST
27      REALTIME_PRIORITY_CLASS         3
28      REALTIME_PRIORITY_CLASS         4
29      REALTIME_PRIORITY_CLASS         5
30      REALTIME_PRIORITY_CLASS         6
31      REALTIME_PRIORITY_CLASS         THREAD_PRIORITY_TIME_CRITICAL





reply via email to

[Prev in Thread] Current Thread [Next in Thread]