Unreal Engine 5 מתמודד עם הבעיה הגדולה ביותר בגרפיקת PC

Respect dt תמונה 2
הסיפור הזה הוא חלק מסדרת ReSpec של ג'ייקוב רואץ', המכסה את עולם המשחקים והחומרה במחשב האישי.

במהלך שלה מצב כתובת Unreal ב-GDC 2023, Epic הכריזה על חבילה רחבה של תכונות עבור Unreal Engine 5.2. אבל אולי הכי הרבה תכונה חשובה שמגיעה למנוע המעודכן אינה קשורה לתאורה, לפרטי גיאומטריה או לקרן מַעֲקָב. הכל עניין של ביצועים.

תוכן

  • זכור את הגמגום
  • הכל עבור Fortnite
  • עדיין יש מה להתרגש

סרטונים מומלצים

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

זכור את הגמגום

זמן פריים ב-Gotham Knights במחשב.
עליות זמן המסגרת הללו מתבטאות כגמגומים חמורים ב-Gotham Knights.

במהלך השנים האחרונות, Unreal Engine הפך לשם נרדף לגמגום. ראינו את זה שוב ושוב, מ Star Wars Jedi: Fallen Order ל לִסְטוֹת ל גות'אם נייטס, ולכולם יש את אותה בעיה משותפת. זה גמגום אוסף.

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

ממשקי API כמו Vulkan ו-DirectX 12, חבילות הידועות בשם Pipeline State Objects (PSOs) מנופות כדי לספר למשחק על מצב ה-GPU שלך. PSOs נועדו להפוך את העיבוד ליעיל יותר, ולאפשר לעשרות פרמטרים, כולל הצללות, להיות ממשק בין ה-API ל-GPU בחבילה אחת.

עם זאת, הם מציגים בעיה אחרת. מכיוון ש-PSO מכילים כל כך הרבה מידע, יצירת אחד חדש תוך כדי תנועה לוקח זמן רב (לפי לתיעוד של Unreal, 100 מילישניות או יותר). יצירת PSO בזמן ריצה היא המקור לגמגום, שבו המנוע צריך ליצור PSO חדש בזמן שאתה משחק בפועל.

כדי להילחם בזה, מטמון PSO זמין ב-Unreal Engine. זה יוצר מטמון של PSOs אפשריים כך שלא צריך ליצור חדשים בזמן שאתה משחק במשחק, אבל הם לא מושלמים. כפי שמסבירה Epic, PSO precaching יכול "להיות מכביד עבור פרויקטים גדולים, ועדיין להשאיר פערים במטמון המובילים לתקלות." זו הסיבה, אפילו במשחקים שמרכיבים מראש הצללות על ה-GPU, עדיין תראה מדי פעם גמגום (גם אם הם מעטים ורחוקים בֵּין).

Epic מנסה להפוך את התהליך הזה לאוטומטי על ידי איסוף PSOs במקום להשאיר למפתחים לקחת בחשבון כל פרמטר אפשרי של GPU. זה דלוק מפת הדרכים הציבורית של Epic, אך רק גרסה ניסיונית זמינה כעת. ב-Unreal Engine 5.2, המטרה היא לשפר את מטמון PSO כדי לצמצם עוד יותר את התקלות.

הכל עבור Fortnite

סצנה של Fortnite פועל ב-Unreal Engine 5.

יש הרבה ממה להתרגש ב-Unreal Engine 5 (לחלק מזה אגיע בהמשך), אבל עדיין אין לנו ראיה ברורה לגבי איך המנוע עובד. עד כה, הוא שימש רק בהדגמות טכנולוגיות ו פורטנייט בין מהדורות מרכזיות. אפילו משחקים כמו נפילה אדומה שהבטיחו למנף את Unreal Engine 5 חזרו ל-Unreal Engine 4.

שיהיה ברור, הכלים הזמינים ב-Unreal Engine 4 מאפשרים למפתחים לבצע אופטימיזציה של המשחקים שלהם כדי למנוע גמגום. לב אטומיהוא דוגמא אחת מיני רבות לכך. אבל המצב המורכב של PSOs הותיר את הדלת פתוחה לתקלות במהלך המשחק, ואיסוף ה-PSO האוטומטי של Epic הוצג רק ב-Unreal Engine 5.1.

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

זה מדאיג במיוחד עבור משחקים הכוללים איתור קרניים, מכיוון ש-Unreal Engine 5 אינו תומך ב- PSO מטמון עבור איתור קרניים PSOs. כפי ש Nvidia מסבירה, אפשר להפיץ את העבודה של יצירת PSO למעקב אחר קרניים למספר שרשורים, אבל זה לא אומר בהכרח שמפתחים ישתמשו בתהליך הזה.

עדיין יש מה להתרגש

תאורה ב-Unreal Engine 5.

אנחנו עדיין צריכים לראות איסוף PSO אוטומטי ב-Unreal Engine 5, אבל למעשה יש המון מה להתרגש ממנו במנוע. בראש ובראשונה, לומן. תאורה חשובה ביותר עבור נאמנות גרפית, וטכניקות יקרות כמו תאורה עקבית נתיב מוצגות לראווה פורטל RTXקשוחים בחומרה. לומן מפצל את ההבדל.

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

התוצאות כבר ברורות. פורטנייט פועל על קונסולות עם Lumen במהירות של 60 פריימים לשנייה (fps), וזה נראה מדהים במחשב, אפילו ב Fortnite'העולם המצויר של.

חלון ראווה של Nanite ב-Unreal Engine 5.

Nanite עובד במקביל עם Lumen. זוהי מערכת גיאומטריה וירטואלית המכילה רשתות מפורטות מאוד, דחוסות מאוד שיכולות להתאים במהלך המשחק. זוהי בעצם רמת פירוט מורכבת (LOD) עבור רשתות המחליפה אוטומטית בין רשתות מפורטות למעורפלות בהתאם לאן המצלמה מסתכלת.

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

עם זאת, Epic שיתפה עוד במהלך הכתובת שלה ב-State of Unreal. Substrate היא מערכת חומרים חדשה ב-Unreal 5.2 הכוללת בקרת הצללה מפורטת יותר. Epic הדגימה זאת עם חומר משטח אופל, והציגה שכבות מרובות ושבירת אור מדויקת לאורכן.

חומר אופל ב-Unreal Engine 5.

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

יש עוד המון, מהתקדמות ב-MetaHuman ועד למעקב אחר נתיבים בתוך Unreal Engine. זה מרגש, אבל בעיות הגמגום המזוהות בדרך כלל עם מהדורות Unreal Engine נשארות. יש לקוות שההתקדמות של Epic ב-PSO caching יכולה לעקוף את הבעיה הזו, אבל אין לנו הרבה משחקי Unreal Engine 5 כדי לראות איך המערכת הזו עובדת עדיין.

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

המלצות עורכים

  • ניסיתי לחיות מחדש את המורשת הנשכחת של Halo כזכיין של Mac - וזה היה אסון
  • עם שותפויות בלעדיות למחשבים אישיים, כולם מפסידים
  • יציאות המחשב הגרועות ביותר בכל הזמנים - ולמה הן היו כל כך גרועות
  • כיצד בינה מלאכותית יצירתית תיצור משחקים עם 'עולמות רחבים, גדולים יותר ועמוקים יותר'
  • Star Wars Jedi: Survivor מופצץ ב-Steam בתור יציאת מחשב 'כלומר'