Panajev2001a
GAF's Pleasant Genius
Pud said:[...]
PGR 3 = 600p upscaled to 720p, much like this game will likely be upscaled on the PS3 from 480p to 720p.
To scale the game to 720p with PLAYSTATION 3 they still need to render the game in 640x720p and then let the HW scaler do the rest (unless their newest Firmware enables Vertical Scaling as well) which means that the game must detect that it is running on PLAYSTATION 3 and change the frame-buffers' size.
This brings us to an interesting consideration... how is this done unless they included a PLAYSTATION 3 optimized renderer that runs on RSX ?
PlayStation 2 emulation is currently done in HW and the frame-buffers (as well as the Z-buffer which we want to be at the same resolution as the back-buffer) reside in e-DRAM (4 MB).
/*Note: back-buffer is the VRAM buffer in which the application writes/renders to while the TV is displaying the active buffer (go search for Double Buffering) and during V-blank or when the application decides it is time (if you have V-sync turned off) you prepare it for display and switch it with the currently displayed buffer (which is called the front-buffer)*/
What we can say, according to what they have stated, is that a 1280x720p signal is coming out of PLAYSTATION 3 when playing God of War 2.
Unless PLAYSTATION 3's HW scaler is allowed to scale Vertically too in the near future, the only way to achieve what they are talking about would be to render the game in 640x720p resolution than ask the HW scaler to scale it horizontally to 1280x720p resolution (much like the 1080i/p problem has been "fixed").
If they simply could take a 480p frame and use RSX to scale it in software to 720p it would be no different than letting the HDTV scale it, unless your TV has a not so good scaler (which might be the case as they are not that cheap to make apparently).
Compared to 640x480 the 640x720p resolution brings us about 1.5x more pixels which would increase VRAM usage quite a bit if you decide to simply render internally at that resolution.
One idea could be to render regular 480p with 2xAA (I think they using AA already) and on PLAYSTATION 3 to down-sample to 640x720 (using 4xAA would increase too much back-buffer and z-buffer sizes even if they used 512x512 as base resolution) instead of down-sampling to 640x480.
640x720 is not a 4:3 aspect ratio, but more of a 8:9 one (the HW scaler in PLAYSTATION 3 would scale the picture horizontally back to 16:9 native), and if you were rendering wide-screen in 640x480p (tall rectangular pixels instead of square pixels), so once you detect PLAYSTATION 3 mode you might also want to pay attention to the aspect ratio setting in your World to Camera space transform.
Another option,and probably a better one, would be the following one. They could decide to turn AA off and simply change (compared to 480p wide-screen mode) the resolution of back-buffer and Z-buffer to 640x720 and leave the aspect ratio to 16:9.
As we have seen 640x720 has roughly 1.5x the pixels compared to 640x480 and rendering 1.5x more pixels would still take less VRAM space (which is the important metric to compare 2xAA and render at 640x720 natively without AA, since the GS does not do MSAA, its AA method is good old Super Sampling AA [you basically render at a higher resolution and then downsize it intelligently to the original target resolution]) compared to 2xAA.
You would have a bigger front-buffer compared to plain 480p, but you would be saving some space for it by using only 1.5x bigger back-buffer and Z-buffer compared to 2x bigger back-buffer and Z-buffer as you would have with 2xAA turned on.