As part of SilverSprite there are now two rendering methods - the old Silverlight Canvas style and the new Bitmap-based rendering. They both have their pros and cons, so I've hacked in a quick toggle to change renderer mid-game. This is how Awakener looks playing in Google Chrome at x2 scale using both styles:
- Quicker - runs at 100% on my atom netbook.
- Ugly aliasing, makes text harder to read.
- Visual glitches (transparency especially).
- Outstanding memory leak when using bitmap fonts(?).
- No aliasing or visual glitches, looks practically identical to xbox and native pc.
- Much more processor-intensive - choppy performance on my netbook but runs at 100% on a fairly low-spec dual core pc.
Bitmap rendering adds (at the moment) a higher hardware requirement than I'd like, but it's really helping push XAGE's cross-platform viability. Again, it's likely that there are further optimisations to be made in both SilverSprite and XAGE, and perhaps the recently announced Silverlight v4 will offer further performance improvements.
Edit: There exists a third option that hadn't occurred to me - using bitmap rendering for the backbuffer and canvas rendering for the rendertarget. This provides a happy medium - a few visual glitches but looks better than pure canvas and runs faster than pure bitmap. This translates to three Silverlight visual quality options - Low (canvas), Medium (canvas/bitmap) and High (bitmap).