Crysis could be on consoles from Cevart.

Status
Not open for further replies.
No PC can handle this.
You reduce LOD till it gets to playable fps.
Furthermore, the extra system memory on PC is not helping you at all.
All the rendering on PC should be done from VRAM only (256mb is the common case). You can use sysmem only as some kind of cache, instead of loading from disk directly. But cache performs good if you have predictable access pattern (our lovely corridors), if the pattern is chaotic: free-roaming world - no help from cache...
So the speculations about PC superiority in free-roaming games (because of it's memory) are - just speculations. The real cause is much simpler: free-roaming games are very hard to do right from the design point of view, and PC development costs less money...

One very obvious counter agrument to that is that many PC's (and all "high end") PC's have at least 512MB of graphics memory. And since its pretty easy to scale a games detail/view distance/LOD/Texture res etc... to match the available video memory, PC's can be superior for this type of game through virtue of memory size alone.

Further to that, the system RAM CAN act as a cache to the video RAM since you just have to load content from all the adjacent areas to the player. Obviously you can't load as much relevant data as you would in a corridor shooter but that doesn't mean you can't load any. And a 1-2GB cache is going to help things massively over loading directly from a DVD. Not to mention with a PC you are guarenteed loading from a HDD rather than optical media.
 
No PC can handle this.
You reduce LOD till it gets to playable fps.
Furthermore, the extra system memory on PC is not helping you at all.
All the rendering on PC should be done from VRAM only (256mb is the common case). You can use sysmem only as some kind of cache, instead of loading from disk directly. But cache performs good if you have predictable access pattern (our lovely corridors), if the pattern is chaotic: free-roaming world - no help from cache...
So the speculations about PC superiority in free-roaming games (because of it's memory) are - just speculations. The real cause is much simpler: free-roaming games are very hard to do right from the design point of view, and PC development costs less money...

Not you again, soon we will hear about how the PS3 will stay competitive graphically vs high end PC's in 3 years from now.
 
One very obvious counter agrument to that is that many PC's (and all "high end") PC's have at least 512MB of graphics memory. And since its pretty easy to scale a games detail/view distance/LOD/Texture res etc... to match the available video memory, PC's can be superior for this type of game through virtue of memory size alone.

Further to that, the system RAM CAN act as a cache to the video RAM since you just have to load content from all the adjacent areas to the player. Obviously you can't load as much relevant data as you would in a corridor shooter but that doesn't mean you can't load any. And a 1-2GB cache is going to help things massively over loading directly from a DVD. Not to mention with a PC you are guarenteed loading from a HDD rather than optical media.

You obviously can load adjacent cells, but it doesn't help you so much, because when player gets close to cell center you need to load another cell, from HDD.
What you need to do is: load data in advance, which can be accelerated by system memory if using wise data partitioning, but it's not a silver bullet.
So let's put it that way: you can do big worlds with PC easier than with console.
But there is no obvious technical advantage there.
And even this is not used by modern PC games, for example: Oblivion stores all vertex data in system memory, and loads only textures and some other assets on cell change.
 
No PC can handle this.
You reduce LOD till it gets to playable fps.
Furthermore, the extra system memory on PC is not helping you at all.
All the rendering on PC should be done from VRAM only (256mb is the common case). You can use sysmem only as some kind of cache, instead of loading from disk directly. But cache performs good if you have predictable access pattern (our lovely corridors), if the pattern is chaotic: free-roaming world - no help from cache...
So the speculations about PC superiority in free-roaming games (because of it's memory) are - just speculations. The real cause is much simpler: free-roaming games are very hard to do right from the design point of view, and PC development costs less money...
I think we need to segment your responses a bit...

"No PC can handle this; you reduce LOD till it gets to playable FPS". Agreed. Same goes for a console, but the bar for a console (any console) is going to be far lower than that of a decently-equipped PC.

"Extra system memory on PC is not helping you at all <etc>".
What? So you mean to say that rendering the current visible frame should be the only constraint where memory capacity means anything? I don't agree. If you have 50Km^2 of visible area, what happens if you do a quick 180-degree turn? Are you going to wait while the next 50km^2 worth of scenerly loads from the drive?
You obviously can load adjacent cells, but it doesn't help you so much, because when player gets close to cell center you need to load another cell, from HDD.
Wow, maybe that IS what you mean... Yeah, news flash: That sucks. Nobody does it quite the way you're describing, you load several cells into memory to prevent serious issues. Otherwise, doing a quick 180 would result in a several-second delay even on good PC hardware.

You say there's no help from cache, and at a certain point you may be right. However, this is a case where LOTS is better. if you're standing on a mountain top and potentially can do a 360-degree turn and see 200km^2 of scenery, then 256mb+ of memory for nothing but rendering the in-view scene PLUS an additional 1GB+ of "cache" for EVERYTHING else is about 5x better than 256Mb of shared memory that covers everything I just got done describing. Tell me I'm lying, and I'll give you a mirror so you can see someone who's not thinking with all their brain cells.

What you need to do is: load data in advance, which can be accelerated by system memory if using wise data partitioning, but it's not a silver bullet.
Sure, having to load things from system memory to video framebuffer isn't the fastest process on the planet, but would you rather read directly from the harddrive instead? If you do the LOD system correctly, you should never have to wait on the harddrive; everything should be waiting for you in memory. That works on both consoles and PC's, but the detriment to Consoles is a simple lack of total physical memory.

So let's put it that way: you can do big worlds with PC easier than with console. But there is no obvious technical advantage there.
And even this is not used by modern PC games, for example: Oblivion stores all vertex data in system memory, and loads only textures and some other assets on cell change.
Yeah, so let's think about this: There's no "technical advantage" to having more system ram? Really? I don't think that's what you meant to type, because it's 100% blatently and sorely obvious that more system ram is going to help in situations where you have thousands, or tens of thousands, or HUNDREDS of thousands of objects on-screen simultaneously.
 
Agreed. Same goes for a console, but the bar for a console (any console) is going to be far lower than that of a decently-equipped PC.

Why? Do not forget that you need to load from HDD anyway.

What? So you mean to say that rendering the current visible frame should be the only constraint where memory capacity means anything? I don't agree. If you have 50Km^2 of visible area, what happens if you do a quick 180-degree turn? Are you going to wait while the next 50km^2 worth of scenerly loads from the drive?

No. You should have at least that much data in VRAM which allows painless load from HDD in any player movement.
For example: imagine very large world and the player in center, player starts running toward one of the world's ends, he runs all the time. You do not have enough memory to hold all the world assets, so you need to load from HDD, and the speed the player runs with should be perfectly aligned with the speed of data load from HDD. Tell me now where can I get any acceleration in data loading speeds using system mem, in this case?

You say there's no help from cache, and at a certain point you may be right. However, this is a case where LOTS is better. if you're standing on a mountain top and potentially can do a 360-degree turn and see 200km^2 of scenery, then 256mb+ of memory for nothing but rendering the in-view scene PLUS an additional 1GB+ of "cache" for EVERYTHING else is about 5x better than 256Mb of shared memory that covers everything I just got done describing.

You'll get choked on the GPU here. Before you're choked with not enough memory.

Rules are very simple:
- do not render from system mem
- do LOD as aggressive as you can
- preload data in advance

Sure, having to load things from system memory to video framebuffer isn't the fastest process on the planet, but would you rather read directly from the harddrive instead?

Yes, yes! If we are talking about the world which does NOT fit ENTIRELY in system memory, you WILL need to load from HDD anyway.
So the one and only case there PC system ram is a clear winner: if you can load all of your data (or, at least, major portion of it) entirely in system ram. Load once, and use always. If you need to change that data: you lose the advantage.

If you do the LOD system correctly, you should never have to wait on the harddrive; everything should be waiting for you in memory. That works on both consoles and PC's, but the detriment to Consoles is a simple lack of total physical memory.

Preloading data does not have any relation to the LOD systems.

Yeah, so let's think about this: There's no "technical advantage" to having more system ram? Really? I don't think that's what you meant to type, because it's 100% blatently and sorely obvious that more system ram is going to help in situations where you have thousands, or tens of thousands, or HUNDREDS of thousands of objects on-screen simultaneously.

You can not have "HUNDREDS of thousands of objects on-screen simultaneously", because it depends on other systems, not only on the amount of system RAM.
For the fist approximation it's good to assume that it depends on the VRAM amount only.
 
No. You should have at least that much data in VRAM which allows painless load from HDD in any player movement.
For example: imagine very large world and the player in center, player starts running toward one of the world's ends, he runs all the time. You do not have enough memory to hold all the world assets, so you need to load from HDD, and the speed the player runs with should be perfectly aligned with the speed of data load from HDD. Tell me now where can I get any acceleration in data loading speeds using system mem, in this case?

Yes but having more RAM means more DATA to cache, instead of relying on the HDD to pick up the "slack" and the problem of pop-ups/greyed out textures etc.

So the one and only case there PC system ram is a clear winner: if you can load all of your data (or, at least, major portion of it) entirely in system ram. Load once, and use always. If you need to change that data: you lose the advantage.

And one important one to, otherwise the "next-gen" consoles would have 256MB and lowered manufacturing costs. More RAM is always better, simple as that! ;)

While data in the RAM is accessed 'out of range objects' (LOD, view dist for objects etc) are cleared out of the memory to load in new data for comming objects etc, prefetch?


You can not have "HUNDREDS of thousands of objects on-screen simultaneously", because it depends on other systems, not only on the amount of system RAM.
For the fist approximation it's good to assume that it depends on the VRAM amount only.

Depends entirely on how much data the objects use. But atleast when you
run out of VRAM you can still use the RAM as VRAM although at a perfomance cost due to bus bandwidth and RAM speed. Mind you I still get ~30fps in Oblivion with 1050MB of graphics data loaded even though I have only 512MB of VRAM on my graphics card. Obviously the system RAM is used to pick up the slack and of course with penalty. :smile:
 
"No PC can handle this; you reduce LOD till it gets to playable FPS". Agreed. Same goes for a console, but the bar for a console (any console) is going to be far lower than that of a decently-equipped PC.

True, almost all games use LOD for perfomance reasons. Although consoles have far more aggressive LOD settings compared to PC games. Saves often RAM and always GPU/CPU computing cycles! :smile:
 
Why? Do not forget that you need to load from HDD anyway.
What are you, captain obvious? Everything comes from the raw media at some point. That isn't what we're talking about -- if you need that data right the hell now then you don't want to be waiting for it from the hard drive.

No. You should have at least that much data in VRAM which allows painless load from HDD in any player movement.
No, you aren't thinking straight. You can't have the entire world in VRAM, that doesn't even make sense. Stop thinking about the renderer, and start thinking about everything else that's going on. You keep oversimplifying things down to what the video card is rendering -- that's not the entireity of what's going on. Where are you going to store the "state" of all the trees you've destroyed? The bodies you've killed? The physics actions of all the items you're viewing? The AI paths for all the folks roaming the map? A world this big isn't ONLY what the visible renderer is generating, there is MUCH MORE underneath.

You do not have enough memory to hold all the world assets, so you need to load from HDD, and the speed the player runs with should be perfectly aligned with the speed of data load from HDD. Tell me now where can I get any acceleration in data loading speeds using system mem, in this case?
Are you serious? Tell me why Disk Cache was EVER invented? You can't possibly hold every piece of hard drive information in system ram, so then obviously :rolleyes: disk cache is a complete and utter logical fallacy... Oh wait, no it isn't, technology has proven you wrong once again! At the outer-boundaries of what's visible, it is necessary to use the hard drive to "queue in" visible data. But that should be FAR out in the visible world; far enough as to not generate "object popping". When Crysis talks about 8km visible distance, that's about where you should be loading from the harddrive. Everything inside of that 8km? Yeah, that should be somewhere that's VERY quickly accessed, IE within system ram. Now, that doesn't mean you need everything loaded at 100% LOD, there are technical reasons where it makes sense to stream in higher LOD objects at varying distances. But everything within that 8km view distance is visible somehow, which means you need a mesh, a texture, an AI path, a phsyical attribute, a location in XYZ, etc to store in system memory.


You'll get choked on the GPU here. Before you're choked with not enough memory.

Rules are very simple:
- do not render from system mem
- do LOD as aggressive as you can
- preload data in advance
What are you talking about? If you somehow think that VRAM is going to limit you on a PC, then you're completely throwing a Console into a handbasket and sending it straight to hell -- because there's no Console on this green earth that has more framebuffer capacity than a PC. End of story.
Preloading data does not have any relation to the LOD systems.
Now you demonstrate your ignorance of visual systems. It most definitely has to do with preloading -- if something is 6.5km out, you don't need a 100% LOD mesh for it. But at some point, as you get closer, you will. You preload meshes in order of their visibility; near objects are preloaded with higher-rez textures and LOD meshes, and further objects are preloaded with lower-rez textures and LOD meshes. Depending on locale, some "guesses" can be made as to what other meshes and textures should be loaded... But as you traverse the world, items are loaded as-needed on an as-visible basis. Preloading is 100% the issue we're primarly talking about, especially when it comes to alleviating disk bottlenecks. Or are you suggesting that we NEVER preload things into ram until they're 100% visible at 100% LOD and texture rez? Because that's a complete and utter waste of resources...

You can not have "HUNDREDS of thousands of objects on-screen simultaneously", because it depends on other systems, not only on the amount of system RAM.
For the fist approximation it's good to assume that it depends on the VRAM amount only.
There is a dependancy on other systems to be sure; if the CPU can't keep up with all of that, obviously it does you no good. But if you have the UBER CPU and the UBER GPU, what good will it do you to have a grand total of 256mb of usable system memory?

None.
 
I think your wasting your time with that guy, hes the guy that tried to argue that the PS3, because of the Cell, will still be competitive with PC games in terms of graphics in 3 years.
 
I think your wasting your time with that guy, hes the guy that tried to argue that the PS3, because of the Cell, will still be competitive with PC games in terms of graphics in 3 years.

Oh I know, but there's one thing that Cell doesn't do: replace memory ;) And there's no logical (and also, no factual) way to argue out of that. Console games are comparable to console games, and PC games are comparable to PC games. It's worthless to sit here and explain why a console is "inferior" to a PC, just like it's worthless to sit here and explain why a PC is "inferior" to a console.

They both have their strengths. This just happens to be an example of where a PC will definitely and without any argument surpass a console. There are certainly examples of the contrary...
 
Yes but having more RAM means more DATA to cache, instead of relying on the HDD to pick up the "slack" and the problem of pop-ups/greyed out textures etc.

You do not "rely" on anything, you just do it right.
So you know that HDD is slow, how to deal with it? Load data before you need it. Load in advance. What is so complicated about understanding this?

And one important one to, otherwise the "next-gen" consoles would have 256MB and lowered manufacturing costs. More RAM is always better, simple as that! ;)

More RAM is better when it's VRAM. The problem is: you can not load something to VRAM directly on PC, so you need at least twice the amount of VRAM as system RAM.

While data in the RAM is accessed 'out of range objects' (LOD, view dist for objects etc) are cleared out of the memory to load in new data for comming objects etc, prefetch?

It's the way of UE3. We all see where it goes.
Next rule:
- never allocate/deallocate RAM when rendering, allocate it beforehand

Depends entirely on how much data the objects use. But atleast when you
run out of VRAM you can still use the RAM as VRAM although at a perfomance cost due to bus bandwidth and RAM speed. Mind you I still get ~30fps in Oblivion with 1050MB of graphics data loaded even though I have only 512MB of VRAM on my graphics card. Obviously the system RAM is used to pick up the slack and of course with penalty. :smile:

In the case of Oblivion the excessive amounts of VRAM used are just bad memory management, which means you have unneeded data in precious VRAM. What can I say: the Oblivion engine is kind of very slow. One example: Oblivion renders water reflection in every frame, even where is no water in vicinity, and so on.
 
Last edited by a moderator:
What are you, captain obvious? Everything comes from the raw media at some point. That isn't what we're talking about -- if you need that data right the hell now then you don't want to be waiting for it from the hard drive.

Bad planning, if you plan right, the data will be there at the right moment.

No, you aren't thinking straight. You can't have the entire world in VRAM, that doesn't even make sense.

I was speaking about "whole world in system RAM".

Stop thinking about the renderer, and start thinking about everything else that's going on. You keep oversimplifying things down to what the video card is rendering -- that's not the entireity of what's going on. Where are you going to store the "state" of all the trees you've destroyed? The bodies you've killed? The physics actions of all the items you're viewing? The AI paths for all the folks roaming the map? A world this big isn't ONLY what the visible renderer is generating, there is MUCH MORE underneath.

Wrong, there is more, but not much more.
The various states take very small memory footprint.
The main load is renderer and renderer alone.
For example: your beloved FarCry, Oblivion and Crysis use heightmap as the source of the world terrain, why not use mesh? Because it saves them memory.
Gothic and Stalker use mesh: see how slower they are? (Stalker is not crippling only because of wise renderer decision, but even there they f*cked up in some places)

Are you serious? Tell me why Disk Cache was EVER invented?

To speed up access to same data frequently.
If you're programming a game engine you KNOW how you will access data.
So if you access SAME data frequently - you're idiot. Normal developers do not access same data, if they already have it.

At the outer-boundaries of what's visible, it is necessary to use the hard drive to "queue in" visible data. But that should be FAR out in the visible world; far enough as to not generate "object popping". When Crysis talks about 8km visible distance, that's about where you should be loading from the harddrive.

Are you serious? You really think that you can hold 8km in memory and get fine with it? :)
The things are much more simple: you see first LOD in 10m from you, starting from there the LODs get more and more aggressive, in 500m from you everything is rendered to a flat surface (sprite if you want to call it that). Like picture, there you see to 3km, but it's all - just a flat picture. :)

What are you talking about? If you somehow think that VRAM is going to limit you on a PC, then you're completely throwing a Console into a handbasket and sending it straight to hell -- because there's no Console on this green earth that has more framebuffer capacity than a PC. End of story.

Right now there are lots of consoles that have much more VRAM, than most of PCs. And when I say "majority" I refer to http://www.steampowered.com/status/survey.html

Now you demonstrate your ignorance of visual systems. It most definitely has to do with preloading -- if something is 6.5km out, you don't need a 100% LOD mesh for it. But at some point, as you get closer, you will. You preload meshes in order of their visibility; near objects are preloaded with higher-rez textures and LOD meshes, and further objects are preloaded with lower-rez textures and LOD meshes.

It seems to me that you don't know what you're talking about.
Texture "LODs" are called mip-maps, and they're always available.
Mesh LODs are tricky. You can not have a lot of mesh data in various LODs - it's just plain waste of time and space. You make one vertex buffer and 5-10 index buffers glued together, to draw any LOD you use a portion of index buffer for the corresponding LOD level, that's it.

Depending on locale, some "guesses" can be made as to what other meshes and textures should be loaded...

Are you a PC developer? You need "guesses" to know how YOU load the data?

But as you traverse the world, items are loaded as-needed on an as-visible basis. Preloading is 100% the issue we're primarly talking about, especially when it comes to alleviating disk bottlenecks. Or are you suggesting that we NEVER preload things into ram until they're 100% visible at 100% LOD and texture rez? Because that's a complete and utter waste of resources...

I'm talking about very simple thing: you preload stuff from disk in advance, so you can hide disk latency. And you're engine writer, so you know much better than anybody else how to load your data from disk, so if you rely on cache - you're idiot.

There is a dependancy on other systems to be sure; if the CPU can't keep up with all of that, obviously it does you no good. But if you have the UBER CPU and the UBER GPU, what good will it do you to have a grand total of 256mb of usable system memory?

The system needs to be balanced. Right now I think the console systems are balanced good enough.
 
pjbliverpool said:
What makes you think any of those features (aside from the light rays) will not already be present in DX9?
Up to now, there is the general impression that 3D waves is a graphical feature of the DX10 version. As for their new motion blur, i haven't seen any pc game (dx9) doing pp motion blur. Obviously it costs too much in performance.
So i assume that if they add mb in the dx9 version, they will go with the traditional 2D solution.

psorcerer said:
Do not forget that you need to load from HDD anyway.
Isn't this an advantage -in comparisson with consoles- when the transfer rate of a SATA2 HDD is 300 mb/sec or higher whereas the one of a DVD/BR is 8-12 mb/sec ?
 
Isn't this an advantage -in comparisson with consoles- when the transfer rate of a SATA2 HDD is 300 mb/sec or higher whereas the one of a DVD/BR is 8-12 mb/sec ?

1. Consoles with HDD are not uncommon.
2. You can not do a good planning on HDD usage on PC. You have OS, antivirus and other stuff, so in this very second you can get 300mb/sec and in next second - only 2mb/sec. This can really screw up everything if you plan using 300mb/sec all the time.
 
Right now there are lots of consoles that have much more VRAM, than most of PCs. And when I say "majority" I refer to http://www.steampowered.com/status/survey.html

First of all, no their aren't. "Most PC's" i.e. over 50% have 256MB or more of VRAM. Thats comparable to both consoles.

However as I said before, thats irrelivant since scaling graphical data to fill available video memory is completely trivial. Thus a game can be made to work in 256MB of vid memory but make full use of 512MB or more. Thus, the PC clearly has a video memory advantage from an end result point of view since you can set up any new PC game to use 512MB (or more) of VRAM. And many games do.

The system needs to be balanced. Right now I think the console systems are balanced good enough.

So your saying a console would gain no benefit from an extra 256MB of system memory? I wonder how mnay devs would agree with you on that.

Bottom line is that PC games DO gain obvious benefits from having more system memory even when your system memory is already much larger than your graphics memory. If that extra system memory is of no use, then why does it result in performance improvements?

It seems fairly obvious to me that a heirarchical structure of 3 levels is going to be a more effective caching system than one with 2 more constrained levels. And besides, your assuming data can be cached to a HDD first rather than coming direct from the DVD. That certainly isn't always the case with the 360.
 
Up to now, there is the general impression that 3D waves is a graphical feature of the DX10 version. As for their new motion blur, i haven't seen any pc game (dx9) doing pp motion blur. Obviously it costs too much in performance.
So i assume that if they add mb in the dx9 version, they will go with the traditional 2D solution.

Cell factor does it and im pretty certain Lost Planet does too.
 
1. Consoles with HDD are not uncommon.

But consoles with a HDD as standard represent only 1/3rd of the currect generation. And its likely that even that one third wouldn't work exclusively from the HDD.

2. You can not do a good planning on HDD usage on PC. You have OS, antivirus and other stuff, so in this very second you can get 300mb/sec and in next second - only 2mb/sec. This can really screw up everything if you plan using 300mb/sec all the time.

Last time I checked, my HDD access speed wasn't randomly slowing down by 150x for seemingly no reason on a regular basis. Why would the OS have to access data on the HDD for purposes unrelated to the game during a game to such an extent? Sure, if im stupid enough to run a virus check or other HDD intesive app at the same time as my game then I would expect slowdown but thats hardly something thats out of my control.

The bottom line is not all consoles have HDD's as standard. Were they do, they are slower on average than those in a gaming PC and a large majority of the time, games are not completely resident on the HDD and thus some communication with the optical media will be necessary.

All of that points to disadvantages without even considering how a large and fast cache like system memory can help things out. Like say, to store commonly re-used assets in the game beyond the level which VRAM is capable of. Are you really saying thats not an advantage?
 
So your saying a console would gain no benefit from an extra 256MB of system memory? I wonder how mnay devs would agree with you on that.
The idea of system balance has to also cover machine price. An extra 256 MB RAM would add considerably ot the ahrdware costs, and just be untenable as a product. The challenge of the consoles isn't to match PCs in performance, but to produce graphics that look impressive (or at least acceptible to the users) years after launch, and be affordable to boot.
 
The idea of system balance has to also cover machine price. An extra 256 MB RAM would add considerably ot the ahrdware costs, and just be untenable as a product. The challenge of the consoles isn't to match PCs in performance, but to produce graphics that look impressive (or at least acceptible to the users) years after launch, and be affordable to boot.

Yes I agree, however in the context of the previous conversation im pretty sure psorcerer was referring to technical balance. I.e. additional system memory is of no technical advantage, just as he believes it has no technical advantage in a PC.
 
The idea of system balance has to also cover machine price. An extra 256 MB RAM would add considerably ot the ahrdware costs, and just be untenable as a product. The challenge of the consoles isn't to match PCs in performance, but to produce graphics that look impressive (or at least acceptible to the users) years after launch, and be affordable to boot.

Your not reading it in context shifty. Hes basically claiming that system ram is worthless.
 
Status
Not open for further replies.
Back
Top