Krypt on 15/3/2005 at 06:14
Quote Posted by Dario
In my face. :)
I'll go read a text-book on the topic. :erg:
Are you sure it was RAM? Because if the levels were 2x the size at first, as you say, we, with our awesome PC's, would be running 2 fps right now.
Our FPS sucks in general already. I have a 6600 GT and Athlon 2800+ and I get like 25 fps or worse.
It was definitely RAM. When we tried to run a massive map on the Xbox, it would crash and spit out a bunch of error messages in the log. After chopping out big chunks and making it smaller, it would run :p You are correct that larger levels probably would impact performance, but I don't think it would be as much as you're thinking. The game would be using more RAM obviously, but otherwise the performance pretty much hinges on what the player can see and stuff like physics interactions and AI. The size of a map shouldn't have much effect as long as the sightlines are kept in check, because AI and physics both LOD out at a certain distance and stops being calculated.
Gestalt on 15/3/2005 at 06:18
Quote Posted by Dario
As far as I understand these things, RAM has nothing to do with it. (forgive me if a few months ago I was saying the opposite). RAM determines how much media you can have in a level. It's "what the computer can remember".
RAM has a lot to do with your constraints when you're designing for hardware that doesn't have much of it. In the Xbox's case, it has a total of 64mb to use for textures, static meshes, brushes, item locations (physics complicates this more), patrol routes, player inventory, skins, animated models and so forth. Memory matters because the art is as important as the engine.
It's possible to make large, sparsely populated levels that mostly reuse a very small number of textures and whatnot, sure. But those tend to look repetitive and sterile, which people don't like.
Quote Posted by Dario
Basically it is the Shadows that drain the CPU. If you turned TDS into a game with static, old lighting, I'm sure it would run *a lot faster*. Normal mapping and bump mapping take a hit, but dynamic shadows are a CPU killer (nothing to do with RAM tho - just CPU/GPU processing).
Normal mapping and dynamic shadows are pretty much exclusively the domain of the GPU. The CPU does other stuff.
Renzatic on 15/3/2005 at 06:23
Quote Posted by Gestalt
Normal mapping and dynamic shadows are pretty much exclusively the domain of the GPU. The CPU does other stuff.
Not quite. I believe dynamic shadows use the CPU to calculate their trajectory off the lightsource.
Dario on 15/3/2005 at 06:23
Quick mockup:
Xbox:...........Me:
CPU: 600......2,800
GPU: GF 3.....GF 6
RAM: 64.......1024
FPS: 25........25
If what you're saying is true (Krypt), then:
Xbox RAM: 512 = Big levels
and yet
Me RAM: 1024 + Big Levels = FPS 5.
Xbox performs better with RAM, yet my computer performs worse with large levels - no point adding more RAM to my computer.
(this post is obsolete due to the above Krypt post)
[reads Gestalt's above post]
That's true. I didn't consider that yes, little things take up little amounts of RAM, but I always overlook those small amounts because I have lots of RAM.
However, Xbox has such a TINY amount, that even teeney-tiny things (like just a tiny-bit bigger levels) will fill it up! 64 mb = nearly squat.
:erg:
The war for understanding marches on...
Actually, I have a HL2 mod to work on. Later peeps! Catch ya when Thief 3 comes out on Gameboy. :)
Renzatic on 15/3/2005 at 06:28
Thief 3's performance has nothing to do with ram, CPU, or graphics card...it's all about the tides and the positioning of the moon in the sky.
Raen on 15/3/2005 at 07:26
Brother Krypt speaks the truth - 64MB of RAM was precious little, especially considering less than 1/4 of that went to content (missions/art/animations/sound) and 3/4 was taken up by code. Almost every T3 level took up roughly 62MB at run time, with about a 1.5 - 2.0MB buffer for memory expanded by physics interactions and (in city sections) spawning AIs.
Larger levels do indeed hurt framerate, but that problem is generally independent to the memory issue. More actors in a map overall means that at any given time more actors will be "ticking" or eating up spare CPU cycles and affecting framerate because the engine has to keep track of certain actor behaviors off screen. The fact that so much of the world is interactive definitely affects this; Doom 3 levels are huge but only a very small percentage of objects have interactive physics assigned to them.
For performance with respect to rendering and shadows, generally it's good code practice to offload as much of your rendering as possible to your graphics card so that your CPU can deal with other game systems such as AI and physics. However, how much of each is eaten up can depend on the engine in question.
ProjectX on 15/3/2005 at 07:37
Quote Posted by Dario
Quick mockup:
Xbox:...........Me:
CPU: 600......2,800
GPU: GF 3.....GF 6
RAM: 64.......1024
FPS: 25........25
If what you're saying is true (Krypt), then:
Xbox RAM: 512 = Big levels
and yet
Me RAM: 1024 + Big Levels = FPS 5.
But the XBox is optimized for playing games, and games are optimized for playing on XBox. You don't have much other junk running in the background (like the joyous XP stuff)
242 on 15/3/2005 at 11:28
Quote Posted by Dario
The TDS version is different. You have an unpolished, "heavy" engine programming plus a dumb decision to use per-pixel lighting and shadows on top of it, and what you get in the end is junk.
Oh yes, junk.
TDS looks no worse than Doom3 (I think better) and runs smoothly enough on my comp.
Myagi on 15/3/2005 at 13:40
Quote Posted by Dario
Are you sure it was RAM? Because if the levels were 2x the size at first, as you say, we, with our awesome PC's, would be running 2 fps right now.
Are you sure you aren't confusing open spaces with level size? Any normal engine will have a visibility system (I beleive "zones" in unreal/tds lingo), as long as you see the same amount it doesn't matter that the level on the other side of the map is twice as big, you'll still see the same amount of polys and lights. That kind of level size is really only a RAM issue.
There would be the exception of if there is some AI that always executes even when the player is not close, that would take a bit more CPU. I don't know how they deal with that in TDS, but graphics-wise you don't see more in any given scene just because the level is bigger (if the size of open spaces remains the same), zone portals and whatnot take care of that.
jolynsbass on 15/3/2005 at 22:32
Quote Posted by Dario
Quick mockup:
Xbox:...........Me:
CPU: 600......2,800
GPU: GF 3.....GF 6
RAM: 64.......1024
FPS: 25........25
Dario,
did you forget a couple of stats?
Xbox:..........................You:
Textures: small,ugly.......big, pretty
resoultion: 512x384(maybe)....1280x1024(guessing, here)
I think these things impact game performance quite a bit, too. I'm not saying that if you were somehow able to actually select 512x384(who'd want to... It'd look terrible on a computer screen) that your frame rate would be in the 100's, but I'd bet it would be much smoother. Plus, who'd want small,ugly textures(okay, some of the PC ones are small and ugly too, but we do have John P's texture packs :) )
I bet if the Xbox were to try and run the game at twice its native resolution, it's frame rate would drop into the single digits...
'Course, I'm just happy I can play it now, and I'm all the way to the [SPOILER]hammerite cathredal! :laff: [/SPOILER]
disclaimer: this has been my 2 cents, and with the current state of inflation, you can see that it is not worth a whole lot...