פורומים

משחקים ב-M1

the8thark

פוסטר מקורי
18 באפריל, 2011
  • 23 באפריל, 2021
ראשית, אני רוצה לשתף כמה סרטונים מיוטיוב שבהם בחור בדק מספר משחקים ב-M1 (Macbook Pro). אז המיני אמור לקבל ביצועים דומים וה-iMac, ביצועים מעט טובים יותר (אני מניח).

בסרטון הראשון נבדקו 25 משחקים שהם מגוון של משחקי 64 סיביות Metal 2 ו-OpenGL, אפליקציות לאייפון ו-iPad ב-Mac ומשחקי 32 סיביות.

ספוילר:לחץ כאן כדי לראות את רשימת רוב 25 המשחקים בסרטון Borderlands 3
חצי חיים 2
World of Warcraft
Shadow of the Tomb Raider
מיינקראפט
דוטה 2
Bioshock 2: מחודש
בינינו
מירוץ F1 נייד
Stardew Valley (iOS)
טריגר מת 2
אביר נשמה
עמק המונומנטים
Stardew Valley (Steam)
עצרת DiRT
Borderlands 2
Counter-Strike: Global Offensive
ראש גביע
הארץ התיכונה: Shadow of Mordor
אור מת
שְׁאוֹל
חסרי השבילים
Deus Ex: האנושות מחולקת
באטמן: ארקהאם סיטי
הסימס 4

בסרטון השני נבדקו 33 משחקים שהם מגוון של משחקי arm64, Parallels 16, Rosetta 2 ו-CrossOver.

ספוילר:לחץ כאן כדי לראות את רשימת רוב 33 המשחקים בסרטון בידוד חייזרים
סיפור מגפה: תמימות
BioShock מחודש
סיפור הפייטן IV: DC
CS GO
SteamVR
GTA IV
מגילות הבכור באינטרנט
סופר-חם: MCD
נשמות אפלות: מחודש
גַנָב
המלכים הצלבנים השלישי
פֶּגֶר
לגו: המדהימים
פולאאוט 4
פקטוריו
F1 2016
מאתר הנתיבים: Kingmaker - EPE
Moto Racer 4
החלף
ארגאמי
לִחיוֹת יוֹתֵר
סימס 2
יום תשלום 2
יוקה-לילי
האפל הארוך
Skul: קוטל הגיבורים

בסרטון הווידאו השלישי יש 32 משחקים שנבדקו

ספוילר:לחץ כאן כדי לראות את רשימת רוב 32 המשחקים בסרטון מטרו אקסודוס
נתיב של גלות
בסיס החלל Startopia
NBA 2K21 Arcade Edition
יאקוזה 0
GWENT: The Witcher Game Card
קדחת התחבורה 2
גזדום
חג הרס
אורי והיער העיוור: מהדורה סופית
אורי וצוואה של הוויספסים
טורניר לא אמיתי
פרוסטפאנק
מעבר לכחול
המדורה האחרונה
מְסִירוּת
עקרון טאלוס
Hellblade: Senua's Sacrifice
טרֶמפִּיסט
היכנס ל-Gungeon
ולהיים
פּוֹלֵשׁ
אססין קריד IV: דגל שחור
Disco Elysium: The Final Cut
חבישות
ערים: קווי הרקיע
שכבות של פחד 2
ילד נריטה
סיוטים קטנים

אף אחד מהמשחקים הללו אינו מדמם קצה או גרפיקה של סוף 2021, אבל שני הסרטונים כאן אמורים לתת לך סקירה טובה של מידת היכולת של ה-M1 למשחקים. זה הרבה יותר מסוגל ממה שחשבתי בהתחלה.
תגובות:AdamInKent, ג'ורג' דאוס, matrix07 ואדם אחד נוסף

Lowhangers

26 בנובמבר 2017


  • 23 באפריל, 2021
המשחק היחיד שאני משחק ב-Mac mini שלי הוא World of Warcraft. והוא פועל די טוב, הוסף רזולוציה מכובדת של 60 פריימים לשנייה ב-M1 Mac mini שלי. אין לי תלונות כלשהן, על המחיר ששילמתי עבור המיני.

אפל עשתה עבודה פנטסטית עם ה-M1, ואני רק יכול לדמיין כמה הוא הולך להשתפר עם השנים ככל שהם משפרים אותו. אני לא יכול לדמיין איפה האינטרנט יהיה בעוד ארבעה או חמישה דורות של המעבדים האלה.
תגובות:LeeW, George Dawes ו-Retrostarscream

הראלדים

3 בינואר 2014
עמק הסיליקון, קליפורניה
  • 25 באפריל, 2021
ביצועי המשחק טובים באופן מפתיע אפילו עבור משחקי Windows הפועלים תחת Windows 10 hypervisor ו-x86 emulaiton.
תגובות:הת'ארק, ג'ורג' דאוס ו-thedocbwarren

ג'ורג' דאוס

17 ביולי 2014
=VH=
  • 29 באפריל, 2021
תאר לעצמך appletv עם שבב m1!

אז הם באמת יכלו לקרוא לאפל ארקייד, ברמת ארקייד/קונסולה..
תגובות:AdamInKent, SigEp265 ו-the8thark ה

למן

14 באוקטובר 2008
  • 29 באפריל, 2021
dmccloud אמר: באמצעות לוגיקה 'קונבנציונלית', הביצועים הגרפיים של ה-M1 לא אמורים להיות כמעט טובים כמו שהם.

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

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

dmccloud אמר: עם זאת, זה מבוסס על צפייה בדברים דרך פרדיגמת ה-x86 (Intel), שבה רכיבי iGPU הם זבל חם במקרה הטוב, לחלוטין בלתי שמישים אחרת. UMA משחק תפקיד גדול בכך, מכיוון שגם ה-CPU וגם ה-GPU יכולים לגשת לאותם נתונים בו-זמנית במקום להעתיק את הנתונים גם למחיצות המערכת וגם ל-iGPU ואז ליישב את השינויים שנעשו בשני העותקים.

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

ועוד כמה הערות:

- עצם זה שיש לך UMA לא אומר שאתה לא צריך להעתיק את הנתונים. פונקציונליות של אפס העתקה דורשת שימוש מפורש בממשקי API מיוחדים ומחייבת אותך להגדיר את הנתונים שלך בצורה מאוד מסוימת. משחקים פשוט לא מתעסקים בזה. אז אתה עדיין צריך להעתיק את הנתונים, זה רק שההעתקה עצמה היא הרבה יותר מהירה (אתה מקבל רוחב פס מלא של 68+GBps במקום 15GBps של PCI-e 3.0 16x בשימוש ב-GPUs גיימינג מתקדמים)

- iGPUs של אינטל (ו-AMD) משתמשים ב-UMA כבר שנים. טופולוגיית הזיכרון שלהם זהה כמעט לזו של אפל (מעבד ו-GPU גישה לזיכרון באמצעות מטמון משותף ברמה האחרונה). לאפל יש פשוט בקרי זיכרון בעלי יכולת הרבה יותר (וגם גדלי מטמון GPU ברמת שולחן העבודה) - הם מייעלים עבור ביצועים ויעילות כאן ולא עולים כמו ספקים אחרים.
תגובות:thekev, falainber, JMacHack ואדם אחד נוסף ס

נול

5 באוקטובר 2020
  • 29 באפריל, 2021
leman אמר: - iGPUs של אינטל (ו-AMD) משתמשים ב-UMA במשך שנים. טופולוגיית הזיכרון שלהם זהה כמעט לזו של אפל (מעבד ו-GPU גישה לזיכרון באמצעות מטמון משותף ברמה האחרונה). לאפל יש פשוט בקרי זיכרון בעלי יכולת הרבה יותר (וגם גדלי מטמון GPU ברמת שולחן העבודה) - הם מייעלים עבור ביצועים ויעילות כאן ולא עולים כמו ספקים אחרים.
אין Intel ו-amd iGPUs לא משתמשים ב-UMA בכלל.

קטעי Intel ו-AMD iGPU של חלק מזיכרון RAM של המערכת שישמש כ-vRAM שאר המערכת לא יכולה לגשת לחלק זה של זיכרון ה-RAM בכלל רק ה-GPU יכול.

זה לא המקרה עם UMA, עם UMA לכל המערכת יש גישה לכל ה-RAM בכל עת.

ולגבי משחקים 'לא עושים שימוש ב-UMA' זה לא קשור למשחקים וכל מה שקשור לדרייברים הגרפיים. המשחק פשוט קורא דרך ה-API לדרייבר הגרפי, לאחר מכן מנהל ההתקן ממיין את הטיפול בזיכרון.
תגובות:cal6n ו-dmcccloud ה

למן

14 באוקטובר 2008
  • 29 באפריל, 2021
Spindel אמר: אין Intel ו-amd iGPUs לא משתמשים ב-UMA בכלל.

קטעי Intel ו-AMD iGPU של חלק מזיכרון RAM של המערכת שישמש כ-vRAM שאר המערכת לא יכולה לגשת לחלק זה של זיכרון ה-RAM בכלל רק ה-GPU יכול.

זה פשוט שגוי. התיעוד של אינטל מציין בבירור שמעבדי ה-iGPU שלהם שמתחילים לפחות ב-Sandy Bridge (אם אני זוכר נכון) משתמשים ב-UMA והם חושפים הרחבות נתונים של CPU/GPU בעותק אפס ל-OpenCL שעובדות באופן זהה לפונקציונליות של אפס עותקים של Apple Metal.

שפינדל אמר: ולגבי משחקים 'לא עושים שימוש ב-UMA' זה לא קשור למשחקים וכל מה שקשור לדרייברים הגרפיים. המשחק פשוט קורא דרך ה-API לדרייבר הגרפי, לאחר מכן מנהל ההתקן ממיין את הטיפול בזיכרון.

זה שוב שגוי (לפחות בכל הנוגע לנושא). ממשקי API גרפיים מחייבים אותך להעתיק את הנתונים באופן ידני (או על ידי מתן מצביע נתונים מראש או על ידי שימוש בממשקי API להעתקה/מיפוי). אז UMA או לא UMA, אם אתה משתמש במשהו כמו MTLBuffer.contents() או MTLTexture.replace() אתה תמיד עושה עותק זיכרון מהאחסון שהוקצה על ידי האפליקציה שלך לאחסון שהוקצה על ידי מנהל ההתקן. אתה צריך להשתמש ב-MTLDevice.makeBuffer(bytesNoCopy: ) אם אתה רוצה התנהגות של אפס העתקה.

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

dmccloud

7 בספטמבר 2009
אנקורג', AK
  • 29 באפריל, 2021
לימן אמר: זה פשוט לא בסדר. התיעוד של אינטל מציין בבירור שמעבדי ה-iGPU שלהם שמתחילים לפחות ב-Sandy Bridge (אם אני זוכר נכון) משתמשים ב-UMA והם חושפים הרחבות נתונים של CPU/GPU בעותק אפס ל-OpenCL שעובדות באופן זהה לפונקציונליות של אפס עותקים של Apple Metal.



זה שוב שגוי (לפחות בכל הנוגע לנושא). ממשקי API גרפיים מחייבים אותך להעתיק את הנתונים באופן ידני (או על ידי מתן מצביע נתונים מראש או על ידי שימוש בממשקי API להעתקה/מיפוי). אז UMA או לא UMA, אם אתה משתמש במשהו כמו MTLBuffer.contents() או MTLTexture.replace() אתה תמיד עושה עותק זיכרון מהאחסון שהוקצה על ידי האפליקציה שלך לאחסון שהוקצה על ידי מנהל ההתקן. אתה צריך להשתמש ב-MTLDevice.makeBuffer(bytesNoCopy: ) אם אתה רוצה התנהגות של אפס העתקה.

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

לא משנה איך אינטל קוראת לזה, זה עדיין לא UMA אמיתי. היכנסו ל-Best Buy והסתכלו על כל אחד מהמחשבים הניידים המוצגים עם גרפיקה משולבת בלבד. אתה תראה שהם יגידו משהו כמו '8GB RAM (6.03 GB זמין). הסיבה לכך היא שהם עדיין מחלקים את ה-RAM הפיזי למחיצות CPU/iGPU וירטואליות. אינטל אוהבת להטעות או אפילו לשקר בחומרים השיווקיים ולפעמים הטכניים שלהם. כשהם הכריזו על מעבדי הדור ה-11 שלהם, הם רק השוו את ה-iGPU שלהם (שהיה למעשה רק מיתוג מחדש של הגרפיקה 'UMA' המשמשת בחלקי הדור ה-9 וה-10) ל-AMD Vega 4 ו-nVidia MX250 (שכבר הוחלף על ידי ה-MX350) במטרה להוכיח שהגרפיקה שלהם מעולה. קבוצה מאיתנו צפתה במצגת בעבודה וקרעה את אינטל לגזרים בגלל כמות ההצהרות המטעות שדחסו למצגת מוקלטת בת 47 דקות.
תגובות:דהלבלום איקס

xWhiplash

תוֹרֵם
21 באוקטובר 2009
  • 29 באפריל, 2021
ה-M1 מנצח או מתחרה ב-GTX 1050 Ti שהוא עדיין מס' 2 בסקר החומרה של Steam.

סקר חומרה ותוכנה של Steam
אני באמת מקווה שעד שזה יגיע לילד הגדול Mac Pro, שה-GPU די תחרותי. לנסות להשיג אפילו RTX 3060 הוא בלתי אפשרי. איקס

xWhiplash

תוֹרֵם
21 באוקטובר 2009
  • 29 באפריל, 2021
לימן אמר: זה פשוט לא בסדר. התיעוד של אינטל מציין בבירור שמעבדי ה-iGPU שלהם שמתחילים לפחות ב-Sandy Bridge (אם אני זוכר נכון) משתמשים ב-UMA והם חושפים הרחבות נתונים של CPU/GPU בעותק אפס ל-OpenCL שעובדות באופן זהה לפונקציונליות של אפס עותקים של Apple Metal.
אם אתה קורא את המסמך, זה צריך להיות שינוי תכנות. בכמה תוכנות יש את השינוי הזה?

software.intel.com

הפק את המרב מ-OpenCL™ 1.2: כיצד להגדיל את הביצועים על ידי...

הורדות הורדה הפק את המרב מ-OpenCL™ 1.2: כיצד להגביר ביצועים על ידי צמצום עותקי מאגר ב-Intel® Proce software.intel.com
כדי ליצור אפס מאגרי העתקה, בצע אחת מהפעולות הבאות:

השתמש ב-CL_MEM_ALLOC_HOST_PTR ואפשר לזמן הריצה לטפל ביצירת מאגר הקצאת העתק אפס עבורך

אם כבר יש לך את הנתונים ואתה רוצה לטעון את הנתונים לאובייקט מאגר OpenCL, השתמש ב-CL_MEM_USE_HOST_PTR עם מאגר שהוקצה בגבול של 4096 בתים (מיושר לגבול קו עמוד וקובץ מטמון) וגודל כולל שהוא כפולה של 64 בתים (גודל שורת המטמון).

בעת קריאה או כתיבה של נתונים למאגרים אלה מהמארח, השתמש ב-clEnqueueMapBuffer(), פעל על המאגר ולאחר מכן קרא ל-clEnqueueUnmapMemObject(). מאמר זה מכיל דוגמאות קוד להדגמת השיטות המוכרות ביותר בפלטפורמות Intel®.
י

JouniS

22 בנובמבר 2020
  • 29 באפריל, 2021
אני מצפה שה-M1 יישאר טוב בשנה-שנתיים הקרובות. עד שהמחסור ברכיבים יסתיים, להרבה אנשים יהיו קונסולות ו-GPUs מהדור הנוכחי, ומשחקים חדשים יתוכננו לנצל את החומרה המהירה יותר. לאחר מכן, מעבד M1 עם 16 ליבות יהיה נמוך ו-32 ליבות יהיו בינוניות.

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

למן

14 באוקטובר 2008
  • 30 באפריל, 2021
dmccloud אמר: לא משנה איך אינטל קוראת לזה, זה עדיין לא UMA אמיתי. היכנסו ל-Best Buy והסתכלו על כל אחד מהמחשבים הניידים המוצגים עם גרפיקה משולבת בלבד. אתה תראה שהם יגידו משהו כמו '8GB RAM (6.03 GB זמין). הסיבה לכך היא שהם עדיין מחלקים את ה-RAM הפיזי למחיצות CPU/iGPU וירטואליות.

רק כך עובד דגם הנהג. ברור שחלק מהזיכרון שמור למטרות GPU. זה לא כל כך שונה עם M1: אתה יכול לשאול את כמות זיכרון ה-GPU הזמין והמספר שאתה מקבל הוא לא סך זיכרון ה-RAM של המערכת. זו רק שאלה דיווחית/'חשבונאית', ואין לה מעט לעשות עם UMA עצמה. זיכרון מאוחד אומר שה-GPU וה-CPU מסוגלים לגשת פיזית (והגיונית) לאותו זיכרון בצורה קוהרנטית למטמון, ולכל דגם סביר של Intel iGPU יש את היכולת הזו.

dmccloud אמר: אינטל אוהבת להטעות או אפילו לשקר בשיווק שלהם...

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

xWhiplash אמר: אם אתה קורא את המסמך, זה צריך להיות שינוי תכנות. בכמה תוכנות יש את השינוי הזה?

בדיוק אותו דבר עבור Apple Silicon. אם אתה רוצה התנהגות אפס של העתקה, עליך להשתמש ב-API ספציפי ולוודא שאתה מקצה את הזיכרון שלך בצורה מסוימת.
תגובות:thekev

LeeW

5 בפברואר 2017
מעל הגבעה ורחוק
  • 30 באפריל, 2021
Lowhangers אמר: המשחק היחיד שאני משחק ב-Mac mini שלי הוא World of Warcraft. והוא פועל די טוב, הוסף רזולוציה מכובדת של 60 פריימים לשנייה ב-M1 Mac mini שלי. אין לי תלונות כלשהן, על המחיר ששילמתי עבור המיני.

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

זה גם אני, אני משחק WoW רק כלאחר יד וצולל פנימה והחוצה מ-Retail/Classic כשהזמן מאפשר. שיחק מאז 2006 אבל אל תפשטו יותר רק תיהנו מחיפושים ושיטוט ברחבי העולם.

פועל מדהים ב-M1 Mac Mini, בהשוואה למכשירים הקודמים שלי מ-2014 ו-2018. 45-60 FPS בהגדרות של 3440x1440 @ מקסימום עם התאמה קלה לצלליות, זה בקושי מתחמם ומתמודד עם זה מצוין. איקס

xWhiplash

תוֹרֵם
21 באוקטובר 2009
  • 30 באפריל, 2021
לימן אמר: בדיוק אותו הדבר עבור Apple Silicon. אם אתה רוצה התנהגות אפס של העתקה, עליך להשתמש ב-API ספציפי ולוודא שאתה מקצה את הזיכרון שלך בצורה מסוימת.
לא כך זה עובד. ל- Apple Silicon יש גישה לכל 16GB של זיכרון RAM. אין VRAM נפרד, אבל עדיין יש עבור Intel iGPU.
תגובות:dmccloud

הסל89

27 בספטמבר 2017
הולנד
  • 30 באפריל, 2021
רק בהתבסס על ציוני Geekbench ציפיתי לביצועים דומים ל-AMD RX 560.
נראה שזה בדיוק המקרה ברוב המשחקים, עם ההבדל היחיד שאני יכול להגדיר את מרחק הציור למקסימום מוחלט ב-M1. (הודות ל-16GBs של זיכרון RAM מאוחד)

עם משחקים התומכים ב- Metal 2 זה משחק כדור אחר לגמרי!
אני יכול לשחק ב-X-plane 11 ב-2560 x 1440 כשהכל מוגדר ל-Ultra/High ואני עדיין מקבל 30 עד 40 פריימים לשנייה.
זה בעצם יותר טוב ממה שחבר שלי מקבל עם ה-RTX 2060 שלו. כל הזמן נשאר שקט לחלוטין!

זה לא צריך להיות כל כך חזק אבל איכשהו זה כן..
תגובות:הומי ה

למן

14 באוקטובר 2008
  • 30 באפריל, 2021
xWhiplash אמר: לא כך זה עובד. ל- Apple Silicon יש גישה לכל 16GB של זיכרון RAM. אין VRAM נפרד, אבל עדיין יש עבור Intel iGPU.

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

כל דוחות 'גודל VRAM' וכו' שאתה עשוי לראות הם מגבלות ספציפיות למנהלי התקן או למערכת ההפעלה. עד כמה שידוע לי, מנהל התקן GPU של אינטל יכול להתאים את הרשימות הללו באופן דינמי, אפל סיליקון משתמש בגבולות טבעיים גבוהים מאוד מההתחלה. שניהם שומרים כמות מסוימת של זיכרון RAM למטרות GPU. ס

נול

5 באוקטובר 2020
  • 30 באפריל, 2021
לימן אמר: אני לא מודע למגבלות התייחסות לזיכרון על רכיבי iGPU של אינטל. גם מכשירי אינטל וגם אפל ניגשים לזיכרון המערכת באמצעות אותו מטמון ברמה האחרונה ואותו בקר זיכרון. כל זיכרון ה-GPU של Intel גלוי וקוהרנטי למטמון עם המעבד ולהפך. גם התקני ה-GPU של אינטל וגם של אפל מסוגלים לגשת ישירות להקצאות זיכרון המערכת (אפס עותק) באמצעות ממשקי API להצטרפות.

כל דוחות 'גודל VRAM' וכו' שאתה עשוי לראות הם מגבלות ספציפיות למנהלי התקן או למערכת ההפעלה. עד כמה שידוע לי, מנהל התקן GPU של אינטל יכול להתאים את הרשימות הללו באופן דינמי, אפל סיליקון משתמש בגבולות טבעיים גבוהים מאוד מההתחלה. שניהם שומרים כמות מסוימת של זיכרון RAM למטרות GPU.
כן זה נכון שניתן להתאים את גודל ה-vram באופן דינמי עם intel igpus.
אבל אתה לא מבין את הנקודה, עדיין לא ניתן לגשת ל-vram שהוקצה על ידי שאר המערכת. אז אם יש לך ישות גרפית שצריכה מיקום (נעשה על ידי ה-CPU) הישות הזו צריכה להתגורר גם ב-vram וגם ב-RAM של המערכת. מכיוון שהמעבד צריך לעשות עליו את החישובים שלו ומכיוון שהוא לא יכול לגשת ל-vram הוא צריך עותק בראם המערכת (כל זה בפשטות גסה)

עם UMA גם המעבד וגם ה-GPU יכולים לגשת לאותה כתובת זיכרון. ה

למן

14 באוקטובר 2008
  • 30 באפריל, 2021
שפינדל אמר: אבל אתה לא מבין את הנקודה, עדיין לא ניתן לגשת ל-vram שהוקצה על ידי שאר המערכת. אז אם יש לך ישות גרפית שצריכה מיקום (נעשה על ידי ה-CPU) הישות הזו צריכה להתגורר גם ב-vram וגם ב-RAM של המערכת. מכיוון שהמעבד צריך לעשות עליו את החישובים שלו ומכיוון שהוא לא יכול לגשת ל-vram הוא צריך עותק בראם המערכת (כל זה בפשטות גסה)

זה פשוט לא נכון. אין 'VRAM' עם Intel או AMD iGPUs מודרניים. המעבד וה-GPU יכולים לגשת לאותו זיכרון פיזי. כפי שכתבתי קודם, המעבד וה-GPU חולקים את המטמונים ואת בקרי הזיכרון.

אם אתה לא מאמין לי, בדוק את מאגרי הזיכרון הזמינים של Vulkan עבור מכשירים אלה (דרך vkGetPhysicalDeviceMemoryProperties). רק מאגרי הזיכרון שהם מציעים נגישים הן על ידי המכשיר (GPU) והן המארח (CPU).

Spindel אמר: עם UMA גם המעבד וגם ה-GPU יכולים לגשת לאותה כתובת זיכרון.

בְּדִיוּק. לכן אני תמה שאתה טוען שאינטל היא לא UMA. זה בדיוק איך Intel iGPUs עובדים.

dmccloud

7 בספטמבר 2009
אנקורג', AK
  • 30 באפריל, 2021
לימן אמר: זה פשוט לא נכון. אין 'VRAM' עם Intel או AMD iGPUs מודרניים. המעבד וה-GPU יכולים לגשת לאותו זיכרון פיזי. כפי שכתבתי קודם, המעבד וה-GPU חולקים את המטמונים ואת בקרי הזיכרון.

אם אתה לא מאמין לי, בדוק את מאגרי הזיכרון הזמינים של Vulkan עבור מכשירים אלה (דרך vkGetPhysicalDeviceMemoryProperties). רק מאגרי הזיכרון שהם מציעים נגישים הן על ידי המכשיר (GPU) והן המארח (CPU).



בְּדִיוּק. לכן אני תמה שאתה טוען שאינטל היא לא UMA. זה בדיוק איך Intel iGPUs עובדים.

עם Intel iGPUs, זיכרון ה-RAM מחולק לשתי מחיצות וירטואליות: האחת משמשת כ-RAM של המערכת, השנייה מוקדשת ל-iGPU. אז למחשב נייד של HP או Dell שנשלח עם 8GB של זיכרון RAM יהיה רק ​​בין 6 ל-7.5GB של זיכרון RAM זמין עבור תוכניות מכיוון שהשאר מוקצה אך ורק ל-iGPU. יתר על כן, ניתן לגשת לנתונים שנכתבים למחיצת המערכת רק על ידי ה-CPU, ונתונים שנכתבים למחיצת ה-GPU נגישים רק על ידי iGPU. זו הסיבה שהשימוש של אינטל במונח 'UMA' מטעה במקרה הטוב. עם ה-M1, אפל העניקה גישה מלאה לכל מרחב כתובות הזיכרון הן לליבות המעבד והן ל-GPU. עבור יישומים שבהם נעשה שימוש גם ב-GPU וגם ב-CPU (מחשבי MMO רבים, כולל World of Warcraft מתאימים לקריטריון זה), יש להעתיק את הנתונים לשתי המחיצות בצד של Windows, ואז השינויים להתאמות לפני ביצוע פלט כלשהו. עם ה-M1, גם ליבות המעבד וה-GPU יכולות לגשת ולשנות את הנתונים בּוֹ זְמַנִית . זה מאיץ את הביצועים הכוללים מכיוון שכבר אין צורך בשלב ההתאמה. ה

למן

14 באוקטובר 2008
  • 30 באפריל, 2021
dmccloud אמר: עם Intel iGPUs, זיכרון ה-RAM מחולק לשתי מחיצות וירטואליות: האחת משמשת כזיכרון RAM של המערכת, והשנייה מוקדשת ל-iGPU. אז למחשב נייד של HP או Dell שנשלח עם 8GB של זיכרון RAM יהיה רק ​​בין 6 ל-7.5GB של זיכרון RAM זמין עבור תוכניות מכיוון שהשאר מוקצה אך ורק ל-iGPU. יתר על כן, ניתן לגשת לנתונים שנכתבים למחיצת המערכת רק על ידי ה-CPU, ונתונים שנכתבים למחיצת ה-GPU נגישים רק על ידי iGPU. זו הסיבה שהשימוש של אינטל במונח 'UMA' מטעה במקרה הטוב.

מאיפה יש לך את המידע הזה? זה מנוגד לכל התיעוד הטכני והתנהגות ה-API שאני מודע להם. לגבי 'מחיצה וירטואלית' - זה רק זיכרון ה-RAM השמור לשימוש ב-GPU. גם מערכות אפל עושות את זה. איקס

xWhiplash

תוֹרֵם
21 באוקטובר 2009
  • 1 במאי 2021
לימן אמר: מאיפה יש לך את המידע הזה? זה מנוגד לכל התיעוד הטכני והתנהגות ה-API שאני מודע להם. לגבי 'מחיצה וירטואלית' - זה רק זיכרון ה-RAM השמור לשימוש ב-GPU. גם מערכות אפל עושות את זה.
שוב, זה שינוי תכנות. הפעלת משחק ישן משנת 2005 על Intel iGPU מודרני עדיין תצטרך לבצע העתקה לזיכרון iGPU. אתה צריך למעשה לציין בקוד שאתה רוצה אפס מאגר זיכרון.

מכיוון של-Apple אין IGPU VRAM ייעודי, בעיה זו לא מתרחשת. אין בו את ההפרדה הזו.

אנא הראה היכן מערכות Apple מציגות קטעים ייעודיים של זיכרון RAM רק עבור GPU. יש לי כאן Mac mini M1 ואני לא יכול למצוא איפה הוא מציין רק 1 או 2 GB של VRAM זמין. ה

למן

14 באוקטובר 2008
  • 1 במאי 2021
xWhiplash אמר: שוב, זה שינוי תכנות. הפעלת משחק ישן משנת 2005 על Intel iGPU מודרני עדיין תצטרך לבצע העתקה לזיכרון iGPU. אתה צריך למעשה לציין בקוד שאתה רוצה אפס מאגר זיכרון.

ושוב, זה אותו דבר כשאתה משתמש במטאל או בכל API אחר של GPU. אני ממש מבולבל לגבי מה שאתה מנסה להגיד.

נא לא לקחת את זה בצורה לא נכונה, אבל אני רק צריך לשאול בשלב זה: מה הניסיון שלך עם תכנות GPU? זה לא נשמע לי שאתה מכיר יותר מדי ממשקי API גרפיים.

xWhiplash אמר: מכיוון שלאפל אין IGPU VRAM ייעודי, בעיה זו לא מתרחשת. אין בו את ההפרדה הזו.

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

xWhiplash אמר: אנא הראה היכן מערכות אפל מציגות קטעים ייעודיים של זיכרון RAM רק עבור GPU. יש לי כאן Mac mini M1 ואני לא יכול למצוא איפה הוא מציין רק 1 או 2 GB של VRAM זמין.

VRAM זמין הוא רק מידע שמנהל ההתקן/מערכת ההפעלה נותנים לך. ל-Intel iGPU אין VRAM. יש להם זיכרון מערכת המנוהל על ידי מנהל התקן ה-GPU. בדיוק כמו אפל. השאר זה רק התנהגות הנהג. מנהל התקן של אינטל ב-Windows עשוי להגביל את השימוש המרבי שלך ב-GPU RAM ל-4GB או משהו כזה (בכנות, לא הייתי יודע), אפל גמישה יותר. איקס

xWhiplash

תוֹרֵם
21 באוקטובר 2009
  • 1 במאי 2021
לימן אמר: נא לא לקחת את זה בצורה לא נכונה, אבל אני רק צריך לשאול בשלב זה: מה הניסיון שלך עם תכנות GPU? זה לא נשמע לי שאתה מכיר יותר מדי ממשקי API גרפיים.
אני יוצר משחקי וידאו, עובד עם הצללות פיקסלים וקודקודים ב-Direct X, XNA, MonoGame, Unity, Unreal ועוד. יש לי את הניסיון שלי וזו הסיבה שכמה אנשים שפרסמו אומרים כי לאינטל אין את הבעיה הזו לא יודעים שזה שינוי תכנות - ואנשים רבים אפילו לא הבינו שזה היה שינוי תכנות. לא הצלחתי למצוא דוגמה שאתה טוען כל הזמן שה-M1 של אפל עדיין סובל מהבעיה הזו, וחיפשתי במשך ימים. אני לא מצליח למצוא את הדגלים הדרושים לאפס מאגר זיכרון כמו שאתה עושה עבור אינטל. אז בבקשה, כוון אותי לכיוון הנכון במקום להגיד את זה רק 5 פעמים. אם יש לך את ההוכחה, אני בהחלט רוצה לקרוא אותה. לא ראיתי שום הוכחה לכך של-M1 עדיין יש הקצאת זיכרון GPU ייעודית משלו. כל מה שקראתי וכל התיעוד שראיתי קובע שה-M1 GPU יכול לגשת לכל ולכל 8GB או 16GB של הזיכרון המאוחד.

ראיתי עשרות דיונים של מפתחים וחוות דעת של מפתחים כמו זה:

מדוע שבב Apple M1 כל כך מהיר - מפתח מסביר | מומחה הפקה

אולי תהיתם למה שבב Apple M1 כל כך מהיר? במאמר זה, אנו לומדים ממפתח מה עושה, אפילו את מחשבי ה-Mac ברמת הכניסה האלה, כל כך מהירים. www.pro-tools-expert.com
עם ה-M1, זה גם חלק מה-SoC. הזיכרון ב-M1 הוא מה שמתואר כ'ארכיטקטורת זיכרון מאוחדת' (UMA) המאפשרת ל-CPU, GPU וליבות אחרות להחליף מידע ביניהם, ועם זיכרון מאוחד, ה-CPU וה-GPU יכולים לגשת לזיכרון בו-זמנית. מאשר העתקת נתונים בין אזור אחד למשנהו.

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

ואתה כן יודע שכאשר אנו אומרים VRAM ביחס לאינטל iGPU, אנו מתכוונים למעשה ל'זיכרון מפולח שהוקצה ל-GPU על ידי הנהג'. VRAM קצר וקל ועדיין משיג את השיחה. נערך לאחרונה: 1 במאי, 2021 ה

למן

14 באוקטובר 2008
  • 1 במאי 2021
xWhiplash אמר: אני יוצר משחקי וידאו, עובד עם הצללות פיקסלים וקודקודים ב-Direct X, XNA, MonoGame, Unity, Unreal ועוד.

אה, זה נהדר, אז אנחנו יכולים לדון בזה ברמה הטכנית.

עריכה: סליחה, הפורום מכניס אימוג'ים לכתובות האתרים באופן אוטומטי :/

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

אם אתה רוצה להיות בעל התנהגות אפס העתקה, כלומר, השתמש בהקצאת זיכרון משלך כמאגר GPU שאתה צריך להשתמש במפורש makeBuffer(bytesNoCopy:length תגובות:Krevnik ו-xWhiplashהַבָּא

לך לעמוד

ללכתהַבָּא אחרון