|
тыкватаква
Сообщений: 5,275
Регистрация: 20.04.2003
Возраст: 45
Не в сети
|
Цитата:
Сообщение от RSoftware
|
Спасибо за адрес, он действительно рассказал. Если вам интересен ответ:
Цитата:
Hi Alf,
This is based on a performance argument. The PS3 has two main units, the
RSX (graphics chip) and the CELL processor. The CELL has 1 core (PPU)
and 8 SPU processors, but one is disabled and another one is reserved
for the OS. Thus, game developers have 6 SPUs to utilize. By the way.
the full statement was that we used only 30-40% of the CELL's computing
power (which excludes the RSX).
As all game developers, we make sure we have coarse performance
statistics for every frame. In the attached screen shot, you can see
what it looks like. The gray areas of the SPUs indicate that the SPU is
idle. We can hover the mouse over the bars and get more detailed
information and we can also make statistics such as the 30% number we
have released. (By the way, the graph is a little misleading, because
the PPU and GPU is busy-waiting a lot.)
The goal of course is to utilize the SPUs and the PPU to its fullest
potential. Our goal for the next project is to be "SPU-bound", meaning
that we're close to 100% utilization of all units. If we're at that
spot, then we at least utilize the hardware all the time instead of
having the hardware sit idle. At that point, it should be mentioned that
we can still get a performance boost, for instance by optimizing the SPU
jobs. Some SPU jobs are very easy to optimize (our figures indicate that
we can get from 5x to 20x speedup by using SPU assembly), and we
typically do that - but some jobs are simply too hard to "down-code" and
considerably more engineering time has to go into optimizing.
So, going back to the statement that we're using only 30-40% of the
PS3's power reflects that in Uncharted we utilized the SPUs only
sparingly. The SPUs were typically only 20-30% active, and given that
the SPUs are more powerful than the PPU, I give the ratio of one SPU
versus one PPU at about 3. [This number is based on the average speed-up
ratio from putting an algorithm on SPUs instead of running it on the PPU.]
cell_power = 6 * 3 PPUs + 1 PPU = 19 PPUs
spu_ratio = spu_power / cell_power = 18 PPUs / 19 PPUs = 0.95
ppu_ratio = ppu_power / cell_power = 1 PPU / 19 PPUs = 0.05
Let's say we utilize the SPUs 25% of a frame. We were typically always
PPU bound (i.e. 100% PPU usage):
cell_utilization = 0.95 * 25% + 0.05 * 100% = 0.2875 = 28.75%
Finally, one might wonder how this calculation would differ if we also
took the RSX into account. Of course, this is a strange comparison,
since it is rare that one can do something on the RSX that is
transferable to the SPUs. However, we have done that recently - and we
find that 5 SPUs are about 50% faster than the RSX [for full-screen
effects]. So, by that measure 1 RSX = (5 * 3.0 PPUs) / (1.5) = 8.33
PPUs. Let's say 8 PPUs to make the computation easier:
spu_power = 6 * 3 PPUs = 18 PPUs.
ppu_power = 1 PPUs.
rsx_power = 8 PPUs.
ps3_power = 18 + 1 + 8 = 27 PPUs.
ps3_utilization = [(0.25 * 18) + (1.0 * 1) + (1.0 * 8)] / 27 = 13.5 /
27 = 0.5 = 50%
Rough numbers, of course - and a lot of marketing speak - but you can
see where we are coming from.
And by the way, trust me, we're definitely on the way to get SPU bound! :-)
Thanks,
PKE.
alf****@rambler.ru wrote:
> Hello Pal-Kristian,
>
> I do not know whether you have the desire to answer a simple player of the
> Russia, but I will try. Our forums have discussed
> Your article about the famous game Uncharted, notably
> declaration that the game is using 30 or 40% of the power of the
> PS3.(http://www.psu.com/Uncharted-dev-usi...0004449-p0.php)
> The question follows - how, from which you received it, these figures?
>
>
--
Pеl-Kristian Engstad (engstad@naughtydog.com),
Lead Graphics & Engine Programmer,
Naughty Dog, Inc., 1601 Cloverfield Blvd, 6000 North,
Santa Monica, CA 90404, USA. Ph.: (310) 633-9112.
"It is better to have 100 functions operate on one data structure
than 10 functions on 10 data structures." -- NN
|
У кого есть время и навыки - переведите красиво для форума, пожалуйста.
|