Scheduler, timers ו-foreground boost ב-Windows 11 25H2
בדף זה
תשובה קצרה
Section titled “תשובה קצרה”ערכים אלה שולטים במתזמן, בהרשאת טיימרים, בהפצת פסיעות שעון ובתקציב DPC. לפי השם בלבד לא ניתן לקבוע את מלוא ההשפעה: Windows מיישם מסכות סיביות ומנרמל ערכי קלט. רשומות שונות יכולות להגדיר מצב פעולה זהה.
מה נבדק
Section titled “מה נבדק”נבדק אילו פרמטרים של המתזמן והטיימרים נקראים על ידי הליבה, כיצד מנורמלים הערכים ואילו שדות Win32PrioritySeparation אחראים למה.
תחום המחקר
Section titled “תחום המחקר”Windows 11 25H2 build 26200.9168, scheduler ו-timer paths של הליבה. משחקים ויישומים ספציפיים לא נכללו במדידות.
מתודולוגיה
Section titled “מתודולוגיה”טבלת אב של פרמטרי הליבה, תצפית על פניות runtime אל Registry ובדיקת שדות סיביות ונרמול ערכים.
פרמטרים קנוניים
Section titled “פרמטרים קנוניים”| Registry path | Value | Type | Default | Reader/timing |
|---|---|---|---|---|
HKLM\SYSTEM\CurrentControlSet\Control\PriorityControl |
Win32PrioritySeparation |
REG_DWORD |
0x02 |
ntoskrnl.exe, ואז session initialization |
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel |
GlobalTimerResolutionRequests |
REG_DWORD |
0 |
kernel phase-0 |
| אותו נתיב | MaxDynamicTickDuration |
REG_DWORD |
0xFFFFFFFF |
dynamic tick duration limit |
| אותו נתיב | EnablePerCpuClockTickScheduling |
REG_DWORD |
0 |
phase-1 clock init |
| אותו נתיב | DisableLowQosTimerResolution |
REG_DWORD |
1 |
timer policy init |
| אותו נתיב | DpcCumulativeSoftTimeout |
REG_DWORD |
120000 |
DPC budget init |
| אותו נתיב | ForceForegroundBoostDecay |
REG_DWORD |
0 |
scheduler init |
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\I/O System |
PassiveIntRealTimeWorkerPriority |
REG_DWORD |
16 |
I/O worker init |
Win32PrioritySeparation
Section titled “Win32PrioritySeparation”הערך מורכב משדות סיביות. הליבה קובעת בנפרד את הגברת היישום הפעיל (foreground boost), את סוג הקוונטום ומשכו. ב-build שנחקר הערך ההתחלתי של Windows לקוח שווה ל-0x02. על ערך הקלט מוחלת מסכה 0x3F, ולכן רשומות שונות יכולות להגדיר מצב מתזמן אחד.
פירוק שדות הסיביות לפי סיביות, מחשבון ערכים שקולים ומדידות היסטוריות של השהיה ו-FPS הועברו למחקר נפרד «Win32PrioritySeparation: השהיה ו-FPS בעומס CPU מלא». את הצד המשתמש — בחירה, השפעה והחזרה — מכסה עמוד ההגדרה של BoosterX.
הפרמטר משנה את כללי התזמון. כדי להעריך את התועלת במשימה מסוימת יש לחזור על הבדיקה עם עומס CPU ולמדוד השהיה; ההגדרה אינה מבטיחה האצה אוניברסלית.
Timer policy
Section titled “Timer policy”GlobalTimerResolutionRequests ופרמטרי הטיימרים הסמוכים נקראים מתוך Session Manager\Kernel. הם משפיעים על תחולת בקשות הרשאת הטיימר, מקומית או מערכתית, ועל הפצת פסיעות השעון בין CPU. בפלטפורמות נתמכות תזמון נפרד של פסיעות לפי CPU יכול לפעול גם ללא הגדרה כפויה.
MaxDynamicTickDuration מגביל את משך השינה במצב סרק ללא פסיעות מחזוריות. יחידת המידה היא 100 ננו-שניות: 7500 משמעו 0.75 ms, ולא 7.5 ms. הגבול העליון מוגבל בנוסף על ידי הרשאת הטיימר הנוכחית. 0xFFFFFFFF מסיר את המגבלה הנוספת.
DisableLowQosTimerResolution משנה את המגבלה לבקשות הרשאת טיימר בעדיפות נמוכה. בכך לא נקבעת כשלעצמה הרשאה גבוהה קבועה.
כדאי לשנות את כללי הטיימרים רק עבור עומס שאכן מבצע בקשות כאלה. הרשאה גבוהה קבועה מגדילה את מספר פסיעות הטיימר ואת צריכת האנרגיה.
DPC budget ו-boost decay
Section titled “DPC budget ו-boost decay”DpcCumulativeSoftTimeout מגדיר את התקציב של זמן ההרצה הכולל של DPC. גבולות הנרמול שלו, הקשר ל-DpcWatchdogPeriod ופרמטרי DPC ו-worker limits הסמוכים מפורטים במחקר «DPC ו-Kernel Executive workers ב-Windows 11 25H2»; כאן הם אינם מפורטים מחדש. ForceForegroundBoostDecay משנה את כללי הדעיכה של הגברת היישום הפעיל, ו-PassiveIntRealTimeWorkerPriority מגדיר את העדיפות של תהליך עבודה מיוחד של קלט-פלט. עבור PassiveIntRealTimeWorkerPriority הקוד מקבל 17..21; בהיעדר רשומה משתמשים ב-16. הערך 18 קביל ומעלה את העדיפות.
בעת השוואה יש להתחשב ביחידות המידה ובמגבלות הטווחים. הליבה מנרמלת ערכים לא נתמכים, ולכן המספר שנרשם עשוי להיות שונה מזה שהוחל בפועל.
פרמטרים אלה נוגעים לתזמון מערכתי ולאבחון מנהלי התקנים. ללא trace של DPC/ISR אין בסיס מהימן לשינוי ידני שלהם.
תוצאות
Section titled “תוצאות”- קריאת כל פרמטרי הטבלה אושרה ב-
ntoskrnl.exeשל build26200.9168:Win32PrioritySeparationנקרא בעת אתחול המתזמן ו-session initialization, ופרמטרי הטיימרים — בשלבי אתחול הליבה. - הערכים ההתחלתיים והנרמול אושרו: מסכה
0x3FעבורWin32PrioritySeparation, טווח17..21עם ברירת מחדל16עבורPassiveIntRealTimeWorkerPriority, יחידה של 100 ננו-שניות אצלMaxDynamicTickDuration. - התצפיות עצמן איכותניות: ערכי השהיה, FPS או עומס רקע לא נמדדו במחקר זה.
מה אושר
Section titled “מה אושר”- Readers ונרמול הפרמטרים ב-
ntoskrnl.exeשל ה-build שנחקר. - הערך ההתחלתי
0x02עבורWin32PrioritySeparationוהמסכה0x3F. - משמעות שדות boost והקוונטומים, היחידות של
MaxDynamicTickDuration. - נרמול
PassiveIntRealTimeWorkerPriorityלטווח17..21עם ברירת מחדל16.
מה לא אושר
Section titled “מה לא אושר”- השפעת השינוי על FPS, השהיה או היענות.
- התועלת של השינוי ללא עומס שאכן משתמש בטיימרים וב-DPC.
מסקנה מעשית
Section titled “מסקנה מעשית”השאירו את ערכי ברירת המחדל. שנו פרמטרים רק עבור עומס שאכן מבצע את הבקשות המתאימות, והשוו תוצאות בהרצות זהות.
שחזור מצב
Section titled “שחזור מצב”החזירו את ערכי ברירת המחדל או מחקו רשומות אופציונליות. פרמטרי הליבה מוחלים באתחול Windows הבא.
מגבלות
Section titled “מגבלות”קריאות בשלב 0 של האתחול עשויות שלא להיכנס לחלון הרישום של Procmon. המחקר מאשר את קוד הקריאה ואת הנרמול ב-build 26200.9168. מספר ההרצות העצמאיות של התצפית (אתחולים ו-traces) לא נרשם בנתוני המאמר, ולכן החזרתיות של תצפיות ה-readers עצמן לא הוערכה כמותית. השפעה אוניברסלית על ביצועים או השהיה לא נקבעה.
המחקר והכלים שבהם נעשה שימוש שייכים למפתח BoosterX, ולכן למפתח יש אינטרס ישיר בתוצאות. המתודולוגיה וגבולות התחולה מתוארים לעיל, ואת המסקנות ניתן לאמת לפי הנתונים הפתוחים ולפי המקורות הציבוריים המפורטים.
מקורות
Section titled “מקורות”- Win32PrioritySeparation, Microsoft Learn, נבדק 2026-09-01.
- Timer resolution, Microsoft Learn, נבדק 2026-09-01.
המקורות הציבוריים נבדקו: 2026-09-02.
היסטוריית שינויים
Section titled “היסטוריית שינויים”- 2026-09-20: נוסף כתב ויתור בדבר ניגוד עניינים; תואמו תאריכי reviewed/modified.
- 2026-09-19: נוספו הפרק «תוצאות», הפניות צולבות למחקרי
Win32PrioritySeparationולפרמטרי DPC/worker ועמוד ההגדרה של BoosterX; תועד היעדר מספר הרצות התצפית. - 2026-09-02: פרסום ראשון; אושרו readers, נרמול ושדות סיביות, נוספו גבולות התועלת המעשית.
