Possible memory expansion for GC/IGNCube

cthellis42 said:
I've always wondered why more consoles wouldn't pursue the possibility of upgrading their consoles in some ways to exact better performance as they go along. Even if it doesn't really affect old games, surely they can do certainly changes that fix problems, add functionality, or add capacity where they are weak without breaking earlier games, can't they? It gives a box a fresher image, more for developers to play with, better competition with their--uh--competition ( ;) ), more incentive for people to buy it or buy a second one...

Why not?
it's not really about breaking anything except giving devlopers another (non-tirvial) decisio to make, to support or not support?

obviously making something standard Works and if the dev isn;t force to do the above it's no problem.
 
Quincy

I don't know exactly what the latency of GC's A-Ram is. But just because its low bandwidth ram that doesn't mean its high latency. You can have two ram chips, one with twice the theoretical bandwidth of the other, and they can still have the same latency. Or the lower bandwidth one can have lower latency even (look at GC's main ram vs XBox's for instance). Latency effects bandwidth, but not the other way around.

Yeah I wouldn't be suprised to find out that A-Ram isn't used for streaming textures and geometry very often. But that would be because of its limited size rather then its banfwidth or latency. For instance when your using 10MB of A-Ram for sound you only have 6MB free. That really isn't enough space to be used for any significant amount of streaming. So instead streaming needs to be done mainly using the GC's disk drive. With its 3.1MB/s read speed and comparatively high latency (comapred to A-Ram). That's why there's a 1 to 3 second delay on the doors in Metroid Prime for instance. Because if the next area is, say 9MB in size, you need 3 seconds to take it from the disk drive to main ram.

With 48MB of A-Ram (assuming 10MB for sound) the massive majority of a map from Metroid Prime, textures and all, could be buffered into A-Ram at the start of the game (or whenever you move to a new map). As you move along the map the disk drive could change the data in A-Ram well ahead of you actually reaching the area its loading. With A-Ram's 81MB/s bandwidth (compared to 3.1MB/s for the disk drive) and lower latency that would elimenate door loading times completely! Not only that but it would allow for even bigger levels with no load times.

In conclusion, no of course A-Ram is not going to be able to do the same job as main ram. It definitely is too slow for that. However its undeniable that, with enough A-Ram, streaming would be FAR faster on GC. Just to make the full significance of the difference in this area clear:

GC's disk drive can fill GC's main ram once every 8 seconds.
GC's A-Ram can fill GC's main ram almost 4 times per second (over 26 times as fast as the disk drive)!

That is a massive difference, and that comparison doesn't even take latency into account which is lower for the A-Ram then the disk drive! Now can you see what a significant difference this could make to streaming given enough A-Ram to buffer large levels?

As to wether an A-Ram upgrade is worthwhile. Well, I think it would be a very worthwhile upgrade, but with a few if's. If its cheap and if its not required for any games. As in the developer just adds streaming capability through A-Ram which works if the game finds the upgrade plugged in, if not then it just uses the disk drive with longer load times. So basically if you care about having no load times in game you buy the upgrade, if not then you don't.
 
Or the lower bandwidth one can have lower latency even (look at GC's main ram vs XBox's for instance). Latency effects bandwidth, but not the other way around.

what about the GC vrs Xbox main memory? You're not going into that argument on how you think the gamecube has an advantage regarding memory again are you? :rolleyes:

Yeah I wouldn't be suprised to find out that A-Ram isn't used for streaming textures and geometry very often. But that would be because of its limited size rather then its banfwidth or latency.

Well that's not completely correct, if you were going to do streaming the only advantage Aram would give you on the GC is that it has twice as much Aram memory compared to main memory. Anyway if you're going to perform streaming, you might as well stream out of main memory as you have a few gigs of bandwidth and could move far more data across the bus directly to the graphics chip. You may have double the aram, but you have more than 20x the speed with main memory.

GC's disk drive can fill GC's main ram once every 8 seconds.
GC's A-Ram can fill GC's main ram almost 4 times per second (over 26 times as fast as the disk drive)!

Teasy, how is flipper going to access the grapical data at 81 megabytes per second and give you interactive framerates? That's the reason a lot of data rendering to the screen needs to be sitting in main memory, or constantly being uploaded to main memory each frame. For instance, geometry either needs to be sent to the GPU each frame, or it has to stay there. Also skinned models on gamecube need ot be handled by the CPU since the graphics chip doesn't handle skinned meshes.

All I can say is that yeah, what you say is possible, but if it's practical, I'd say no. Do any games use it this way? I'd say few if any... Why? because it's be a huge amount of work and the majority of game out there don't stream data the way you're thinking. certianly no a first person shooter.


As to wether an A-Ram upgrade is worthwhile. Well, I think it would be a very worthwhile upgrade, but with a few if's. If its cheap and if its not required for any games. As in the developer just adds streaming capability through A-Ram which works if the game finds the upgrade plugged in, if not then it just uses the disk drive with longer load times. So basically if you care about having no load times in game you buy the upgrade, if not then you don't.

Teasy I really don't think you understand just how usefull( or difficult it is to use) or how slow it is for doing anything but what it's currently used for. For the Aram upgrade to be worth while, a developer would have to jump through a whole bunch of hoops to make sure your data moves through Aram in the right way. Trying to accomodate more aram when it's added is a real pain in the ass. As I said before it's usually reserved for things that don't change often. btw very few games out there use streaming in the way you are thinking.

So now you're doubting even what Julian says about it's uses? After all he seems to understand the GC hardware pretty well, ad I'd be suprised if you don't agree with him if it doesn't fit your opinion.
 
Just to get my own answer on this I mailed mark at retro studios to see what he thought.

He told me they didn't use portals in the first metroid game (they used a PVS system) but they are in the second game.

He also said the Aram is useful, great as a cache between the slow disk and main ram if you have assets that don't need instant access, but you don't want to wait for seeks/loads.

So yes it can be used as a cache, but you don't want to put data you need instantly in there. Since most games don't stream data, I say it's usefulness is pretty limited. great forhtings like menu art, sound, sticking the executable and other data, but not grat for things like world geometry, textures, or anything that animates.
 
Ingenu said:
Cause the strength of a console is that it's a set hardware.
And yet another strength to be BETTER hardware. One shift in the ~5-year lifespan of a console is not going to brutalize it or turn it into a PC-like environment. It's just a question of if they want to lose some profit to kick it up a notch in the middle.
notAFanB said:
it's not really about breaking anything except giving devlopers another (non-tirvial) decisio to make, to support or not support?
Well, for the most part you only have a few developers out of the total number who are really taking full advantage of a system to begin with, and they're the ones who ARE willing to take every advantage possible to make the most graphically-stunning and overall cool games. Even if all the changes do is feed them, you'd still have your stand-out titles becoming more stand-out. :) And on the "fixing problems" side, if one can add a workaround to old problems that make it more developer-friendly and make sure to TELL them about it, I think more devs would be willing to make the necessary changes and work with them in the future. (So long as it does make things easier for them with notable benefit, rather than just trading one arduous process for another. And that side would be much harder to work out in a way that wouldn't break games for old systems in the future, I imagine...)
 
Qroach said:
Teasy, how is flipper going to access the grapical data at 81 megabytes per second and give you interactive framerates?

'Cept, that's not what either I nor Teasy proposes. Look, you wouldn't propose developers use XBox harddrive to access graphics and other elements needed on a per-frame basis now would you? Yet, it CAN be used to stream in new level data quietly in the background.

Why's this so hard for you to understand when it comes to GC and its A-RAM????????? It's the same feckin' concept, for crying out loud!
 
Instead of adding in more aram, why not add in a harddrive? Surely the cost of a small harddrive can't be much more than the ram, it would serve the same purpose(even if it wasn't quite as fast), and it serve as a large mass storage device. What ever happened to the microdrive they planned to add onto the underside of the gamecube?
 
That was just something IGN-Cube dreamt up, when hearing about a new microdrive IBM had made. Years ago obviously, since IBM no longer develop HDs.
 
All I can say is that yeah, what you say is possible, but if it's practical, I'd say no. Do any games use it this way? I'd say few if any... Why? because it's be a huge amount of work and the majority of game out there don't stream data the way you're thinking. certianly no a first person shooter.

I'm sorry but since when did a first person camera somehow make this less possible? I mean sheesh a 3rd person title with a free or semi-free camera poses the same difficulty (actually a bit more since the camera usually has a larger field of view) and they've been done before...

As far as practicallity goes, I don't think it's too much of a pain to stream data... Especially if you've got an a$$ load of RAM (fast or slow) to bury disc access latencies... The bigger headache isn't streaming data, but making the model portable to other platforms...
 
Archie,

I'm sorry but since when did a first person camera somehow make this less possible? I mean sheesh a 3rd person title with a free or semi-free camera poses the same difficulty (actually a bit more since the camera usually has a larger field of view) and they've been done before...

Actually i was referring to making use of add on memory while still being compatible with the regular size memory. You don't think that wouldbe extra work? Anyway, why would you want to stream data like that for a first person shooter anyway? It's seems like extra work for little benefit imo.

As far as practicallity goes, I don't think it's too much of a pain to stream data... Especially if you've got an a$$ load of RAM (fast or slow) to bury disc access latencies... The bigger headache isn't streaming data, but making the model portable to other platforms...

Well fair enough, I was talking to the programmers here and there mentioned a few ways to stream data out of aram, but they would have to structure everythgin a specific way to make it functional. You're right that wouldn't port well at all.

Hmmm, if you have an ass load of ram (like the PC) you just end up loading everything you need into memory. There's got to be some reason streaming has been used for specific games/genres and not others.
 
Qroach, did you even read Teasy's post? Because it seemed obvious to me that he wasn't talking about rendering from ARAM. He was talking about sending stuff from ARAM to main RAM when needed. Like if you go through a door into a new level. The data would be sent once from ARAM to main RAM where its used to render the frames. When you go through another door another area is loaded from ARAM to main RAM. Again he's not talking about per frame access from main ram, neither is Guden Oden.
 
Ali -G

Did you even read Teasy's post? Because it seemed obvious to me that he wasn't talking about rendering from ARAM. He was talking about sending stuff from ARAM to main RAM when needed.

Yes I know you have to load into main memory first. What I meant by accessing graphical data at 81 megs per second was what if flipper needed something right away. You wouldn't be able to access it until it had already transferred to main memory. If flipper needed it right away, you couldn't get it to flipper any faster than 81 megs persecond (hence my original comment). What I'm saying is, if you think you have to load something into main memory, and have the room to load it already, why not just keep it there?
 
Grand Theft Auto 3 and Vice City streamed stuff for the loading of a city. I suppose with ARAM, the loading could be a bit better(the GTA games would load a simpler texture and polygon version of the environment before loading the full thing, probably could be skipped completely with aram), or higher res textures and environments could be loaded in. How many gamecube games out now load things in for the level off the aram or the disk as you're playing, and how many do it in a way that it's noticable and could benefit from aram?
 
The PS2 has a HUGE bus, and limited memory, so they can afford to load things and get rid of them pretty quickly, I've heard with osme really fast hidden vehicle in GTA3 you can go so fast the textures don't have time to load up ahead of you.
 
What I'm saying is, if you think you have to load something into main memory, and have the room to load it already, why not just keep it there?

No but that's the whole point of streaming though isnt it?, its needed because there isn't enough space in RAM to hold everything. You have 24mb of main RAM and its full with general game code and the textures, geometry ect from the current area your in and the area you just came from. So when you come to the next door you don't have the area beyond the door in main RAM. Since the game doesn't know which area your going to until you choose to open the door to that area. After all the player might go right back where he just came from so it'd be inefficient to throw that data away until your sure that won't happen. So when the player does choose to go through a new door the data for that new area needs to be streamed into main RAM, replacing the last level before the one your in. Where as the disc drive would take a few seconds to transfer 10mb of textures and geometry for the new area into main RAM the ARAM could transer the same in a fraction of a second.

This wouldn't be useful for all types of games. As Guden Oden said it would be most useful in games where the level is segmented into many seperate area's. Like Metroid Prime or Silent Hill, or Doom ect
 
QRoach said:
The PS2 has a HUGE bus, and limited memory, so they can afford to load things and get rid of them pretty quickly
Last time I checked, we stream from optical discs, and those reach maximum speeds of 5MB/sec (on PS2). I could have the hugest bus in the world and it wouldnt make streaming any faster then that.

Anyway, why would you want to stream data like that for a first person shooter anyway? It's seems like extra work for little benefit imo.
If everyone thought like that, nobody would ever stream, and free roaming games would not exist on consoles at all.

Hmmm, if you have an ass load of ram (like the PC) you just end up loading everything you need into memory.
On PC the OS will stream FOR you without you moving a finger. Aside for performance it's pretty irellevant how much physical RAM you have available - the game will still run, and stream as much as it needs to fit.
 
Yes I know you have to load into main memory first. What I meant by accessing graphical data at 81 megs per second was what if flipper needed something right away. You wouldn't be able to access it until it had already transferred to main memory. If flipper needed it right away, you couldn't get it to flipper any faster than 81 megs persecond (hence my original comment). What I'm saying is, if you think you have to load something into main memory, and have the room to load it already, why not just keep it there?

So the Xbox harddrive really is useless afterall.
 
Faf,

Last time I checked, we stream from optical discs, and those reach maximum speeds of 5MB/sec (on PS2). I could have the hugest bus in the world and it wouldnt make streaming any faster then that.

yes I know... you can't get more data the the disk will let you access. which is why GTA 3 allowed a car to go faster then they could load the textures.

If everyone thought like that, nobody would ever stream, and free roaming games would not exist on consoles at all.

I did say first "person shooters". I also didn't say streaming altogether isn't useful.
 
Back
Top