GTX570 עדיין סוחב? - עמוד 2 - כרטיסי מסך - HWzone פורומים
עבור לתוכן
  • צור חשבון

GTX570 עדיין סוחב?


Kurt

Recommended Posts

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

את התחום פחות או יותר איננה קיימת (לא במטרה חלילה לפגוע ועל כך הנני מתנצל מבעוד מועד).

צר לי עמיתי nec "המלומד" אבל תאלץ לתפוס תחת על מישהו אחר.

אני שמח שחסכת לי את הצורך לצלול עמוק כי עד עכשיו חשבתי שהתזה שעשיתי בעיבוד תמונה בהחלט הספיקה.

למען העמדת הדברים בפרופורציה המתאימה,

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

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

רזולוצית תמונה משפיעה על כמות החישובים המתבצעת בפילטור -> יש לה קשר ישיר לכמות הזיכרון הנחוץ

OR2000 אתה צודק. הטקסטורות אכן נטענות על הזיכרון של הכרטיס מסך. כל עוד יש זיכרון זמין... ברגע שעוברים סף מסויים שמוגדר מראש (וכמובן נמוך הרבה יותר מהכמות הכוללת של הזיכרון של הכרטיס מסך) מתבצע Texture Swapping כמו ש nec ציין. ואכן מנסים להמנע מזה בגלל העלות הגבוהה יחסית של מעבר מידע מה VRAM לזיכרון המחשב (זה גם הכללה מה שכתבתי פה - זה הרבה פעמים תלוי מימוש של המנוע הספציפי של המשחק וגם OpenGL ו לא זהות במימוש)

קישור לתוכן
שתף באתרים אחרים

  • תגובות 32
  • נוצר
  • תגובה אחרונה

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

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

שומרת בכל איטרציה את התוצר שלה במנות - בשטח צר יחסית, ומוחקת אותו לאחר שהשלימה את העיבוד וכתבה

את הדרוש בפלט. (למעשה לא מוחקת אותו בפועל, אלא דורסת אותו באיטרציה הבאה על מנת לחסוך בפעולת מחיקה).

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

שמבוצעות באיטרציה בודדת.

בהתאם, נפחי הזכרון הטיפוסיים שנדרשים למשימות אלו הינם עפ"י רוב מאותו "סדר גודל" שמאפיין את ה- framebuffer כאשר

ההבדל/היחס מתבטא לכל היותר במכפלה בסקאלר, ולמעשה כתלות בכמות יחידות העבוד המקבילות שיש במעבד.

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

הכרטיס מסך כל העת, עומדים כיום טיפוסית על מאות מגה בייטים ועד מעל לג'יגה בייט ברגע נתון (באפליקציות מודרניות).

משכך, החלק הארי שנוטל את המעמסה הכבדה ביותר על כרטיסי מסך (להם החל מ- 1024MB זכרון),

הינו לא אחר מאשר הנפח שנצרך ע"י הטקסטורות, ולא הנפח "הזניח" שנדרש ל- framebuffer בודד או השטח הזמני שנדרש

לשמירת חישובי הביינים בעיבוד התמונה.

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

זכרון נצרך - פעולת supersampling לטובת ביצוע anti-aliasing. טכניקה כמותה כיום כבר לא מקובל ליישם מפאת

מחיר כבד מדי על הביצועים.

ביצוע SSAAx16 מעלה את צרכי הזכרון פי 16 ביחס לנדרש ע"י framebuffer בודד, מה שעשוי להכניס גם כרטיסי מסך

מודרניים למגבלה מסויימת באם עובדים ב- triple buffering וברזולוציות גבוהות מאד.

**עוד נקודה שעשויה לדרוש נתח לא מבוטל של , הינה ביצוע חישובי הוקטוריזציה טרם רינדור התמונה, כאשר אלפיקציות מודרניות

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

סיכום:

בזכרון כרטיס המסך נשמר מידע, כאשר יש להפריד אותו ל- level-ים הבאים:

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

אלו שנדרשים להכיל מידע עד לסיום רינדורו של כל הפריים,

ואלו שנדרש לשמור רק לאיטרציה אחת וטרם סיומו של כל הפריים.

משכך, הנפח הכבד ביותר רובץ על הטקסטורות (אלו ב- level שנדרש להחזקה תמידית),

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

ולבסוף אלו שנדרשים לשמירה רק עבור איטרציה אחת וניתן למחוק (יותר נכון לדרוס) אותם בין איטרציה לאיטרציה

וללא תלות בהשלמתו של כל הפריים (מידע בלתי תלוי)

קישור לתוכן
שתף באתרים אחרים

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

אם אצטרך לנחש אז אנחש שלא...

בטכניקת doublebuffering או triplebuffering נשמר מידע של יותר מפריים אחד, אך חשוב לזכור כי לאחר שרונדר פריים

והתוצר נשמר כפלט ב- frambuffer (בטרם הצגתו על המסך), כל נפח המידע שנצרך לצורך עיבודו של הפריים נמחק ולמעשה

מתפנה לחישובו של הפריים הבא.

משכך, במימוש double/tripple buffering המידע שמוחזק יותר מפעם אחת בו זמנית, מתבטא בסך הכל בהכפלת המידע של ה- framebuffer (הפלט הסופי).

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

פעמיים נפח זה = עוד כ- 16MB.

קישור לתוכן
שתף באתרים אחרים

סבבה, זה מה שחשבתי. זה פשוט נתן לי רעיון...

אם ה GPU מזהה FPS נמוך מ 24 (או 30, לא קריטי) הוא יוכל לבצע אקסטרפולציה של מידע מהפריימים בזיכרון כדי להעלות מלאכותית את ה FPS לרמה שתמנע Stuttering. כמובן שזה עלול להציף בעיות נוספות (ghosting למשל) אך גם בזה ניתן "לטפל".

הרעיון מיושם בהצלחה ב codec-ים כמו H264\MPEG4

קישור לתוכן
שתף באתרים אחרים

פותח השרשור, ניסית לעדכן את הדרייבר לגירסא האחרונה (295.73)?

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

nvidia driver has recovered from a serious error

לפעמים גם בתוספת מסך כחול. במשחקים פשוט יופיעו צורות מוזרות. אני מתחיל לחשוב שקיבלתי כרטיס פגום :(

קישור לתוכן
שתף באתרים אחרים

סבבה, זה מה שחשבתי. זה פשוט נתן לי רעיון...

אם ה GPU מזהה FPS נמוך מ 24 (או 30, לא קריטי) הוא יוכל לבצע אקסטרפולציה של מידע מהפריימים בזיכרון כדי להעלות מלאכותית את ה FPS לרמה שתמנע Stuttering. כמובן שזה עלול להציף בעיות נוספות (ghosting למשל) אך גם בזה ניתן "לטפל".

הרעיון מיושם בהצלחה ב codec-ים כמו H264\MPEG4

אכן כך וזו טכניקה מודרנית ידועה שמיושמת בסקיילרים בתחום הוידאו (קולנוע או TV).

לעניין זה בטח מוכר לכולם נושא הטלויזיות המודרניות שיודעות להציג 100hz במקום 50hz, למרות ש- PAL משדר רק 50.

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

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

לעניין זה אזכיר כי אחת הטכניקות המודרניות שדווקא כן משתמשים בהן באפליקציות החדישות כדוגמת BF3, Crysis2,

(ברמת האפליקציה) - זו טכניקה שהושאלה מעולם הקולנוע ומכונה motion blur.

טכניקה זו מאפשרת שיפור משמעותי באיך שחלקות/זרימת האנימציה נתפסת לעינו של הצופה:

היא מאפשרת באמצעות FPS נמוך יחסית (למעשה נמוך כדי רק 24FPS) לתת תחושה של תנועה חלקה.

קישור לתוכן
שתף באתרים אחרים

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

nvidia driver has recovered from a serious error

לפעמים גם בתוספת מסך כחול. במשחקים פשוט יופיעו צורות מוזרות. אני מתחיל לחשוב שקיבלתי כרטיס פגום :(

מוזר שאתה אומר את זה.

בימים האחרונים זה קורה גם לי! בלי מסך כחול אומנם

אבל במשחקים לפעמים יש צורות מוזרות ומריחות צבע.

בדר"כ כשאני ממזער את המשחק וחוזר אליו - זה מסתדר.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.


×
  • צור חדש...