The Rainstorm has now been converted to HD foreground graphics, with low-res water effects and background. With the water effect as such low resolution (1/4 size) as it is to get good framerates, it looks pretty awful compared to what it was (1/2 size).
I decided that it's better to have a crummy visual effect with better gameplay than the opposite. The only way I think I can get good performance out of this game (mostly the water effect) is to convert to C++/OpenGL once the PlayBook native SDK is released. And I do want to do that. One of my coworkers today had a great idea to make the game more fun, but it will be a lot of work. I might just have to save the idea until I port it to C++/OpenGL. Of course, there are other games I want to do in 3D...
I previously mentioned how I got high-quality foreground graphics with low-quality background, and yesterday I thought of a much simpler and probably faster way to do it, so refactoring was much less of a headache. In short, the app now runs at full resolution, including all of the foreground bitmaps and such (no scaling down), and the background is rendered at low resolution and upscaled. That way only one thing needs to be scaled, rather than a whole bunch of things.
Showing posts with label playbook. Show all posts
Showing posts with label playbook. Show all posts
Saturday, June 18, 2011
Thursday, June 09, 2011
Rainstorm performance analysis
I added a display for frames/second (fps), and discovered that my multi-touch version runs at about 13fps, so lower than I guessed by eye. That means the HD version must be at about 5fps. I decided to do some subjective profiling by turning on and off various features (such as drawing only the ripples, turning off sound, etc.) to find out what the performance hog is. Of course it's the ripple effect. Nothing else makes a huge difference, basically everything else drops the rate by about 3fps total.
So I tried changing the resolution to 256x150 (1/4 screen res), and poof, we got 30fps. The ripple effect is a little grainy, but I think with everything else at full res it might not look too bad. I'd rather have a smooth, fun game than a choppy, nice-looking game any day. If RIM ever decides to improve the performance of the flash runtime I can bump the resolution back up. I also tried 384x225, but that was about 20fps. And I tried changing the resolution of just the ripple map (behind-the-scenes calculations) and that helped, but the 256x150 combo was the only setting that got 30fps.
So now I'll be updating all the graphics to work well at this new resolution.
So I tried changing the resolution to 256x150 (1/4 screen res), and poof, we got 30fps. The ripple effect is a little grainy, but I think with everything else at full res it might not look too bad. I'd rather have a smooth, fun game than a choppy, nice-looking game any day. If RIM ever decides to improve the performance of the flash runtime I can bump the resolution back up. I also tried 384x225, but that was about 20fps. And I tried changing the resolution of just the ripple map (behind-the-scenes calculations) and that helped, but the 256x150 combo was the only setting that got 30fps.
So now I'll be updating all the graphics to work well at this new resolution.
Subscribe to:
Posts (Atom)