Results 1 to 25 of 31
Thread: 10-40% R3xx/R4xx 3
Hybrid View
-
10th August 2004 15:56 #1Registered User
Join Date: Jul:2001
Location:
Posts: 10,936
10-40% R3xx/R4xx 3
How to boost your Doom3 performance by 10-40% on ATI hardware
http://www.beyond3d.com/forum/viewto...874&highlight=
- - , - - .Quick guide for those who don't want to read the full thread.
Download this file:
http://esprit.campus.luth.se/~humus/...manceTweak.rar
Extract so that the shader file goes under doom3\base\glprogs. This replaces a dependent texture read with equivalent math, which runs better on ATI cards, but seems to run slower on NV boards, so only apply this if you got an ATI card.
------------------------------------------------------------------------------------
I picked up Doom3 today and let be begin by saying it's a kickass game so far. A few minuses like weapon reload (which I find add nothing to a game, except annoyance, so I don't know why many devs keep adding it to their games), but overall much above my expectations.
Anyway, to the fun part, exploring the technology.
I think I've found the source of why this game runs comparably slow on ATI hardware vs. nVidia at the moment, and found a solution to the problem.
First, open your doom3\base folder. Doubleclick on the pak000.pk4 file. In the "window can't open this file .. .bla bla" dialog, go on and associate the file with an app like WinRar. With this file open in WinRar, go to the glprogs directory in the file. In there you'll find the shaders. The interaction.vfp file seems to be the main rendering shader. Altering this shader to output a constant color turns most objects into that constant color, except for stuff like computer screens etc.
So doubleclick the interaction.vfp file to open it (you may have to associate the .vfp extension with a text editor like notepad or wordpad first since we're going to edit the file). Scroll down to the fragment shader. You'll find these rows:
Code:
PARAM subOne = { -1, -1, -1, -1 };
PARAM scaleTwo = { 2, 2, 2, 2 };
Add this right below them:
Code:
PARAM specExp = { 16, 0, 0, 0 };
Now scroll down to this:
Code:
# perform a dependent table read for the specular falloff
TEX R1, specular, texture[6], 2D;
Comment out that line by adding a "#" to it, and add another line that will do the same thing with math instead, so it should look like this:
Code:
# perform a dependent table read for the specular falloff
# TEX R1, specular, texture[6], 2D;
POW R1, specular.x, specExp.x;
Save the file and close your text editor. WinRar will ask if you want to update the file in the archive, select yes. Close WinRar and enjoy about 40% higher performance in Doom3. Haven't done extensive testing yet, but my performance went from 34fps in 1280x1024 to 48fps.
Conclusion and discussion:
I don't want to complain about Carmack's work, I still consider him to be the industry leader in graphics engines. Though when I read the shader it striked me how many texture accesses it did compared to the relatively short shader, even for stuff that could just as well be done with math for a small cost in instructions. Using a dependent texture lookup for POW evaluation makes a lot of sense for R200 level hardware due to instruction set limits, but for R300 and up it's much better to just spend the three cycles it takes to evaluate POW with math instead of risking texture cache trashing with a dependent texture read, which may be much more costly, especially since the access pattern in this case will be far from linear. Also, using math improves the quality too, even though it may not be very noticable in this game.
I should point out though that I'm not sure if the constant specular factor 16 that I chose is the one that the game uses, so output may be slightly different, but if this solution will be worked into the game in a future patch, then this is easily configurable by the game so that there won't be a difference, except a lot faster.
An interesting follow-up discussion may be why this dependent texture lookup is much slower on our hardware than on nVidia. Maybe there's an architectural difference that's to blame, or maybe something else? The main point here though is that this should be good enough proof that ATI hardware can run Doom3 just as good if not better than nVidia, and that we can pass on all the "ATI suck in OpenGL", "ATI's drivers suck" etc. into the trashcan where it belongs.
_________________
Visit my site
I speak for myself and not for my employer. Contact PR department for official statements.
Last edited by Humus on Mon Aug 09, 2004 2:55 pm; edited 2 times in total
-
10th August 2004 16:04 #2Registered User
Join Date: Jul:2001
Location:
Posts: 10,936
31 ... , - ,
-
10th August 2004 16:12 #3
:)
, Ati - GF?
Gigabyte X570 AORUS Ultra | 5950X | Arctic Liquid Freezer II 240 | Corsair Vengeance LPX 2x8GB 3200Mhz | Samsung 980 Pro 1TB + Samsung 970 Pro 1TB | Gigabyte AORUS GeForce RTX 3080 Ti Master 12GB | Fractal Design Meshify C Dark TG | Corsair AX860i | Samsung U32H850 32" 4K
-
10th August 2004 16:40 #4Registered User
Join Date: Jul:2001
Location:
Posts: 10,936
500
, 600 - .
-
10th August 2004 17:31 #5
... ... ... ' nV...
* Last Words: Modding... clocking?! Never!... This is bullshit! ... well... maybe only this time... just a little...
* , ... , .
-
10th August 2004 17:54 #6
, timedemo-... Update- pak4 . R360 .
the things you own end up wning you.
-
10th August 2004 18:13 #7
-
10th August 2004 20:17 #8Banned
Join Date: Dec:2001
Location: Sofia
Posts: 2,578
, gf4mx440 64bit, 256ddr
-
10th August 2004 20:26 #9
1.5fps timedemo-
. 9800 Omega 4.7 . high quality , AF application reference .
i3-12100f@5.1Ghz, G. Skill PC4133 B-die, EVGA GTX 1080ti FTW3 Elite
-
11th August 2004 19:14 #10
-
12th August 2004 01:55 #11
2fps , 10fps (ted) AA AF ? high quality AF , 2 fps .
i3-12100f@5.1Ghz, G. Skill PC4133 B-die, EVGA GTX 1080ti FTW3 Elite
-
12th August 2004 03:19 #12
@chavv - ! Humus.
6-8fps!
Radeon 9500@9700Pro (360/580) + Omega 2558 Catalyst 4.7 + atioglxx.dll Catalyst 4.9
timedemo1
1024768 High Quality , .
4AA - 8AF = 25FPS
2AA - 8AF = 34.3FPS
NoAA - NoAF = 42FPS
-
12th August 2004 10:25 #13Registered User
Join Date: Jul:2001
Location:
Posts: 10,936
-
12th August 2004 11:35 #14!i3-12100f@5.1Ghz, G. Skill PC4133 B-die, EVGA GTX 1080ti FTW3 Elite
-
12th August 2004 11:44 #15
nV- , ' ATI... "" ...
* Last Words: Modding... clocking?! Never!... This is bullshit! ... well... maybe only this time... just a little...
* , ... , .
-
12th August 2004 15:55 #16, NVOriginally posted by mitku
nV- , ' ATI... "" ...
.
i3-12100f@5.1Ghz, G. Skill PC4133 B-die, EVGA GTX 1080ti FTW3 Elite
-
13th August 2004 01:00 #17X800

" " -
1024x768, High details Balanced 52fps.
-
13th August 2004 01:04 #18
A, (
), , AF 2-3fps.
EDIT:
, , .
EDIT 2:
?the things you own end up wning you.
-
13th August 2004 16:01 #19
, ..........\Doom3\base. glprogs.
.....\doom3\base\pak000.pk4. interaction.vfp Notepad, -. Save Notepad-. "", , . Yes, (pak000.pk4) "" !
-
13th August 2004 16:19 #20
, , ...
the things you own end up wning you.
-
13th August 2004 18:59 #21
. 10-12fps-a
-
13th August 2004 20:36 #22
3-4-5 fps ...
Z97X Fatal1ty Killer | 4790K @4.6GHz | 16GB Crucial | EVGA 1070 | Crucial M550 256GB + 2TB TOSHIBA + 1TB WD Black | CM HAF X | LG 27UK650-W
ThinkPad X200 Tablet C2D SL9400 | 8GB | 60GB Crucial M4 | WXGA
ThinkPad T480s i7-8650U | 16GB | 512GB WD SN720 | WQHD
-
13th August 2004 22:10 #23
-
16th August 2004 10:36 #24
10-15 Radeon 8500 .. 800600 medium
Powered by 220V - i5 8400 , EVGA 1060OC ,16GB ram ,Samsung 256GB nvme ,Dell U2413
-
17th August 2004 18:41 #25
8500?
9100? ...~~~~ My the force be with you ~~~~DFI LP UT P45-T2RS, E8400 E0, Xigmatek S1284, Corsair TWIN2X4096-8500C5D 4x2GB, Sapphire HD 5870 1GB Vapor-X, CHIEFTEC 650W,HP LP2275W, CM CENTURION 534+




Reply With Quote
, ...
05.05.23 ., 14:20 in