Red Mercury, LLC
Register / Buy
AcidSolitaire®
AcidFreecell®
Atom Smash
Xmas2k
Download
Support
Contact
About
News
RM Labs

Video Performance

The first thing we noticed about the PEG-N710C was that the user interface was NOT slow. The original color Palm, the IIIc, was noticeably sluggish when refreshing the display. This was to be expected, since the IIIc hardware was the same speed as the Palm Vx, but with a color display, there was more data to be moved around. The N710C doesn't suffer this sluggish fate, even when running in high resolution.

Standard resolution is 160x160. High resolution has 4 times as many pixels.
Some observant people have noticed that the N710C hardware runs at the same speed as the Handspring Visor Prism and Palm M505, but with a high resolution 320x320 display, there are four times the number of pixels to draw. Before seeing the device, you might reasonably conclude that display updates would take four times as long in high resolution, but they don't.

Hardware Video Acceleration

One of the most exciting, yet least known, advances with the N710C is the addition of hardware video acceleration. Common user interface actions such as drawing fonts and erasing the screen are accelerated in hardware by the video controller. Because of this acceleration, the user interface is quite snappy. The acceleration happens automatically with Palm OS applications - no special modifications are necessary, so older Palm OS applications will be just as snappy in high resolution mode.


All those letters and numbers draw pretty fast thanks to hardware acceleration.

The addition of hardware acceleration is particularly exciting for game developers, as it opens up the possibility of even more advanced video hardware in the future. The hardware video acceleration is the main reason why the N710C can run in high resolution and still have a peppy user interface.

Example: Erasing The Screen

For example, a Palm OS application that needs to clear the screen would use a Palm OS function called "WinEraseWindow". Normally, the Palm OS would use a software routine to clear each line of the display one at a time. With high resolution, you can see how this would take four times longer - each horizontal line is twice as long, and there are twice as many of those lines. But on the N710C, WinEraseWindow just passes a command to the video hardware that says "Erase 320x320 rectangle". The video hardware can then erase the display without using the N710C main processor, and it can erase at the fastest possible speed. In our tests, just erasing the screen was about four times faster than the fastest software routine we could muster.

Hardware Level Compatibility

The ultra-savvy among you might be wondering about applications that don't bother to use the Palm OS routines for displaying things to the screen. What if a game doesn't call "WinEraseWindow" to erase the screen? Will it be slow? Will such applications even work on the N710C? This is where the Compatibility Mode comes in to play, also known as "hardware pixel doubling". In Compatibility Mode, a 160x160 pixel image in video RAM is doubled horizontally and vertically to create a 320x320 pixel image for display.


You know TealMovie hits the hardware. Works just fine in Compatibility Mode.

When the display is running in Compatibility Mode, it looks like a 160x160 pixel display to the software application, down to the hardware level. The video hardware translates the 160x160 pixels to the 320x320 pixel display (each pixel becomes 4 pixels on the actual screen, but not in video RAM). Since the doubling is done in hardware, it is fast, and it allows a very high degree of compatibility with old applications. High fives all around to Sony for providing this level of compatibility, even with applications that hit the video display directly.

AcidSolitaire Performance

The first application that Red Mercury converted for full high resolution support was AcidSolitaire. Our goal was to keep the same screen layout, but provide higher resolution graphics for all elements of the game, including the color backgrounds. Fortunately, since we keep all of our graphics compressed when not in use, the additional overhead of all high resolution in-game graphics added only 4k to the overall size of the game. If AcidSolitaire detects it is on a high resolution device, it decompresses the high resolution graphics set, otherwise it leaves them compressed and out of the way.


Low resolution is on the left. High resolution looks better.

For those of you unfamiliar with Red Mercury games, you might be wondering why video performance would matter for a solitaire game in the first place. We end up playing a lot of solitaire, so we want the game to be very responsive. If it seems sluggish at all, it takes away from the fun of the game. Also, with automatic card movement and card dragging, the display has to refresh instantly, or the entire game has a muddy feel.


Low resolution is on the left. You be the judge.

Our original attempt at running in high resolution ended up being slow. Since AcidSolitaire has its own drawing routines, it wasn't taking advantage of hardware acceleration in high resolution mode. We really were four times slower out of the gate. But after spending just a day or two tweaking for the N710C, we ended up with AcidSolitaire 2.0 running great in high resolution on the N710C. How great? Well, AcidSolitaire 2.0 in high resolution on the N710C runs faster than AcidSolitaire 1.0 in low resolution on the Visor Prism. Not bad.

More Information

For more information about high resolution mode, pixel doubling mode, running older applications in high resolution, and Red Mercury's support for high resolution, see these pages:

Performance (You Are Here)
Technical Info
Our Impressions
N710C Screen Shots
Red Mercury Games Screen Shots

Back to Red Mercury

Entire contents Copyright © 1999-2005 by Red Mercury, LLC. All rights reserved.
Sony is a registered trademark and CLIE is a trademark of Sony.
PalmOS is a trademark of Palm, Inc. All others are trademarks of Red Mercury, LLC.