Hệ điều hành đa nhiệm WIndows 32bit phân chương trình ra thành các Process( tuyến đoạn ) và Thread . Bản thân ứng dụng của bạn là một Process và Thread trong số rất nhiều process cũng như thread được hệ điều hành quản lý . ĐỐi với hệ điều hành Process/thread sẽ được cung cấp 1 quyền ưu tiên chiếm giữa tài nguyên của bộ xử lý . Bạn có thể tăng tốc cho ứng dụng bằng cách ặt lại độ ưu tiên cho chương trình như sau :
Sử dụng hàm WIndowAPI SetPriorityClass trong thư viện kernel32.dll , dùng hàm GetCurrentProcess ,GetCurrentThread để lấy về handle của process và thread chương trình mình
Cấu trúc
CODE
tên hàm SetPriorityClass
thư viện "kernel32"
tham số (ByVal hProcess As Long, ByVal dwPriorityClass As Long) As Long
Code mẫu Delphi như sau
CODE
//Đặt độ ưu tiên của chương trình ở mức tính toán thời gian thực
SetPriorityClass(GetCurrentProcess,REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurreThread,THREAD_PRIORITY_TIME_CRITICAL):
Nếu muốn cao siêu hơn thì làm như mấy cái hack speed cho game, chỉ sợ cháy ram ....
các hằng
QUOTE
· dwPriorityClass
Specifies the priority class for the process. Specify one of the following values:
HIGH_PRIORITY_CLASS
Specify this class for a process that performs time-critical tasks that must be executed immediately. The threads of the process preempt the threads of normal or idle priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class application can use nearly all available CPU time.
IDLE_PRIORITY_CLASS
Specify this class for a process whose threads run only when the system is idle. The threads of the process are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle-priority class is inherited by child processes.
NORMAL_PRIORITY_CLASS
Specify this class for a process with no special scheduling needs.
REALTIME_PRIORITY_CLASS
Specify this class for a process that has the highest possible priority. The threads of the process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.