The Surface SDK comes with an awesome tool that is called the Surface Simulator. This tool allows you to test your applications that have been built with the Surface SDK. It even simulators multiple contact points when you plug multiple USB mice into your computer! Sweet! Right? Well, yes and no.
After opening the Surface Simulator you will notice a new notification icon appear in your Notifications Area. Do not be afraid. This is normal. It represents that the Surface Vision system is active (or in this case simulated).
Now when developing on a desktop with Simulator I would recommend doing a couple things after starting up. In the process list of your task manager you will find 4 new processes. With all of these processes running you will be consuming a solid 300 MB of memory on average. And you can bet on any given day you will find several instances of Visual Studio 2008 and Expression Blend 2.0 open so I hope you went for the extra RAM in that new laptop you just bought!
Attract.exe: This is the Water Application that runs as the default attract application.
SurfaceInput.exe: This is the simulated hardware device that will feed the Simulator UI with contact events from any USB mice you happen to have connected.
SurfaceShell.exe: This is the “window manager” for Surface (if it can really be called that). It allows you to switch between applications through those 4 nubs in each corner of the screen.
SurfaceSimulator.exe: This is the dark grey windows that allows you to simulate fingers, blobs, or tags inside your application.
Go a head and kill Attract and SurfaceShell.
This will shed a nice 200mb of memory utilization off your base runtime. Score! I’ve seen SurfaceShell go even as high as 300MB of memory. Score+1! Unless you are testing Shell Integration. I would highly recommend turning it off.