דיון מרוכז- קריעת תמונה, V-Sync ונפילות FPS - עמוד 12 - כרטיסי מסך - HWzone פורומים
עבור לתוכן
  • צור חשבון

דיון מרוכז- קריעת תמונה, V-Sync ונפילות FPS


SyndromE

Recommended Posts

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

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

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

אה

עכשיו אני מבין מה disable one frame thread lag באנריל 3

אם מפעילים זה נותן פחות לאג אם לא אז יותר פריימים

דרך אגב אתם יודעים אולי למה באנריל 3 יש כל כך הרבה mouse lag?

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

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

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

אבל עדיין TB+vsync נותן לאג די מורגש, שאפשר לצמצם עם הורדת ערך ה-render ahead, ל.. נאמר "2"

אבל כנראה שיכול גם לשפר לאג במקרים מסויימים. מתוך ויקיפדיה:

if the system is interactive (for example, a simulator or a video game), and using triple buffering as a fixed order reservoir, triple buffering increases the average delay between the input controls being read and visual feedback being presented to the user. In the other case where frames can be dropped without being displayed, triple buffering can actually lower response time by including input data which wasn't available when the previous dropped frames were rendered.

http://en.wikipedia.org/wiki/Triple_buffering

אז בנוגע למשפט - where frames can be dropped without being displayed, לאיזה מצב הם מתכוונים בדיוק ?

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

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

כש TB+vsync מופעל כרטיס המסך ירנדר עד שתי קדימה, ותמונה על המסך תתחלף רק בתיאום עם הריפרש רייט. אם הוא סיים לרנדר שתי ועדיין המסך לא סיים להציג תמונה- הוא יפיל את התמונה הישנה יותר וירנדר חדשה, וכך למעשה יוריד את הלאג (לא תראה את התמונה הישנה הלא מעודכנת, שהרי עברו בערך 1/60 שניה מאז שהיא נוצרה).

אם רנדר אהד מופעל (נניח על 3) עם Vsync כרטיס המסך ירנדר עד 3 קדימה- אבל הוא לא יוכל להפיל את הישנות! ככה אתה עשוי לראות תמונה בת 1/60-2/60 שניות. אם הוא סיים לרנדר 3 תמונות, והתמונה על המסך עוד לא התחלפה, במקום לעדכן את התמונות הישנות הוא פשוט יחכה למסך- ככה גם תקבל ירידה מסוימת בביצועים (כרטיס המסך מחכה למסך) וגם לאג.

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

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

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

כן לדעתי הוא מתכוון ל- pre render/queue size limit (או בדריבר של נקרא maximum pre-rendered frames)

מהנסיון שלי TB ו-prerender limit הולכים יחד. ז"א, אם TB פועל, עדיין ערך ה-prerender limit משפיע על ה-delay של ה-input.

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

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

המינוח מבלבל. מה שצריך לדעת זה האם אפשר להפיל מהבאפר. אם אתה אומר שpre render/queue size limit משפיע על הלאג, אז כרטיס המסך לא יכול להפיל ישנות, מסקנה- לא פועל TB.

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

אבל זהו שזה לא מסתדר לי כי נתקלתי במצבים בהם אילוץ ה-TB מאפשר ל-FPS לנוע בחפשיות בשילוב vsync (בניגוד ל-DB),

וההגדרה של prerender limit עדיין השפיעה על הלאג במקרה הזה. זה אומר ששניהם פועלים. :nixweiss:

אני צריך לבצע עוד כמה בדיקות מעמיקות ליתר ביטחון ... אני לא רוצה להטעות אף אחד, בכל זאת...

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

אני חושב שאתה עדיין לא סגור על ההבדל בין TB ל(RA (render ahead. הם אותו דבר! ההבדל היחיד שב TB אפשר להפיל פריימים ישנים, ב RA לא. אין דבר כזה שניהם פועלים- או שאפשר להפיל פריימים או שלא.

ברגע שהפעלת Vsync כל מדידת פריימים תהיה חסרת ערך. לא ברור לי למה אתה מתכוון ב FPS שנע בחופשיות

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

אנחנו מדברים על זה שלפעמים יש עומס בתמונה והFPS נופל מ60 והVSYNC הופך את זה ל30, 25, 20 וכו'

וכשאנחנו מפעילים את הTB בd3doverrider זה הופך את זה לפחות פגיע כמו 50\59 FPS

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

בכל מקרה חוץ ממני ומסינדרום יש עוד מלא אנשים כמונו בפורומים שונים בחו"ל שהעידו שהם שמו את הערך של הrender ahead איך שאתה לא קורה לזה על 2 הם קיבלו פחות לאג מהשילוב של TB ו VSYNC

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

ארכיון

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


×
  • צור חדש...