Welcome! Log In Create A New Profile


Screen resolutions and visible areas

Posted by melw 
Screen resolutions and visible areas
December 02, 2008 01:23PM
Ok, perhaps this is more of a game design than coding topic, but nevertheless I'd like to hear few pointers on how people are handling different screen resolutions.

I've been wondering what are the most used resolutions one should support when developing Wii software. Say, you want to have pixel perfect 2d background for each and every resolution - what would you ask from your graphics artist? Would it make sense to have e.g. 720x576 (native PAL) image with no important information in the border areas so that it can be cropped to whatever resolution is used? What exactly are the minimum and maximum resolutions Wii can deliver and should be supported? Should one take account the possibility that the user has TV that further crops the screen, shaving further off from the borders? Do you tend to use different graphics assets for widescreen and 4:3 modes?
Re: Screen resolutions and visible areas
December 02, 2008 02:28PM
All homebrew I've seen is 640x480 (as far as I can remember).

Not sure why there hasn't been support for a true full screen like official Wii games (unless you can, and I just don't know how, or it's in the CVS version I don't have)
Re: Screen resolutions and visible areas
December 02, 2008 03:29PM
Wii maximal resolution is 720x480 (480i,480p) for NTSC & PAL60 and 720x574 (576i) for PAL50

The Video Hardware display the content of an external framebuffer (XFB), which is located in RAM, on screen . The video size is ALWAYS 720x480 or 720x574 but the "active" display size can be smaller.

The Video hardware can also:

- adjust the position of the active display within the full video frame (xoffset, yoffset)
- upscale the original framebuffer width to any width up to the maximal video width (720 pixels): this is generally used to handle widescreen

The external framebuffer can be filled with pixel data "manually" (direct write into xfb memory) or, more generally, by hardware copy from the internal framebuffer content.

Internal framebuffer (EFB) is located inside the Graphic Harware ("GX") memory and is where GX hardware is doing its rendering (3D, texture,...): it is limited to 640x528 pixels.

The EFB limitation is somehow related to the fact that the safe area for TV (the area that can "really" be seen, because of overscan restrictions) is a centered 640x448 pixels area for NTSC & PAL60 or 640x528 pixels area for PAL50: this is where you should keep important stuff to be displayed.

Vertically, the Graphic Hardware can upscale the EFB height to the XFB height: this could be useful for compatibility reasons in the case of PAL display, where you can not have a 574 pixels high EFB but still want to avoid black borders.
Still remember that most TV have vertical overscan which limit the visible area to approximately 448 (528 for PAL) lines

Horizontally, it's possible to display larger screens by either:
- doing successive copy to the external framebuffer, the only limit being the RAM size.
- using the GX scaling feature to render a downscaled image and then use Video Hardware (VI) horizontal scaling ability to fill the screen up to 720 pixels
Still remember that most TV will hide part of these 720 pixels, the maximal horizontal visible resolution being very variable between TV models.
Re: Screen resolutions and visible areas
December 02, 2008 06:23PM
Wikipedia has some general rules for use in determining "safe" areas for action/text to be displayed on a TV.
Re: Screen resolutions and visible areas
December 03, 2008 11:25AM
Thanks for all the replies - this cleared up things for me quite a bit.
Sorry, only registered users may post in this forum.

Click here to login