![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Yeah, I'm reading about it now. (Hmm, I guess I'm not the only person who
> still thinks 512 MB RAM is a lot. ;-)
For a games console it's probably enough. What do you hold in RAM during a
game? All the 3D meshes and textures are on the GPU video memory only*.
Probably only the code, collision meshes, map data? And the PS3 OS is
vastly simpler than Windows, so I doubt that uses up much RAM.
* When you write a game under Windows, you must keep all the GPU data
mirrored in normal RAM, because if the user Alt-Tabs to a different 3D game,
you need to refill the GPU memory quickly (and not go through some long
load-from-disk process) when the user comes back to your app. On a games
console you don't need to do this, because (at least on the PS3) you have to
quit one game before you can go into another.
> It's a completely different algorithm to be sure. The mathematics is
> simple enough - it's figuring out how to make it efficient on real-world
> hardware that's the hard part. ;-)
There was a nice paper I read in a book a while back (one of the GPU gems
series I think), where some algorithm was explained for doing correct
multi-level reflections on the GPU. It was quite complex, involving
generating lots of cube-maps with depth and texture information and some
ray-tracing steps in a pixel shader. In the end they compared the output
with a real raytracer, and the results looked identical, but the GPU version
ran at about 10fps IIRC with something like 4 levels of reflection. The
real raytracer (Maya I think) was measured in minutes.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> Yeah, I'm reading about it now. (Hmm, I guess I'm not the only person
>> who still thinks 512 MB RAM is a lot. ;-)
>
> For a games console it's probably enough.
Well, judging by the number of PS3 games... ;-)
> What do you hold in RAM
> during a game? All the 3D meshes and textures are on the GPU video
> memory only*. Probably only the code, collision meshes, map data? And
> the PS3 OS is vastly simpler than Windows, so I doubt that uses up much
> RAM.
That's rather perverse though. Are you telling it you need "at least 2
GB RAM" to run M$ Office smoothly, but 1/8 of that is just fine for
running extremely intensive game software?
> * When you write a game under Windows, you must keep all the GPU data
> mirrored in normal RAM, because if the user Alt-Tabs to a different 3D
> game, you need to refill the GPU memory quickly (and not go through some
> long load-from-disk process) when the user comes back to your app. On a
> games console you don't need to do this, because (at least on the PS3)
> you have to quit one game before you can go into another.
Now that you mention it, if I Alt-Tab out of TF2, my PC locks up for
about 30 seconds. (As in, I get a black screen for 30 seconds.) Then
Windows comes up - possibly in the wrong resolution. Switching back to
TF2 is similarly slow. Go figure...
> There was a nice paper I read in a book a while back (one of the GPU
> gems series I think), where some algorithm was explained for doing
> correct multi-level reflections on the GPU. It was quite complex,
> involving generating lots of cube-maps with depth and texture
> information and some ray-tracing steps in a pixel shader. In the end
> they compared the output with a real raytracer, and the results looked
> identical, but the GPU version ran at about 10fps IIRC with something
> like 4 levels of reflection. The real raytracer (Maya I think) was
> measured in minutes.
As I understand it, technologies like CUDA allow you to run arbitrary
code on a GPU. So no need for convoluted trickery to convince the GPU
that your proplem is just like texture mapping, just feed it the actual
calculations you want it to do. (Of course, it runs arbitrary code, that
doesn't necessarily mean it runs it *fast*.)
Of course, CUDA is *only* for nVidia GPUs. (Wouldn't surprise me if ATi
had developed something similar.) I wonder if this will be like the old
3Dfx API where eventually everything gravitates towards a single API
that works for any GPU?
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> That's rather perverse though. Are you telling it you need "at least 2 GB
> RAM" to run M$ Office smoothly, but 1/8 of that is just fine for running
> extremely intensive game software?
Well almost, I know that just double the PS3 RAM would be enough to run
Vista + Office smoothly. But then Vista does 842434 more things than the
PS3 OS does, so I think it's allowed to use up half a gig more if it wants
to.
> Now that you mention it, if I Alt-Tab out of TF2, my PC locks up for about
> 30 seconds. (As in, I get a black screen for 30 seconds.) Then Windows
> comes up - possibly in the wrong resolution. Switching back to TF2 is
> similarly slow. Go figure...
Of course it is up to the game writer how they handle Alt-Tabbing, and of
course it will depend how much RAM your machine has and how much of it is
used for other stuff. I imagine the mirror of the GPU data gets paged to
disc first, as it's not used until you Alt-Tab back to the app. But it
would be a silly game design if it had to reload and uncompress all the game
data each time you alt-tabbed back to the game.
> As I understand it, technologies like CUDA allow you to run arbitrary code
> on a GPU. So no need for convoluted trickery to convince the GPU that your
> proplem is just like texture mapping, just feed it the actual calculations
> you want it to do. (Of course, it runs arbitrary code, that doesn't
> necessarily mean it runs it *fast*.)
I suspect that the clever bit about CUDA is how it translates your arbitrary
code into operations that the GPU is capable of carrying out. And I also
suspect, that to get decent performance you need to have a pretty good
understanding of how the GPU actually works, and write your code
accordingly.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> That's rather perverse though. Are you telling it you need "at least 2
>> GB RAM" to run M$ Office smoothly, but 1/8 of that is just fine for
>> running extremely intensive game software?
>
> Well almost, I know that just double the PS3 RAM would be enough to run
> Vista + Office smoothly. But then Vista does 842434 more things than
> the PS3 OS does, so I think it's allowed to use up half a gig more if it
> wants to.
I just find it ironic that running Word requires massively more RAM than
running a bleeding-edge computer game, that's all.
> I suspect that the clever bit about CUDA is how it translates your
> arbitrary code into operations that the GPU is capable of carrying out.
Er, yuh. Definitely. ;-)
> And I also suspect, that to get decent performance you need to have a
> pretty good understanding of how the GPU actually works, and write your
> code accordingly.
Have you had a read of the CUDA manual? I don't know much about GPU
design, but reading this gave me a better idea of what this stuff works
internally...
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Tue, 15 Jul 2008 17:26:57 +0100, Doctor John <joh### [at] home com> wrote:
>Stephen wrote:
>> When I was in school, we weren't even allowed to use calculators never mind have
>
>Stephen, when you and I were in school, the slide rule was considered to
>be cutting edge technology :-)
So advanced I had to teach myself how to use one :)
>BTW Remind me to listen to the Kat when she suggests that going for a
>drink with a bad back is not a good idea
>
Was it the drink or going into work and travelling during the rush hour?
But then you are a man and listen to no one. :)
--
Regards
Stephen
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Tue, 15 Jul 2008 17:30:50 +0100, Orchid XP v8 <voi### [at] dev null> wrote:
>
>I saw a collection of slide rules yesterday... Of course, the really
>"cutting edge" ones were the *spiral* rules. ;-)
Grom Google
About 1748 George Adams made spiral slide rules.
Cutting edge :)
--
Regards
Stephen
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> I just find it ironic that running Word requires massively more RAM than
> running a bleeding-edge computer game, that's all.
What you mean is, you don't understand why Vista needs more RAM than a
modern games console has to work properly. Did you ever think that a modern
desktop OS does vastly more than a games console does? Or that a modern OS
is designed to take advantage of hardware upgrades? (Vista is using 2.4GB
on this machine now with nothing much running, but I know that my CAD
software will open in a fraction of the time it did on XP - of course I want
MS to put in features like this).
Actually, I was surprised when I found this:
http://blogs.zdnet.com/Bott/?p=247
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
scott wrote:
> What you mean is, you don't understand why Vista needs more RAM than a
> modern games console has to work properly. Did you ever think that a
> modern desktop OS does vastly more than a games console does?
Well let's examine that one.
I've only ever seen a PS3 in action once. I was using it to play a game
called "Call of Duty 4". Never heard of the game, but it looks amazing.
Only 10 years ago, a game like this would have been impossible. There
wasn't a computer on Earth powerful enough to run it. It's quite
impressive that it can even be done today, frankly.
On the other hand, Word just makes text appear on a screen, and lets you
edit it. (And change fonts and styles.) That was possible 20 years ago.
So why does it suddenly require so much hardware to achieve the same
thing as before? It's not like Word has any significant new features or
anything...
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> So why does it suddenly require so much hardware to achieve the same
> thing as before?
Ermm, like I said, Word seems to use about 10MB here...
> It's not like Word has any significant new features or
> anything...
LOL
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Nicolas Alvarez wrote:
> When I was 11 I was doing Javascript. And I've yet to learn *any* kind of
> assembly language.
And that's why I have a big file of one-line-answer interview questions
testing the breadth of peoples' knowledge. Nevermore shall I be tasked
to assist someone implementing a network protocol who has never heard of
a state machine. :-)
--
Darren New / San Diego, CA, USA (PST)
Helpful housekeeping hints:
Check your feather pillows for holes
before putting them in the washing machine.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |