by andy@andybeaulieu.com via Andy's Blog on 3/25/2010 6:48:00 PM
If you’re creating a graphics intensive application (such as a game) for Windows Phone 7 (WP7) using Silverlight, you’re going to want to maximize performance for both the emulator and your Silverlight code. Let’s look at some ways to maximize both of these.
WP7/Silverlight Graphics Performance
WP7 devices have a separate GPU which is optimized for handling graphics operations such as displaying, scaling, rotating, and 3D. Silverlight on WP7 has the ability to use that GPU, which can greatly increase graphics performance. It does this by allowing a “snapshot” of a visual, called a Bitmap Cache, to be handed over to the GPU for manipulation.
Emulator Performance
Ensure the Emulator can use your Host’s GPU.The Emulator can take advantage of the GPU on your computer to render graphics, greatly increasing its performance… but only if it meets a couple of requirements.
1. Make sure your video card supports at least WDDM 1.1 and DirectX 10.
a. From the Start Menu, select Run and enter dxdiag
b. Go to the Display tab and ensure that the DDI Version and Driver Model are 10 or better and 1.1 or better, respectively.
c. To be extra sure the Emulator will like your video card, create an XNA Windows Phone Game. This project template is a bit pickier with GPU support.
i. Start up Visual Studio and create a new XNA Game Studio 4.0/Windows Phone Game.
ii. Run the project. If you get the following error, then the Emulator will not support your GPU. Deploy failed with the following error: The current display adapter does not meet the emulator requirements to run XNA Framework applications
… However, all is not lost. It could be that you just need to upgrade your video card drivers. Visit the site for your video card manufacturer and see if they have some newer bits (This one actually worked for me J)
Enable Virtualization in your BIOS
Support for Virtualization at the CPU level is provided on newer processors. This can significantly increase the speed of emulators, allowing them to talk more directly to the CPU, instead of a software layer. Because this is a CPU-level function, you need to go into your computer’s BIOS to enable it (it will normally be OFF by default, so you will need to switch it on).
1. Reboot your computer and look for the magic BIOS key. It could be Ins, Del, a Function Key, it all depends on the BIOS version.
2. Once inside the BIOS, look for a category named “Virtualization” or something to that effect. Switch all of those options on.
Summary
I’m sure there are some things here I missed or just didn’t know about, so please give me your comments. Here are a few links to other resources on the topics above:
Silverlight Performance on Windows Phone – Seema RamchandaniWP7 Developer FAQSilverlight 3: GPU Acceleration + Bitmap Caching – My Blog
Original Post: Windows Phone 7 + Silverlight Performance
The content of the postings is owned by the respective author. Silverlight Feeds is not responsible for the contents of the postings. This site is automatically generated and cannot be reviewed for abusive content. If you find abusive content on Silverlight Feeds, please contact us. Designated trademarks and brands are the property of their respective owners. All rights reserved.