Originally Posted by Dabit
as others have stated, the refresh rate of the GPS unit in the windows phone is 1Hz. I've been developing a lap timer and I can confirm this absolutely, as I've used a timer service to write data to the log file while logging GPS position. It doesn't matter what the interval for the call to the logger is, the GPS positions only update 1 time per second.
There is a way to pre-start the GPS service when the application loads to have it warmed up.
The only other advise I can offer is to construct the GeoCoordinateWatcher with GeoPositionAccuracy.High:
private GeoCoordinateWatcher _watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
_watcher.MovementThreshold = 1.0;
var gpsObservable = CreateObservableGeoPositionWatcher();