דלגו לתוכן

עומסי CPU ו-GPU

בדף זה

PCBenchmarkX מריץ את העומסים הסינתטיים שלו עם נפח עבודה קבוע בכל חזרה, ולכן ניתן להשוות אותם בין מערכות שונות. בבדיקות כאלה לא משתמשים בהקלטות משחק, והמספרים הסופיים אינם שווים ל“FPS במשחק מסוים”. מחזור המדידה המלא מתואר במתודולוגיה.

נכון לעכשיו מיושמים מנוע 0.5.2 ועומס phase4.6-dev-1. יש לזכור את הגרסה: החלפת התרחיש הופכת תוצאות של מהדורות שונות לבלתי ניתנות להשוואה ישירה.

CPU: סימולציית אובייקטים

Section titled “CPU: סימולציית אובייקטים”

בבלוק ה-CPU נוצרים 65 536 אובייקטים עם קואורדינטות, מהירויות ודגלים. בכל צעד מחושבים מחדש תנועה, החזרות מגבולות ונראות. התהליך הראשי מעבד תחילה 8 192 אובייקטים ברצף, לאחר מכן מעביר את החלק הנותר לתהליכי עבודה ובמקביל מבצע הכנה. לאחר מכן התהליכים מסונכרנים.

מספר תהליכי העבודה נבחר לפי הכלל:

workers = clamp(physical_cores − 1, 1, 6)

אם מספר הליבות הפיזיות אינו ידוע, נלקחת הערכה לפי מעבדים לוגיים. ליבות עבור תהליכים אינן מקובעות ידנית. גישה זו מדמה מודל של תהליך “מוביל אחד” עם עזרה מוגבלת, ולא הרצה מקבילית טוטאלית על כל ליבה.

מצב וסדר מעבר האובייקטים דטרמיניסטיים. לפני כל מדידה של מקטע ה-CPU הוא מאופס ומבצע 512 פריימים מכינים מחוץ לספירה, כדי לא לגרור לסדרה מצב שיורי מהרצה קודמת.

דטרמיניזם העומס אינו אומר זמן ביצוע זהה: תדרים, טמפרטורה, מתזמן ותהליכים ברקע ממשיכים להשפיע על המדידה.

חלק ה-GPU עובד דרך Direct3D 12. טקסטורות העבודה הפנימיות בעלות גודל קבוע 1920×1080, ללא תלות בגודל החלון ושולחן העבודה.

עומס עבודה חישובית מה עוזר להבחין
Geometry 6 רינדורים של סצנה עם 9 216 אינסטנסים ו-2 מעברי עיבוד 후 עיבוד גאומטריה ואספקת עבודה גרפית
Shader רינדור סצנה 1, 16 מעברי עיבוד 후, פרמטר מורכבות שיידר 24 עומס פיקסלים וטקסטורות
Compute רשת 1920×1080, קבוצות 8×8, חישובים שלמים עם 96 איטרציות ביצוע שיידר חישובי
Combined סימולציית CPU וצינור גרפי קבוע עבודה משותפת של CPU, דרייבר ו-GPU

אלו תרחישים נפרדים עם נפח עבודה שונה. לדוגמה, 8 000 פריימים מותנים של Compute אינם ניתנים לקריאה כ-8 000 FPS במשחק או להשוואה ישירה עם 800 פריימים של Geometry. לצורך איחוד מיושם נרמול לפי תרחיש, המתואר בחישוב הניקוד.

העומסים נכתבו ברמת יכולות ניידת: shader model 5.0 ו-feature level 11_0 ללא הרחבות ספק. אותו קוד בדיוק פועל על דורות ויצרנים שונים של כרטיסי מסך, ללא ענף נפרד לספק מסוים.

לאחר המדידות המנוע בודק את הפלט של כל עומס GPU: עבור Geometry, Shader, Compute, Combined ובדיקת ההשהיה הנטענת נקבעת חתימת ביקורת — הצורה הצפויה של קטע קטן מהתוצאה. הקטע הנקרא לאחר ההשלמה מושווה לצפוי; אי-התאמה משמעה שהעומס בוצע באופן שגוי, והופכת את ההרצה לבלתי שמישה. הבדיקה מתבצעת לאחר מדידות הזכאות ואינה משפיעה על המספרים עצמם.

אין במערך זה בדיקות נפרדות למהירות הדיסק ולקיבולת הזיכרון של RAM. הזיכרון והדרייבר משפיעים על ביצוע העומסים, אולם הבנצ’מרק אינו מחשב הערכות נפרדות ל-SSD ול-RAM.

חמישה עומסי ביצועים מבוצעים בשלושה סבבים עם החלפת סדר:

סבב סדר
1 CPU → Geometry → Shader → Compute → Combined
2 Shader → Compute → Combined → CPU → Geometry
3 Combined → CPU → Geometry → Shader → Compute

מקומה של כל עומס ברצף משתנה מסבב לסבב. הדבר מפחית את השפעתו על ההשוואה. חימום עדיין עשוי לשנות תוצאות, ולכן עבור הבלוקים נשמרים בנוסף פיזור מהירות הביצוע והשינוי שלו מהבלוק הראשון לאחרון.

להערכת תרחיש נלקח הממוצע האריתמטי של ה-throughput של שלושת בלוקיו. את החציון והממוצע הגאומטרי של הבלוקים ניתן לראות כדיאגנוסטיקה נוספת, אך המדד הסופי נשאר בכל זאת על ממוצע זה.

מדוע רזולוציה נמוכה אינה מקלה על המבחן הראשי

Section titled “מדוע רזולוציה נמוכה אינה מקלה על המבחן הראשי”

עומסי CPU, GPU ו-Combined מבוצעים מחוץ למאגר המסך. מסלול שליחת הפקודות שלהם אינו מפעיל Present ואינו ממתין למגבלת תור התצוגה. הטקסטורות הפנימיות נשארות 1920×1080, גם אם שולחן העבודה הועבר ל-800×600.

הממשק ובדיקת ההשהיה פועלים דרך מסלול פלט נפרד. לכן שינוי רזולוציית שולחן העבודה כשלעצמו אינו מקל על העומס עצמו. עם זאת, עדיין אין לקרוא תוצאה “זהה לחלוטין” בכל רזולוציה: בקטע הפלט משתתפים הדרייבר ומצב המערכת הנוכחי.

בדיקה מעשית עם 1920×1080, 1280×768 ו-800×600 מופיעה במאמר על החזרתיות.

נבדק עבור המימוש המתואר: 2026-09-20.