On DOOM 3 Settings

Robert Duffy, id Software programmer, updated his .plan about DOOM 3 settings and how they will work, discussing specifics about the "ultra" quality setting as well as differences in how certain data are handled differently by ATI and NVIDIA hardware. He also mentions that the game is capped at 60 FPS (except when running demos as a benchmark), discusses the software used during development, as well as a bit on a hard drive nightmare encountered along the way. Here's a bit:
Image fidelity is dependent on what quality level we load the textures at.

In Ultra quality, we load each texture; diffuse, specular, normal map at full resolution with no compression. In a typical DOOM 3 level, this can hover around a whopping 500MB of texture data. This will run on current hardware but obviously we cannot fit 500MB of texture data onto a 256MB card and the amount of texture data referenced in a give scene per frame ( 60 times a second ) can easily be 50MB+. This can cause some choppiness as a lot of memory bandwidth is being consumed. It does however look fantastic :-) and it is certainly playable on high end systems but due to the hitching that can occur we chose to require a 512MB Video card before setting this automatically.

High quality uses compression ( DXT1,3,5 ) for specular and diffuse and no compression for normal maps. This looks very very close to Ultra quality but the compression does cause some loss. This is the quality that for instance the PC Gamer review was played in.

Medium quality uses compression for specular, diffuse, and normal maps. This still looks really really good but compressing the normal maps can produce a few artifacts especially on hard angled or round edges. This level gets us comfortably onto 128MB video cards.

Low quality does everything medium quality does but it also downsizes textures over 512x512 and we downsize specular maps to 64x64 in this mode as well. This fits us onto a 64MB video card.
View : : :
107.
 
Regarding video memory.
Jul 27, 2004, 02:09
Regarding video memory. Jul 27, 2004, 02:09
Jul 27, 2004, 02:09
 
To clear things up for anyone still confused as to why you would want 512MB of RAM on your video card:

The AGP (and even PCI-E) bus is only so fast. If you don't have all the textures in video memory you need to render a scene you have to wait for it to be loaded from RAM over the BUS. If you have two textures that are constantly being exchanged for one another and say they're 512x512x32bit == 1mb each. Each one needs to be copied out of memory (at least) once per frame. at 60 fps that's 60mb/sec per texture. Usually it'll be more than just one or two textures, frequently it's 5 or 6.
AGP bus is 32bits wide and runs at 66mhz and (assuming 8X AGP) has 8 transfer per clock. So that's 2.112gb/sec (I might be wrong on some of the numbers for current hardware, but that's ballpark).

So let's say you have to displace 10 512x512x32 textures each frame and you're running (or trying to) at 60 fps. That's 1mb/sec x 10 (10mb/sec) * 60 fps for 600mb/sec. But you still need to render those textures too and there's no guarantee of what order you'll need them (sort of) so they need to be loaded back in to the video memory for that frame too. So we're up to 1.2gb/sec transfer over the bus JUST to swap out a handful of textures. We have to transfer model data and level architecture as well. Keep in mind that while the transfer is taking place the video card might not be able to do anything, depending on how the rendering algorithm is written (you probably could do some sort of look-ahead code to see what you'll need and displace something that's already been used and won't be used again this frame to keep the GPU from idling out). So you see, if you don't have to swap it out from RAM it saves you a hell of a lot of bandwidth for other things.

If you don't have enough system RAM to cache the textures the game needs to copy to the video card you'll take a *massive* hit when reading the texture from the disk.

If you ever have any chunkiness in a game at the start of a level or when you enter a new area, likely the game just had to grab something from the disk that had either been displaced from memory or had not been cached in the first place.

Date
Subject
Author
1.
Jul 26, 2004Jul 26 2004
3.
Jul 26, 2004Jul 26 2004
8.
Jul 26, 2004Jul 26 2004
11.
Jul 26, 2004Jul 26 2004
22.
Jul 26, 2004Jul 26 2004
25.
Jul 26, 2004Jul 26 2004
2.
Jul 26, 2004Jul 26 2004
4.
Jul 26, 2004Jul 26 2004
5.
Jul 26, 2004Jul 26 2004
17.
Jul 26, 2004Jul 26 2004
18.
Jul 26, 2004Jul 26 2004
6.
Jul 26, 2004Jul 26 2004
7.
Jul 26, 2004Jul 26 2004
   . . . .
9.
Jul 26, 2004Jul 26 2004
13.
Jul 26, 2004Jul 26 2004
15.
Jul 26, 2004Jul 26 2004
14.
Jul 26, 2004Jul 26 2004
28.
Jul 26, 2004Jul 26 2004
41.
Jul 26, 2004Jul 26 2004
10.
Jul 26, 2004Jul 26 2004
105.
Jul 27, 2004Jul 27 2004
12.
Jul 26, 2004Jul 26 2004
30.
Jul 26, 2004Jul 26 2004
42.
Jul 26, 2004Jul 26 2004
43.
Jul 26, 2004Jul 26 2004
48.
Jul 26, 2004Jul 26 2004
45.
Jul 26, 2004Jul 26 2004
49.
Jul 26, 2004Jul 26 2004
16.
Jul 26, 2004Jul 26 2004
21.
Jul 26, 2004Jul 26 2004
53.
Jul 26, 2004Jul 26 2004
19.
Jul 26, 2004Jul 26 2004
20.
Jul 26, 2004Jul 26 2004
23.
Jul 26, 2004Jul 26 2004
38.
Jul 26, 2004Jul 26 2004
40.
Jul 26, 2004Jul 26 2004
24.
Jul 26, 2004Jul 26 2004
26.
Jul 26, 2004Jul 26 2004
27.
Jul 26, 2004Jul 26 2004
29.
Jul 26, 2004Jul 26 2004
32.
Jul 26, 2004Jul 26 2004
34.
Jul 26, 2004Jul 26 2004
36.
Jul 26, 2004Jul 26 2004
35.
Jul 26, 2004Jul 26 2004
62.
Jul 26, 2004Jul 26 2004
64.
Jul 26, 2004Jul 26 2004
67.
Jul 26, 2004Jul 26 2004
68.
Jul 26, 2004Jul 26 2004
75.
Jul 26, 2004Jul 26 2004
111.
Jul 27, 2004Jul 27 2004
112.
Jul 27, 2004Jul 27 2004
     On anticipation
115.
Jul 27, 2004Jul 27 2004
66.
Jul 26, 2004Jul 26 2004
39.
Jul 26, 2004Jul 26 2004
63.
Jul 26, 2004Jul 26 2004
31.
Jul 26, 2004Jul 26 2004
33.
Jul 26, 2004Jul 26 2004
60.
Jul 26, 2004Jul 26 2004
37.
Jul 26, 2004Jul 26 2004
46.
Jul 26, 2004Jul 26 2004
47.
Jul 26, 2004Jul 26 2004
51.
Jul 26, 2004Jul 26 2004
52.
Jul 26, 2004Jul 26 2004
58.
Jul 26, 2004Jul 26 2004
59.
Jul 26, 2004Jul 26 2004
55.
Jul 26, 2004Jul 26 2004
65.
Jul 26, 2004Jul 26 2004
54.
Jul 26, 2004Jul 26 2004
56.
Jul 26, 2004Jul 26 2004
57.
Jul 26, 2004Jul 26 2004
61.
Jul 26, 2004Jul 26 2004
83.
Jul 26, 2004Jul 26 2004
69.
Jul 26, 2004Jul 26 2004
70.
Jul 26, 2004Jul 26 2004
72.
Jul 26, 2004Jul 26 2004
71.
Jul 26, 2004Jul 26 2004
73.
Jul 26, 2004Jul 26 2004
87.
Jul 26, 2004Jul 26 2004
88.
Jul 26, 2004Jul 26 2004
89.
Jul 26, 2004Jul 26 2004
74.
Jul 26, 2004Jul 26 2004
76.
Jul 26, 2004Jul 26 2004
77.
Jul 26, 2004Jul 26 2004
81.
Jul 26, 2004Jul 26 2004
82.
Jul 26, 2004Jul 26 2004
86.
Jul 26, 2004Jul 26 2004
78.
Jul 26, 2004Jul 26 2004
79.
Jul 26, 2004Jul 26 2004
80.
Jul 26, 2004Jul 26 2004
84.
Jul 26, 2004Jul 26 2004
85.
Jul 26, 2004Jul 26 2004
93.
Jul 26, 2004Jul 26 2004
91.
Jul 26, 2004Jul 26 2004
92.
Jul 26, 2004Jul 26 2004
94.
Jul 26, 2004Jul 26 2004
95.
Jul 26, 2004Jul 26 2004
96.
Jul 27, 2004Jul 27 2004
97.
Jul 27, 2004Jul 27 2004
98.
Jul 27, 2004Jul 27 2004
99.
Jul 27, 2004Jul 27 2004
103.
Jul 27, 2004Jul 27 2004
104.
Jul 27, 2004Jul 27 2004
117.
Jul 27, 2004Jul 27 2004
121.
Jul 27, 2004Jul 27 2004
122.
Jul 27, 2004Jul 27 2004
123.
Jul 27, 2004Jul 27 2004
124.
Jul 27, 2004Jul 27 2004
126.
Jul 27, 2004Jul 27 2004
   WaltC
129.
Jul 27, 2004Jul 27 2004
    Re: WaltC
130.
Jul 27, 2004Jul 27 2004
     RE:Ghandi
149.
Jul 28, 2004Jul 28 2004
     Re: WaltC
132.
Jul 27, 2004Jul 27 2004
    Re: Isus
138.
Jul 27, 2004Jul 27 2004
     Re: Isus
139.
Jul 27, 2004Jul 27 2004
      Re: Isus
100.
Jul 27, 2004Jul 27 2004
101.
Jul 27, 2004Jul 27 2004
102.
Jul 27, 2004Jul 27 2004
113.
Jul 27, 2004Jul 27 2004
114.
Jul 27, 2004Jul 27 2004
   Best deal
106.
Jul 27, 2004Jul 27 2004
 107.
Jul 27, 2004Jul 27 2004
Regarding video memory.
108.
Jul 27, 2004Jul 27 2004
109.
Jul 27, 2004Jul 27 2004
 .
110.
Jul 27, 2004Jul 27 2004
125.
Jul 27, 2004Jul 27 2004
127.
Jul 27, 2004Jul 27 2004
116.
Jul 27, 2004Jul 27 2004
118.
Jul 27, 2004Jul 27 2004
119.
Jul 27, 2004Jul 27 2004
120.
Jul 27, 2004Jul 27 2004
128.
Jul 27, 2004Jul 27 2004
131.
Jul 27, 2004Jul 27 2004
141.
Jul 27, 2004Jul 27 2004
142.
Jul 27, 2004Jul 27 2004
143.
Jul 27, 2004Jul 27 2004
144.
Jul 27, 2004Jul 27 2004
145.
Jul 27, 2004Jul 27 2004
146.
Jul 27, 2004Jul 27 2004
      XP or W2K
147.
Jul 27, 2004Jul 27 2004
133.
Jul 27, 2004Jul 27 2004
134.
Jul 27, 2004Jul 27 2004
135.
Jul 27, 2004Jul 27 2004
136.
Jul 27, 2004Jul 27 2004
137.
Jul 27, 2004Jul 27 2004
140.
Jul 27, 2004Jul 27 2004
148.
Jul 28, 2004Jul 28 2004
151.
Aug 2, 2004Aug 2 2004
150.
Jul 28, 2004Jul 28 2004