בעיות עם טיימר...
שלום לכולם! נוצרה לי בעיה עם ה FPS. כדי לשמור על קצב קבוע של הרצת המשחק, סידרתי שהלולאה תיהיה בעצם טיימר שמתקתק פעם ב 16 מיליסקנד, מה שאמור לתת לי תוצאה של 62 תיקתוקים בשניה. (62 FPS) לאחר מספר נסיונות גיליתי שהמשחק לא רץ בקצב אחיד. אז הוספתי טיימר נוסף שמתקתק כל 1000 מיליסקנד, שהתפקיד שלו זה למדוד כמה FPS [באמת] יש לי בכל שניה נתונה של משחק. ואכן גיליתי שקצב התיקתוקים (FPS) משתנה ביחס לכמות הפקודות שהתוכנית צריכה לבצע בכל תיקתוק. שאלה 1: האם טיימר (של Visual Studio) לא אמור ליהיות מדוייק?! כלומר מסונכרן עם השעון של המחשב ולא תלוי בכמות הפעולות שהוא צריך לבצע כל תיקתוק? אח"כ ניסיתי לפתור את הבעיה ע"י שינוי הINTERVAL (קצב) של הטיימר ביחס לכמות הפריימים האמיתיים שהוא נותן. הבעיה היא שהINTERVAL באמת השתנה, אך למראית עין בלבד. בפועל הוא נשאר זהה למה שהיה בתחילת התוכנית. שאלה 2: איך אני משנה INTERVAL של טיימר (ככה שהוא באמת ישתנה ולא רק ויזואלית)? שאלה 3: למישהו יש רעיון טוב יותר לפיתרון? חשבתי אולי לנסות לעבוד ישירות עם השעון של המחשב (שכחתי את השם שלו). שאלה 4: איך אתם בד"כ עובדים עם FPS ?
שלום לכולם! נוצרה לי בעיה עם ה FPS. כדי לשמור על קצב קבוע של הרצת המשחק, סידרתי שהלולאה תיהיה בעצם טיימר שמתקתק פעם ב 16 מיליסקנד, מה שאמור לתת לי תוצאה של 62 תיקתוקים בשניה. (62 FPS) לאחר מספר נסיונות גיליתי שהמשחק לא רץ בקצב אחיד. אז הוספתי טיימר נוסף שמתקתק כל 1000 מיליסקנד, שהתפקיד שלו זה למדוד כמה FPS [באמת] יש לי בכל שניה נתונה של משחק. ואכן גיליתי שקצב התיקתוקים (FPS) משתנה ביחס לכמות הפקודות שהתוכנית צריכה לבצע בכל תיקתוק. שאלה 1: האם טיימר (של Visual Studio) לא אמור ליהיות מדוייק?! כלומר מסונכרן עם השעון של המחשב ולא תלוי בכמות הפעולות שהוא צריך לבצע כל תיקתוק? אח"כ ניסיתי לפתור את הבעיה ע"י שינוי הINTERVAL (קצב) של הטיימר ביחס לכמות הפריימים האמיתיים שהוא נותן. הבעיה היא שהINTERVAL באמת השתנה, אך למראית עין בלבד. בפועל הוא נשאר זהה למה שהיה בתחילת התוכנית. שאלה 2: איך אני משנה INTERVAL של טיימר (ככה שהוא באמת ישתנה ולא רק ויזואלית)? שאלה 3: למישהו יש רעיון טוב יותר לפיתרון? חשבתי אולי לנסות לעבוד ישירות עם השעון של המחשב (שכחתי את השם שלו). שאלה 4: איך אתם בד"כ עובדים עם FPS ?