WipEout HD’s dynamic resolution adjustment
Hey, this is fascinating — it seems that WipeEout HD uses dynamic resolution to maintain 60fps. So, when the action is too hectic to manage 1920×1080x60, rather than drop frames or slow the game down, it scales the resolution then passes it out through the PS3’s hardware horizontal upscaler. That analysis has seen it vary between 1920 and 1280 horizontal pixels on a frame-by-frame basis. The linked article says overall it is less visually intrusive than the alternatives; if I get around to buying it I’ll have a look for myself.
I think that’s a very neat solution to a difficult technical problem.






This is interesting, how can it work? Surely there’s a load of overhead with dynamic and constant resolution changes. Mind you, that sounds ace. If a screen is clogged with graphics, the game maintains speed while the graphics go a bit fuzzier. Nifty.
I would imagine that the rendering resolution is chosen as rendering of that frame is about to begin, probably based on the rendering time of the frame before it. You can’t guess ahead of time how long a given frame will take to render, but as not much changes frame-to-frame, it’ll be pretty similar to the last one. If the last frame rendered in less than 1/60th of a second, bump the horizontal resolution up a notch for this one. If the last frame took more than 1/60th of a second, drop the resolution.
This would also explain why the linked article saw some tearing still; perhaps you need one frame to render slowly to trigger the switch to a lower resolution. Anyway, no, I don’t think this would introduce any meaningful overhead.
I agree though that out of the options when a rendering engine runs out of steam — drop resolution, drop frames, or slow the entire game engine down — this is the best way to maintain speed.