המעבר ל-DirectX 10, או – למה לאחד?
כמו בפעמים קודמות בהן הוצג ממשק DirectX חדש, גם הפעם דורש המעבר שינוי חומרתי בכדי לממש את השינוי התוכנתי. בעבר, כאשר סיפרנו לכם על ארכיטקטורות שונות של כרטיסים שונים, כש-DX10 היה רק תכנון לא מעשי, עיקר הרכיבים שקראתם עליהם היו כמובן מעבדי ה-Vertex ומעבדי ה-Pixel, וכמובן שלא נשכח את הרכיב העיקרי- צינורות העיבוד. כעת, עם המעבר אל הדור החדש, רכיבים אלו כבר לא יהוו את החלק הארי בכל מפרט או הסבר ארכיטקטוני של כרטיסי הדור הבא.
בדור החדש של הכרטיסים התומכים ב-DX10, נעלמו המונחים "צינורות עיבוד" ומעבדי Vertex ו-Pixel. המונח החדש הינו Stream Processors (שם שניתן על ידי NVIDIA).
על מנת להבין את השינוי האדיר בקונספט של המעבד הגרפי יש להבין קודם לכן מהו Shader. ה-Shader הוא לא יותר מאשר תוכנה קטנה או קטע קוד, השולט על עיבוד הקודקודים והפיקסלים של חלק במודל תלת מימדי (קטעי קוד רבים כאלו יוצרים את המודל התלת מימדי כולו).
אם ניזכר לרגע בממשקים הקודמים של מיקרוסופט, ה-DX9 או ה-DX8, ובכרטיסים התומכים בהם, נראה כי ה-Shaders מחולקים לשני סוגים עיקריים עליהם דיברנו עד כה: ה-Vertex וה-Pixel. למעשה היו אלו מאין מעבדים קטנים נפרדים על גבי המעבד הגרפי (אפשר לקרוא להם אף ליבות) כאשר הייתה כמות קבועה לכל אחד מהסוגים. שיטה זו הייתה למעשה מעט לא יעילה, בשל העובדה שכאשר יחידה אחת מתוך אלו מנוצלת במלואה והשניה מנוצלת חלקית (כלומר לא כל הליבות פועלות) נוצר בזבוז של ליבות ויכולת עיבוד. לו הייתה דרך להעסיק את הליבות הלא פעילות בביצוע חישובים בכל רגע נתון, אין ספק שהיינו מגיעים לביצועים טובים יותר וליעילות גבוהה הרבה יותר.
הגרף שלעיל מייצג את רמת העומס על כל סוג עיבוד לפי הפריימים הנשלחים למעבד הגראפי (הצבע הכחול מייצג את מעבדי ה-Vertex והצבע הכתום את מעבדי ה-Pixel). ניתן לראות כי במקרה הזה נתבקש המעבד הגרפי ליותר עיבודי פיקסלים מאשר קודקודים.
![]() | ![]() |
משמאל ניתן לראות בזבוז משאבים כאשר יחידות העיבוד לא עובדות למרות שהן פנויות ומימין את הפתרון שמוצע – כל יחידות העיבוד פעילות בכל זמן.
כאן באה לידי ביטוי כל ארכיטקטורת השיידרים המאוחדים. השיפור מתבטא בכך שכל הוראה שמעבד מסויים מקבל, עוברת ליחידת שיידר המאוחדת ומבוצעת ללא קשר לסוג ההוראה. כל יחידת עיבוד שכזו מסוגלת לבצע את כל סוגי החישובים כך שכלל המעבד הגראפי נמצא בניצול מלא תחת עומס חישובי. עבור המשתמש הדבר אינו מורגש שכן הוא אינו יודע (וברוב המקרים אף לא מתעניין) מה הם החישובים המתבצעים מאחורי הקלעים כדי שיקבל את המשחק שלו על המסך במהירות ובאיכות המקסימאלית, אך ניתן לומר שעם השיפור ביעילות המעבדים הגרפיים (המתאפשר הודות ל-DX10 וארכיטקטורת השיידרים המאוחדים), תתאפשר יצירת משחקים חדשניים יותר ויותר ומנועים גרפיים פורצי גבולות.