FXAA Injector לכולם ! - כרטיסי מסך - HWzone פורומים
עבור לתוכן
  • צור חשבון

FXAA Injector לכולם !


SyndromE

Recommended Posts

מי שלא מכיר, FXAA היא שיטת Antialiasing חדשה של nVidia, מבוססת post-processing, היא המקבילה ל-MLAA של AMD,

כאשר בגדול הייתרונות על MLAA הן איכות עדיפה, ביצועים עדיפים וללא הגבלת חומרה (רץ גם עם AMD וגם עם NVIDIA).

אל מול MSAA רובינו כבר יודעים שישנן חסרונות ויתרונות.

אבל לצורך העניין, כשאני מפעיל FXAA זה עולה לי בכ-1FPS. ז"א לא פוגע בביצועים באופן מורגש.

השוואה בין FXAA ל-MLAA

http://www.hardocp.com/article/2011/07/18/nvidias_new_fxaa_antialiasing_technology/4

האפשרות להכריח FXAA היא נסיונית וחבוייה בדריבר של nVidia (ניתן לפתוח אותה עם registry tweak או להשתמש דרך NV Inspector),

אך כרגע האפשרות פועלת עם OpenGL בלבד. הרבה אנשים ממתינים שאנוידיה יוסיפו את הפיצ'ר המוגמר בדריבר חדש.

מפתחים כבר התחילו להטמיע את הטכנולוגיה במשחקי PC, אם זה FEAR3, DNF ו-Battlefield 3 שעוד לא יצא.

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

לכבוד זה אני פותח את האשכול. נתקלתי בכלי שמשהו פיתח, אשר מאפשר להפעיל FXAA על כל (או כמעט כל) משחק

אם הוא מבוסס DX9 / DX10 / DX11. לא משנה עם איזה כרטיס מסך.

(שימו לב: לא מומלץ להפעיל עם הגנות משחקי רשת VAC / Punkbuster וכו', מאחר ועלולים לזהות את הדבר כ-hack. על אחריותכם בלבד)

ההורדה כוללת 2 ספריות, אחד ל-DX9 והשנייה ל-DX10/11. אופן ההפעלה הוא העתקת הקבצים מהספרייה המתאימה

(תלוי אם המשחק עובד ב-DX9 או DX10/11) אל תוך ספריית המשחק, ולאחר הפעלת המשחק ניתן להפעיל\לכבות FXAA עם

כפתור INS במקלדת. DEL לוקח screenshot.

כרגע גרסאת הכלי \ injector היא beta8, והיא מבוססת על FXAA גרסא 3.11 אחרונה (FXAA מתעדכן בחריצות).

ניתן להפעיל FXAA בנוסף ל-MSAA ו\או Downsampling. אבל לא תמיד תהיה תאימות טובה עם MSAA, והתאימות בכלליות לא מובטחת לכל משחק.

אבל ישנן המון הוכחות להצלחות של משתמשים במגוון משחקים.

הורדה:

http://www.mediafire.com/?72acza7f3d2wwar

ציטוט קובץ ה-readme.txt

beta version 8! directx 9, directx 10, directx 11, x86 binaries only! may be incompatible with any other form of antialiasing! can be combined with downsampling!

Install:

If the game uses DirectX 9, put all files from the d3d9 directory into the directory containing the game executable.

If the game uses DirectX 10/11, put all files from the d3d10 directory into the directory containing the game executable.

Uninstall: Remove the files.

Notes:

Do not mix d3d9 and d3d10 the files.

Install the latest DirectX runtime.

A "log.log" file is created to log behaviour/ bugs.

If the "log.log" file is not created then you use the wrong "*.dll" or you put it into the wrong directory.

If the "log.log" is created but the game crashes or FXAA is disabled, look where the "log.log" is created. Usually the shader files go into that particular directory.

Try to put the files into different directories before saying it doesn't work.

In some games (e.g. Portal 1 or Halo 1) refuse to accept the alpha channel. A general workaround (lower quality) for those is to add the following line at the beginning of shader.fx :

#define FXAA_GREEN_AS_LUMA 1

There is a way to experiment with sharpening. I added an example. To activate additional sharpening filter change edit the line "//Replace this line with #include "Sharpen.h" to add a sharpening pass" in shader.fx.

Note that right now sharpening is only an example that it can be done. I more-or-less copypasted a random sharpen filter to show how my mod can be modded.

Keys:

Insert : Enable/Disable FXAA

Del : Screenshot

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

למשל אני משתמש ב-downsampling מרזולוציות מטורפות, ואז מוסיף FXAA כדי לא להכביד יותר מדי עם MSAA.

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

דיונים בנושא:

http://forums.guru3d.com/showthread.php?t=348097

http://www.forum-3dcenter.org/vbulletin/showthread.php?t=510658

הבלוג של Timothy Lottes מ-nvidia, המפתח של FXAA

http://timothylottes.blogspot.com/2011/03/nvidia-fxaa.html

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

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

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

MSAA מסתמך על נתוני המימדים של אובייקטים תלת מימדיים ומשנן חיתוכים מהקצבות שלהם בלבד.

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

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

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

MSAA מתעלם, למשל טקסטורות עם שקיפות ו-jaggies על צללים, אפקטים וכו'.

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

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

ישנן כמובן שיטות AA נוספות כמו SGSSAA או transparency SSAA וכו', שמטפלות בחסרונות של MSAA אבל צורכות המון משאבי GPU ו-VRAM.

ספציפית GTA IV ראיתי שמרוויח מ-FXAA מאחר ואין אופציה אחרת ל-AA במשחק. FXAA לא צורך הרבה משאבים, אז גם לא צריכה

להיות בעית ביצועים יותר ממה שיש כרגע. בכלל ה"בעיה" העיקרית עם הביצועים ב GTA היא שהוא כבד במיוחד על ה-CPU ולא על ה-GPU.


beta 9 שוחרר:

[some dude]

First of all, thanks Blaire for fiding the "Arcania" bug and linking to the demo. Took me some time to fix it (started the download after your first post). There is a slight chance that GTA4 is affected again (always those *overtuned* engines).

I also improved d3d10 stability a little (may fix game crashes). I hope to be able to inject FXAA into all games which do not show "pDevice->CreateDeferredContext failed" behaviour in the logfile.

Additionally for those games which require you to put shader files into different directories - now they don't crash but just refuse to start and write more information to the logfile (e.g. in Crysis I get "try to use "D:\Games\Crytek\Crysis SP Demo" for shader files" when I misplace the shader files).

For those of you who write own shaders, if you write incorrect shadercode the logfile should tell you exactly what is wrong.

Hotkeys are now PAUSE and PRINT SCREEN.

הורדה:

http://www.mediafire.com/?uju6dgkrwdy1dq4

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

^אני לא הולך להיכנס לוויכוח של MSAA vs FXAA (גילו נאות: לא אכפת לי, ואני חושב ששתי השיטות מציעות יחס נהדר של 'איכות תמונה לעומת פגיעה בביצועים'), אך השאלה שלי אליך SyndromE היא עד כמה טוב ה-Injector הנוכחי עובד - האם בדומה לאילוץ AA דרך דרייבר גם כאן ישנה אפשרות "לזכות" בארטיפקטים וקריסות למיניהן, או שבמקרה הכי גרוע לא נראה שיפור באיכות התמונה וזהו?

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

לרוב ה-injector עובד די טוב. אבל לדוגמא לא הצלחתי להפעיל אותו ב-BFBC2 ב-DX11 (עובד לי ב-DX9/10).

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

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

בנוסף, יכולות להיות התנגשויות עם תוכנות כמו d3doverrider או OSD למיניהן.

לגבי האיכות, שמתי לב שהאפקט מחמיא יותר בתמונות stills מאשר בתנועה. אני חושב ששילוב שלו עם MSAA נמוך יחסית,

יתן תוצאה יפה ויעילה יותר מאשר MSAA בהגדרה גבוהה יותר.

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

  • 4 שבועות מאוחר יותר...

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

אילו נתמכים כרגע:

/*------------------------------------------------------------------------------

SHADER SELECTION

------------------------------------------------------------------------------*/

// To disable / enable effects

// 0 = Disable | 1 = Enable

#define USE_ANTI_ALIASING 1

#define USE_PRE_SHARPEN 1

// HDR NOT COMPLETED!!!

#define USE_HDR 0

#define USE_BLOOM 1

#define USE_TECHNICOLOR 1

#define USE_TONEMAP 1

#define USE_SEPIA 1

#define USE_VIGNETTE 0

// For use with Anaglyphic 3D glasses!!!

#define USE_ANAGLYPH 0

#define USE_POST_SHARPEN 1

#define USE_FINAL_LIMITER 0

בנוסף, קובץ ההגדרה "injFX_Settings.h" ^ הרבה יותר מובן\נוח\ידידותי למשתמש.

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

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

http://www.assembla.com/spaces/fxaa-pp-inject/documents

אגב Deus EX משתמש ב-FXAA גרסא 1.0 ז"א עדיף להשתמש ב-injector שמבוסס על גרסא 3.11. כך גם אפשר לשלב עם סוג AA אחר מתפריט המשחק.

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

ארכיון

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

×
  • צור חדש...