Digital Foundry: We have the bizarre situation of Vita running the HD remasters of Metal Gear at sub-native Vita resolution - most the image quality boost comes from a move to progressive scan, not increased res. Can you give us some insight into the challenges of operating at full res on the Vita hardware?
Peter Memmott: Yes, Stranger's Wrath runs at full 960x544 resolution. The screen on the Vita is a wonderful and vibrant display and it would seem a shame not to use it to its full potential. After porting Stranger's Wrath I can understand why, at the start of the project, you might think about the compromise of a lower resolution to give you a decent frame-rate. This was our approach for the first half of the project. It was only after an intense period of optimisation that we realised we would be able to run at native resolution and have the decent frame-rate as well.
To run at full resolution it really came down to fill-rate and making the necessary changes to make sure the GPU isn't overloaded for any part of the frame. One of the biggest problems for us was having a lot of full-screen passes during each frame for various effects. There's an extra overhead for doing each of these passes because a new scene needs to be started for each one, so it's a good idea to reduce the number of scenes or change the scene order to combine scenes that render to the same buffer. Playing with the order of the draw calls within each scene also led to some improvement because of the way the system implements deferred tile rendering. Another big gain came from the bloom effect where we combined several blur passes into one single pass and compensated by changing the pattern of the texture samples.
Some of the more obvious enhancements that might easily be overlooked include: using the correct CG optimisation compiler options, switching to the alternative power mode during single-player gameplay to increase the GPU clock speed, and reducing the resolution of shadow, reflection and other effect buffers.