POV-Ray : Newsgroups : povray.off-topic : It had to happen again... : Re: It had to happen again... Server Time
30 Jul 2024 04:10:51 EDT (-0400)
  Re: It had to happen again...  
From: scott
Date: 29 Mar 2011 04:04:35
Message: <4d919293$1@news.povray.org>
>> requirement of 1GB for years.) What is worse, the RAM is shared by the
>> CPU
>> and the GPU, in other words, the GPU doesn't have its own RAM (as is
>> customary in a PC). This means that graphics and other game data have to
>> share the 512 MB (unlike on a PC, where graphics can be done mostly on
>> the
>> GPU's RAM and whatever the game needs on the main RAM).

It has advantages though, like not needing to transfer any data between 
the CPU RAM and the GPU RAM (which is a major bottle-neck in a PC, 
causing many complex algorithms to be developed).  On the xbox the CPU 
can update textures and meshes directly without needing to either write 
a complex vertex/pixel shader or transfer over large amounts of data 
per-frame.

The lack of CPU RAM isn't as large a problem as you might expect.  A 
well written PC game engine tries to minimise transfer between CPU RAM 
and GPU RAM each frame, spreading out large data transfers (eg due to 
the player entering a new part of the level) over many frames.  On a 
console you load the new data from disc directly to the shared RAM 
rather than from CPU RAM.

Of course some things need a lot of CPU RAM which are not possible on 
the xbox (or need some clever programming), but I guess they decided the 
unified RAM between CPU and GPU gave the best bang-for-buck for most games.

> Another problem with that, is that the CPU always have to wait for the
> GPU. Whenever the GPU, and other display hardware, is accessing your
> RAM, NOTHING else can access it.

The difference between the xbox and normal PCs with shared memory is 
that the xbox has a memory bandwidth of 22.4 GB/s.  Cheap PC 
motherboards today with onboard GPU have something like 8 GB/s memory 
bandwidth, laptops probably lower.  Even today the latest DDR3-2133 RAM 
has "only" 17 GB/s.

> If it was the other way around, you'd
> get corrupted display with shearing, horizontal and vertical rolling,
> and lot of flicker.

Well you can still write to the RAM (obviously not at *exactly* the same 
time as the GPU is reading it), you just make sure what you are writing 
to is not needed by the GPU that frame (usually you write to a shadow 
copy which then gets used the next frame).


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.