הרצת הTutorials של DirectX 10 SDK August 2007

Abod היחיד

New member
הרצת הTutorials של DirectX 10 SDK August 2007

הורדתי את ה DirectX 10 SDK August 2007 ואני מנסה להפעיל את ה Tutorials וגם את ה Samples והם פועלים במהירות של פריים לשנייה בערך. ב-Samples יש אזהרה בהתחלה שאני משתמש ב Direct3D 10 Refernce Device שעלול לרוץ לאט מאוד. למה זה קורה? מה אני יכול לעשות כדי להריץ בצורה נורמלית? אני עם Windows Vista וכרטיס מסך של NVIDIA עם דרייבר עדכני. מקמפל עם Visual Studio 2005 אבל זה כנראה לא קשור.
 

HackMachine

New member
איזה כרטיס של NVIDIA?

הוא בכלל תומך DX10 בצד החומרה? שים לב שיש הרבה כרטיסים ש"תואמים ויסטה" ורק תומכים בפונקציונליות באמולציה של תוכנה. Reference Device בד"כ אומר שמתבצעת אמולציה.
 

Abod היחיד

New member
אין לי בעיה עם אמולציה, זה כנראה המקרה

זה כרטיס 7900 GS אבל למה פריים בשניה?
 

tapas tapas

New member
כי אמולציה

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

HackMachine

New member
מהאתר של NVIDIA

Support for Microsoft DirectX 9.0 Vertex Shader 3.0 זה לא תומך DX10. פה הבעיה שלך.
 

Abod היחיד

New member
אז מה אני בכל זאת עושה כדי להריץ נורמלי?

זה לא סביר שכל דבר שנכתב בדיירקט איקס 10 לא ירוץ אצלי...
 

HackMachine

New member
קונה כרטיס חדש ../images/Emo13.gif

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

Abod היחיד

New member
אני ממש לא משתמש בפונקציות המתקדמות

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

HackMachine

New member
הממ...

זה באמת קצת מוזר. זה אמור לעבוד בסדר (אולי אפילו עם REFERENCE DEVICE) כמה דברים שאני יכול לחשוב עליהם עכשיו: 1. יכול להיות שזה משהו בדרייבר או בכיוונים של הכרטיס. הייתי ממליץ להסיר את הדרייבר לחלוטין ולהתקין אותו מחדש. משחקים רצים בסדר? 2. יכול להיות שאתה מקמפל עם D3DDEVTYPE_REF ולא D3DDEVTYPE_HAL כמתואר פה http://msdn2.microsoft.com/en-us/library/bb219625.aspx אני אשמח אם תציג את ההודעה המדוייקת שאתה מקבל.
 

Abod היחיד

New member
הנה תמונה. ומשחקים רצים טוב.

התקנתי אתמול את הדרייבר הכי חדש, ומשחקים עובדים טוב. בקוד של הטוטוריאל הוא מנסה קודם ליצור DEVICE מסוג D3DDEVTYPE_HAL וכשהוא נכשל הוא מנסה ומצליח ליצור D3DDEVTYPE_REF. זה אולי קשור לזה שבגרסת August 2007 זה נחשב DirectX 10.1? יעזור אם אני אסיר ואתקין גרסה מוקדמת יותר משנת 2007, או אפילו 2006?
 

HackMachine

New member
הממ..

בקשר לדמו הספציפי שאתה מנסה להריץ. http://msdn2.microsoft.com/en-us/library/bb204910.aspx The CubeMapGS sample demonstrates rendering a cubic texture render target with a single DrawIndexed() call using two new features in Direct3D 10: render target array and geometry shader. כלומר, זה משתמש בפונקציות של DX10 אתה מוזמן לנסות להתקין גירסה ישנה יותר. יש בזה היגיון. אולי הדרייבר שלך עדיין לא תומך בזה (או שיש להם באג).
 

voguemaster

New member
לא חשוב

בד"כ ה-DEMO או ה-SAMPLE הרלוונטי מציג יכולת חדשה שיש ב-DX. לכן, כל ה-SAMPLEים שלך כנראה מנסים להשתמש ביכולות שיהיו רק לכרטיס מסך תומך DX10. זה מסתדר גם מבחינת הקוד - ברגע שאתה מנסה ליצור DEVICE חומרה בכרסא 10 אתה נכשל. אתה יכול ליצור DEVICE שהוא מייצג DEVICE של DX9 אבל לא של 10 (אני מדבר על LPDIRECT3DDEVICE9 אל מול LPDIRECT3DDEVICE10 מן הסתם). הקוד מייצר אותם ע"י קריאה ל-INTERFACE הראשי של D3D. אם הכרטיס שלך לא תומך ב-DX10 אתה תקבל DEVICE תוכנה בלבד.
 

HackMachine

New member
מה שמוזר לי בעסק

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

freak2100

New member
מייקרוסופט האלה כאלה מעצבנים

הם רוצים שתחשוב שהתוכנה שלהם טובה, אז מה הם עושים? מכריחים אותך לקנות חומרה חדשה כדי להפעיל את התוכנה שלהם, ואחרי שאתה קונה את החומרה החדשה - כמובן שזה עובד מהר בזכותם, לא בזכות החומרה החדשה... הם עושים את זה כבר שנים, ואנשים מספיק טיפשים בשביל להאמין. "לא נכון! windows XP יותר מהיר מ2000!" "זה לא הגיוני, יש בו המון אפקטים מיותרים וכל מני שטויות שזוללים זיכרון" "עובדה שהוא עובד יותר מהר!" "אבל גם קנית מחשב חדש" "נכון, אבל זה כי חייבים לקנות מחשב חדש בשביל להריץ XP" "נו, זאת הסיבה שהמחשב שלך עובד יותר מהר!" "לא, זה זה שיש לי XP!"
 

yoniBLA

New member
מה אתה רוצה מהם?

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

freak2100

New member
אך פעם לא פיתחתי לDX, לא על זה

דיברתי... דיברתי על זה שמייקרוסופט מכריחים אותך לקנות מחשב חדש כדי לעבור למערכת הפעלה החדשה שלהם, ואז אומרים לך שהמחשב שלך עובד יותר מהר בגלל מערכת ההפעלה ולא כי קנית מחשב חדש. עכשיו, תכלס, יש בזה משהו, מערכת הפעלה ישנה יותר לא יודעת לנצל את הכח של החומרה החדשה יותר. מצד שני, מערכות ההפעלה החדשות יותר גם מלאות בעוד כל מני אפקטים מרהיבים, מה שאומר שאתה צריך לבחור אם המחשב שלך יהיה איטי יותר כי מערכת ההפעלה לא יודעת לנצל את החומרה, או שיהיה איטי יותר כי מערכת ההפעלה יודעת לנצל את החומרה - ומשתמשת בידע הזה כדי לעשות מופע מרהיב של חלונות מסתובבים ומופיעים בfade. מערכות ההפעלה של מייקרוסופט לא נעשות טובות יותר אלא גרועות יותר, כל מערכת מביאה איתה באגים חדשים ושינויים מעצבנים נוספים. מצד שני, אתה חייב לעבור כדי לנצל את מלוא הכח של החומרה שלך, מה שאומר שאתה גם חייב לשלם למייקרוסופט עוד כסף על מערכת הפעלה חדשה, גם אם כבר קנית את הקודמת ואתה מרוצה ממנה. אני לא יודע... כל הגישה של מייקרוסופט נורא מעצבנת אותי, אני מבין שזאת חברה למטרות רווח והכל, ואני לא אומר שהם צריכים לתת את מערכות ההפעלה שלהם בחינם וכל זה, אבל במידה מסויימת הם מכריחים אותך לקנות דברים שאתה לא רוצה לקנות... אני לא רוצה לעבור לVISTA, למשל. היום בשיעור ראיתי דוגמה חיה לנפלאות הVISTA, כשהמתרגל לא הצליח להפעיל מצגת פשוטה וללמד ממנה. אבל מה? אם אני לא אעבור, אני לא אוכל לשחק במשחקים שפותחו עבור DX10 (ואין בהם תמיכה בגירסאות ישנות יותר). ככה שאני אהיה חייב בסופו של דבר לעבור לVISTA. עד ממש לא מזמן הייתי עם 2000 והייתי די מרוצה... הבעייה הייתה שהם כבר לא הוציאו עידכונים כמעט, רק כל מני עידכוני אבטחה, והמערכת הייתה מלאה בבאגים, BSOD, איטיות ועוד. הרגשתי שדברים מתחילים לתמוך רק בXP, ושאני כבר ממש "ההוא שלא מסכים לעבור לXP", והחלטתי לעבור. עכשיו יש לי XP, אותם דברים שבגללם לא עברתי משגעים אותי עכשיו (למה, למה אני חייב לאשר כל EXE שני מפעיל?! די עם זה!!! זה לא עוזר לי, אני משתמש מתקדם, תנו לי להחליט מה טוב בשבילי!!!!! וIE, תהיה דפדפן, לא גיבור, אני לא צריך אותך כמגן אנושי שחוסם לי את ההורדות כל פעם שאני לוחץ על Download now), לפחות את כל הבאגים שהיו פעם הם תיקנו פחות או יותר... לא יודע, כל מערכות ההפעלה של מייקרוסופט סובלות מ.... היותן גרועות. זאת הגישה המייקרוסופטית - בואו נשקיע את כל הכסף בפיתוח של מערכת הפעלה יפה ונוצצת, והמון המון הייפ. במה שיישאר בסוף נוסיף תמיכה באיזה פיצ'ר חיוני, כדי שיהיו חייבים לעבור. אף פעם לא ניסיתי מערכות הפעלה אחרות, אני משוכנע שהן הרבה יותר טובות, הבעייה היא שכמעט הכל היום מפותח למערכות של מייקרוסופט, בעיקר בתחום המשחקים... אני לא יודע אם יש איזה גירסה של linux שמסוגלת להפעיל דברים של windows (אם לא - חייבים לעשות אחת
לכאורה זה לא נורא מסובך... צריך רק לדעת לפרש את האסמבלי כמו שwin מפרשת אותו... אבל מערכות הפעלה אני לומד בסמסטר הבא, אני בטוח שזה הרבה הרבה הרבה יותר מסובך מזה
), כשאני אקנה מחשב חדש אני מתכוון להתקין עליו linux כמערכת הפעלה ראשית וwin כמערכת הפעלה למקרים שבהם לא תהיה לי ברירה אחרת, בינתיים אני עובד על windows. לפחות אני לא צריך לשלם על מוצרים של מייקרוסופט (עוד אחד משיטות השיווק של מייקרוסופט - "בואו ניתן לסטודנטים למדעי המחשב תוכנות שלנו בחינם, שיתרגלו לפתח בסביבת העבודה שלנו, בסך הכל הם המתכנתים של העתיד..." - נו, טוב, בינתיים אני מרוויח מזה (ובכל מקרה אני חושב שזה לגיטימי), לא מתלונן
).
 
למעלה