I have read around on the forum and have seen other people with a similar issue. Althought they have the problem on Windows 8 rather than on Windows Phone. They can fix their issue by disabling the touch feedback rendering with this code: Windows.UI.Input.PointerVisualizationSettings.GetForCurrentView().IsContactFeedbackEnabled = false; Windows.UI.Input.PointerVisualizationSettings.GetForCurrentView().IsBarrelButtonFeedbackEnabled = false;
As far as I know, Windows Phone doesn’t do this. What happens is the frame rate will run fine, at 60fps, but as soon as a finger is placed on the screen the frame rate will drop to between 45fps and 60fps. Even if I disable my code which deals with any touch input, I still get the problem. It happens on the hardware, but any test I’ve done on an emulator doesn’t have the problem.
I fixed the frame rate drop with only happened with the debugger attached roughtly a year ago. We don’t have any framerate drop these days, so this might be something different.
I’ve tried the app using Cocos2D. I get the exact same problem, so I’m guessing it’s not a problem with MonoGame. I would guess it’s a problem with Windows phone itself when dealing with touch input maybe?
I’m running it on both an emulator running at 720p with Windows Phone 8.1 and the Lumia 1520 running Windows Phone 8.1.
The app is a MonoGame Windows Phone 8 project.
I don’t get the problem with a blank app, but this is what is confusing me. I run the app with my touch input code. When I’m not touching the display, it runs fine. As soon as I touch the screen, it drops to 45 and goes between 45 and 60 causing notible jumping. I get the same problem with no touch input handling. It only happens when I am touching the display.
I’ve noticed it happens with all sorts of frameworks. I’ve tested with SharpDX, MonoGame, Cocos2D and HTML5. They all seem to get an fps drop of around 15 frames. I’ve tested it without the any update going on, so it just draws the frame. Yet still it gets a frame rate drop. I can only assume there is a problem with Windows Phone handling the touch input? But then surely other games would get the problem too?