Doom 3 "High" quality only available on 256mb cards

apoppin

Lifer
Mar 9, 2000
34,890
1
0
alienbabeltech.com
RIPPED from Video
--------------------------------------------------------------------------------
Name: Robert A. Duffy
Email:
Description: Programmer
Project:
-------------------------------------------------------------------------------
July.26.2004
------------

I've seen quite a few posts in the forums about "Ultra" quality and why we don't set this by default out of the box. I thought I would clarify a few of the reasons and also take the time to mention some of the hardware and software we found incredibly useful during the development of DOOM 3.

To put things in perspective, most production levels in DOOM 3 contain more media assets than all of Quake 3: Arena. When we started working on the memory foot print, our goal was a 256MB system. In most cases loading up an area of the game on a 256MB system works fine, the problems arise when you start to transition from one area to the next ( successive map loads ). Memory fragmentation starts to really work against us and it ultimately made it just not feasible for a reasonable play experience to support 256MB.

Two basic options make up the quality levels, sound diversity and image fidelity.

Sound diversity is effectively how many sounds we support per sound shader for a given "sound". There may be for instance, 7 different "bullet striking the wall" sounds for a given bullet. In low quality, we only use one sound for this vs randomly choosing between one of the seven available. When we started on memory optimization, most levels used between 80 and 100 megabytes of sound data. We made the choice to move to .OGG for quite a few sounds which effectively removed the problem for us.

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.

One thing of note on the normal map compression is that generally speaking if you DXT a normal map you get really crappy results. NVIDIA hardware supports palettized compression which yields good compression and normal maps retain hard and round edges really well. Unfortunately this compression does a poor job in other cases and you end up getting splotchy areas. ATI does not support the palettized compression so we needed a better solution. ATI had done some research on various methods of normal map compression and we ended swapping the red and alpha ( which is zero in the case of a normal map ) channels. This effectively allows the compression to do a much better job and is just one extra instruction in the fragment program to move the alpha channel into the red channel. The bottom line on what happens on each card is as follows.

All modern NVIDIA and all ATI hardware use the compressed normal maps in Medium and Low qualities with the swizzled components.
NV10/20 hardware ( GF4MX and GF3 ) uses palettized normal maps in Medium and Low qualities.

Another question I have had multiple emails about, yes the game is capped at 60fps for normal game play. For render demos, like what was used for the HARD OCP stuff, we run those at full tilt which is why you will see > 60fps.


For the curious, here is a list of software/hardware we found useful during the development of DOOM 3.

Incredibuild by Xoreax.
Visual Assist by Whole Tomato Software
Alienbrain by Avid ( formerly NXN )
Visual Studio by Microsoft

DOOM 3 was developed mostly on Dell and/or Alienware computers. Falcon also sent us a kick ass system that has been Tim's primary play system through most of the project.

The art team used a wide variety of tools ( they probably use other stuff too but this is what comes to mind )

Maya
Lightwave
ZBrush
3D Max
Photoshop

We saw a few bumps in the road during the project, we had a multiple ( simultaneous ) drive failure in our primary development server which effectively trashed the raid system and was not recoverable. This resulted in building a two IDE drive raid system on a Saturday morning so the team could keep working. So all of DOOM 3 development was housed in an old dev system with a $79 RAID card driving two 100GB drives for about a week. The end result of this was we went ahead and built two identical RAID 1/0 systems ( about a half a terabyte each ). This has been the configuration for the last 18 months or so.

We made the move to Alienbrain about two thirds into the project. It was a big change for everyone as no one but the programmers were used to having to "check something out" to work on it. Overall this was a big win for the project as it centralized everything into one application from an asset/code standpoint. Alienbrain like any major software system has a few gotchas but has performed very well and sustained our RAID running entirely out of drive space multiple times.

So some of the newer cards - i.e. 6800Standard - will ONLY play at MedQ????

Really?

edit: looks like FPS is CAPPED ar 60 ;)
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
How many threads do we need on this?

The engine's scalable (at least) up to video cards with 512MB of RAM, and cards with 'only' 128MB of RAM will have to use slightly more compressed textures. This is not the end of the world, even for 6800NU owners.

And, jeez, the whole world has known the FPS is capped at 60 for about TWO YEARS.
 

Delorian

Senior member
Mar 10, 2004
590
0
0
I think that's pretty misleading. A fx5200 256mb card (I think they make em) will perform terribly compared to a 128mb 6800.

noob1 : my fx5200 256mb will destroy your 6800 cause it only has 128mb


I can just see it now :roll:
 

apoppin

Lifer
Mar 9, 2000
34,890
1
0
alienbabeltech.com
Originally posted by: Mareg
Old news... look for rollo thread in the video section :)
not too many of us stray into the video forum ;)

(with really "good" reason)
;)

:D

this is (also) Hardware and Doom III news and it deserves a place here!

edit
Originally posted by: Matthias99
How many threads do we need on this?

The engine's scalable (at least) up to video cards with 512MB of RAM, and cards with 'only' 128MB of RAM will have to use slightly more compressed textures. This is not the end of the world, even for 6800NU owners.

And, jeez, the whole world has known the FPS is capped at 60 for about TWO YEARS.
Just ONE in GH. :p

and the 60FPS 'thing' has been questioned HERE - the demo is UNcapped. :p

I am truyly sorry to bear bad news tp 6800 owners . . . PLEASE DON'T shoot the messenger. ;)

(not that i care to win any 'popularity' contest here) :p

:roll:
 

Mareg

Member
Jul 24, 2004
170
0
0
not too many of us stray into the video forum

Oops, my noob status says it all.. (taking notes not to wander too much in video section) :eek:

Then again, 5200 256meg user cannot make the diff between 60fps and 10 so they will brag all the more. 5200 buyer simply don't care.... I hope... poor things really.
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
From the HardOCP benches a 9800XT and fx5950 can only make 1024x768 playable at medium quality anyway, so to use the high quality mode their 256 MB allows you'd need to run at 800x600.

So anyone with a last-generation card isn't going to benefit from 256 MB (except at low resolution), and it is only the 6800 standard that (at 1024x768) might miss out on high quality. Above 1024x768 it probably needs to run medium quality to be playable anyway.
 

apoppin

Lifer
Mar 9, 2000
34,890
1
0
alienbabeltech.com
Originally posted by: Mareg
not too many of us stray into the video forum

Oops, my noob status says it all.. (taking notes not to wander too much in video section) :eek:

Then again, 5200 256meg user cannot make the diff between 60fps and 10 so they will brag all the more. 5200 buyer simply don't care.... I hope... poor things really.
you are totally right about the low-end cards with/256MB ram . . .

and "Video" . . . how do i put it w/o offending the guys there . . .

if you think we are "opionated" in GH, head over to Video to see what "opinated" really is )Video is to GH, what P&N is to OT) ;)

THERE . . . i finally succeded in offending EVERYbody and i'm off to work . . . my "job" here is done (for now) :p

:roll:

:D

edit:
Originally posted by: DaveSimmons
From the HardOCP benches a 9800XT and fx5950 can only make 1024x768 playable at medium quality anyway, so to use the high quality mode their 256 MB allows you'd need to run at 800x600.

So anyone with a last-generation card isn't going to benefit from 256 MB (except at low resolution), and it is only the 6800 standard that (at 1024x768) might miss out on high quality. Above 1024x768 it probably needs to run medium quality to be playable anyway.
Nonsense . . . according to the benchs, BOTH the 9800xt and the 5950u will play well at 10x7 - HIQ - and (probably) 2xAA/4xAF (certainly with HiQ and NOaa/af) . . . LOOK again. :p

:roll:
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Originally posted by: apoppin
edit
Originally posted by: Matthias99
How many threads do we need on this?

The engine's scalable (at least) up to video cards with 512MB of RAM, and cards with 'only' 128MB of RAM will have to use slightly more compressed textures. This is not the end of the world, even for 6800NU owners.

And, jeez, the whole world has known the FPS is capped at 60 for about TWO YEARS.
Just ONE in GH. :p

and the 60FPS 'thing' has been questioned HERE - the demo is UNcapped. :p

Timedemos, for obvious reasons, have to be uncapped. ID has repeatedly stated that the game physics are locked at 60FPS -- this is nothing new.

(not that i care to win any 'popularity' contest here) :p

:roll:

Believe me, no danger of that.
 

VirtualLarry

No Lifer
Aug 25, 2001
56,571
10,207
126
Originally posted by: Matthias99
Timedemos, for obvious reasons, have to be uncapped. ID has repeatedly stated that the game physics are locked at 60FPS -- this is nothing new.

But where? I want to read it with my own eyes, from some official iD-related source. I've seen that cited several times thus far, but not stated in any of the actual official quotes. The only thing that I've seen stated, is that the in-game framerate will be locked to 60Hz max. This could imply, therefore, that the physics also runs at 60Hz, but that doesn't imply to me that the physics also runs at 60Hz fixed, it could run at 60Hz max, and be interpolated at lower even divisors, and still have the framerates locked to a 60Hz "max effective" physics engine. I think. :p I just want to know for certain, before I start repeating incorrect info.
 

apoppin

Lifer
Mar 9, 2000
34,890
1
0
alienbabeltech.com
Originally posted by: VirtualLarry
Originally posted by: Matthias99
Timedemos, for obvious reasons, have to be uncapped. ID has repeatedly stated that the game physics are locked at 60FPS -- this is nothing new.

But where? I want to read it with my own eyes, from some official iD-related source. I've seen that cited several times thus far, but not stated in any of the actual official quotes. The only thing that I've seen stated, is that the in-game framerate will be locked to 60Hz max. This could imply, therefore, that the physics also runs at 60Hz, but that doesn't imply to me that the physics also runs at 60Hz fixed, it could run at 60Hz max, and be interpolated at lower even divisors, and still have the framerates locked to a 60Hz "max effective" physics engine. I think. :p I just want to know for certain, before I start repeating incorrect info.
despite what Matthias99 says, theree was RECENT controversy as to whether the game would be capped at 60FPS or not . . . if he needs "proof", i can look it up. :p

If you want to read it with your own eyes, study my first quote again:
Another question I have had multiple emails about, yes the game is capped at 60fps for normal game play. For render demos, like what was used for the HARD OCP stuff, we run those at full tilt which is why you will see > 60fps.
You'd think he wouldn't be getting ANY e-mails if Matthias99 was right. :roll:
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Originally posted by: apoppin
despite what Matthias99 says, theree was RECENT controversy as to whether the game would be capped at 60FPS or not . . . if he needs "proof", i can look it up. :p

Please do.

You'd think he wouldn't be getting ANY e-mails if Matthias99 was right. :roll:

Other people being stupid doesn't make me wrong. :p

Here's an IGN article with a quote from Carmack on October 22nd, 2003 that VERY CLEARLY STATES the game physics (and therefore framerate) are capped at 60fps:

IGN article with quote
 

Oreo

Senior member
Oct 11, 1999
755
0
0
Originally posted by: Matthias99
Originally posted by: apoppin
despite what Matthias99 says, theree was RECENT controversy as to whether the game would be capped at 60FPS or not . . . if he needs "proof", i can look it up. :p

Please do.

You'd think he wouldn't be getting ANY e-mails if Matthias99 was right. :roll:

Other people being stupid doesn't make me wrong. :p

Here's an IGN article with a quote from Carmack on October 22nd, 2003 that VERY CLEARLY STATES the game physics (and therefore framerate) are capped at 60fps:

IGN article with quote
Does this mean that the engine internally renders things at 60fps but that with a fast enough system you will be able to play at fps above 60fps or does it mean that the fps will always be cut off at 60fps? If it is the former way than if you for example had a fps of 120 then you would see the same animation in two frames, there would be an update every other frame.
 

DAPUNISHER

Super Moderator CPU Forum Mod and Elite Member
Super Moderator
Aug 22, 2001
31,689
31,553
146
Maybe it's implemented like Halo, where it defaults to the cap but you can turn it off?
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Originally posted by: Oreo
Does this mean that the engine internally renders things at 60fps but that with a fast enough system you will be able to play at fps above 60fps or does it mean that the fps will always be cut off at 60fps? If it is the former way than if you for example had a fps of 120 then you would see the same animation in two frames, there would be an update every other frame.

From the quote given in that article I posted, it sounds like the renderer will by default be capped to 60FPS. Drawing the same frame more than once is just generating more heat from the video card and doing nothing useful. For timedemos, the cap is disabled.

I don't know if you could disable it for "normal" gameplay -- but why would you want to (except maybe to bench with FRAPS, but it sounds like there's demo functionality already built in...)?
 

VirtualLarry

No Lifer
Aug 25, 2001
56,571
10,207
126
Originally posted by: Matthias99
Here's an IGN article with a quote from Carmack on October 22nd, 2003 that VERY CLEARLY STATES the game physics (and therefore framerate) are capped at 60fps:

IGN article with quote

Ok, for the (hopefully last time), for the record, I am seeking *official* confimation, that the *physics engine* is *fixed* at 60Hz "tick rate". Not "capped", "fixed", and not talking what-so-ever about the graphics engine or display frame rate.

Yes, I know that it has been officially said that the graphics engine, was going to be capped at 60FPS, in-game, due to the physics engine not running any faster than that. I'm trying to find out, if it is possible, on lower-end systems, for the physics engine to internally run *slower* than 60Hz. That is what I have not yet been able to determine.

Update: Hmm, after reading that quote from Carmack, it does indeed seem to indicate that the physics engine is fixed at 60Hz. Thank you, that's basically what I was looking for. I guess it is true.

I wonder how the lower-end machines will handle that fixed level of CPU overhead then, since D3 is supposed to provide both a "Full" and "Scalable" game-playing experience. Hmm.
 

Oreo

Senior member
Oct 11, 1999
755
0
0
Originally posted by: VirtualLarry
Originally posted by: Matthias99
Here's an IGN article with a quote from Carmack on October 22nd, 2003 that VERY CLEARLY STATES the game physics (and therefore framerate) are capped at 60fps:

IGN article with quote

Ok, for the (hopefully last time), for the record, I am seeking *official* confimation, that the *physics engine* is *fixed* at 60Hz "tick rate". Not "capped", "fixed", and not talking what-so-ever about the graphics engine or display frame rate.

Yes, I know that it has been officially said that the graphics engine, was going to be capped at 60FPS, in-game, due to the physics engine not running any faster than that. I'm trying to find out, if it is possible, on lower-end systems, for the physics engine to internally run *slower* than 60Hz. That is what I have not yet been able to determine.

Update: Hmm, after reading that quote from Carmack, it does indeed seem to indicate that the physics engine is fixed at 60Hz. Thank you, that's basically what I was looking for. I guess it is true.

I wonder how the lower-end machines will handle that fixed level of CPU overhead then, since D3 is supposed to provide both a "Full" and "Scalable" game-playing experience. Hmm.
So does that mean that you should use a refresh rate that is a multiple of 60 to get the most fluid motion (60 or 120Hz)? If you would use 85Hz for example the game would stutter a bit if it only rendered at 60 fps (atleast with vsync enabled).

When you have a gameserver you also set parameters like tickrate on the serverside but the clients can still play the game at whatever fps they want just that they will only get an update at the selected server tickrate. So for example if the server has a tickrate of 30 and a client runs at 90 fps he will only see an update every third frame. The server only updates stuff like where the opponents are so the game itself (clientside), when you move around for example, appears to be running at 90 fps. I wonder if the same thing applies in Doom III (but in the singleplayer game of course, if the internal tickrate of the Doom III engine is the equivelant of a gameservers tickrate over the net).
 

Oreo

Senior member
Oct 11, 1999
755
0
0
Originally posted by: DAPUNISHER
Maybe it's implemented like Halo, where it defaults to the cap but you can turn it off?
Yeah, I hope so. "Only" 60 fps would suck! ;)
 

apoppin

Lifer
Mar 9, 2000
34,890
1
0
alienbabeltech.com
Originally posted by: Matthias99
Originally posted by: apoppin
despite what Matthias99 says, theree was RECENT controversy as to whether the game would be capped at 60FPS or not . . . if he needs "proof", i can look it up. :p

Please do.

You'd think he wouldn't be getting ANY e-mails if Matthias99 was right. :roll:

Other people being stupid doesn't make me wrong. :p

Here's an IGN article with a quote from Carmack on October 22nd, 2003 that VERY CLEARLY STATES the game physics (and therefore framerate) are capped at 60fps:

IGN article with quote
Just 'cause you were certain (i was too, so what?) doesn't mean that it wasn't being questioned last week (over and over) on THIS forum because of the demo being uncapped.

Did you forget already?

:roll:

my post was to remind those OTHER forum members - who you appear to be calling "stupid" - not Your Brilliancy", M99. :p
 

VirtualLarry

No Lifer
Aug 25, 2001
56,571
10,207
126
Originally posted by: Oreo
So does that mean that you should use a refresh rate that is a multiple of 60 to get the most fluid motion (60 or 120Hz)? If you would use 85Hz for example the game would stutter a bit if it only rendered at 60 fps (atleast with vsync enabled).

That's obviously the next thing that came to my mind too. Those people playing at 1600x1200 on big monitors, are going to be having a seizure-inducing flicker-fest, if the game runs at 60Hz vsync'ed with the monitor refresh, or are going to experience tearing or "jumping" if they are running a higher refresh rate.

OTOH, 60Hz does match up quite well with the refresh-rate of most LCDs, I wonder if Carmack was thinking of these customers too when setting up the specs for the engine?

I suppose what might prove to be even better, would be running the display at 120Hz, with those 3D LCD glasses, and the NVidia "stereo drivers". It would be like one of those "3D horror flicks" from the 70s. :p

Interesting thought about the game server's tick rate and client updates and stuff. Possibly that is the biggest single argument in favor of an absolute, fixed, tick rate for the physics engine. Multiplayer games should be a lot more "fair" because of that, I think.
 

dmw16

Diamond Member
Nov 12, 2000
7,608
0
0
60FPS is more than enough. If you are getting 60 FPS then crank up your settings, cuz that is more than enough. A lot of people here will be happy to get half of that at nice settings.
 

DarkAmeba

Senior member
Jun 13, 2004
581
0
0
I like to keep my FPS at at least 80 so if I hit a super graphically intensive area my fps won't drop any lower than 50.
 

apoppin

Lifer
Mar 9, 2000
34,890
1
0
alienbabeltech.com
Originally posted by: HeroOfPellinor
Originally posted by: apoppin

Uninformed people debating != controversy. :)
you are the expert.

again, you post more (useless) comments than facts (what facts?) in your desire to put me down . . . try posting something useful ;)

:roll:


Originally posted by: DarkAmeba
I like to keep my FPS at at least 80 so if I hit a super graphically intensive area my fps won't drop any lower than 50.
Doom iii IS capped at 60FPS . . . if you have a good system - matched to Diii's requirements - i don't think you have to worry about slowdowns. ;)