Flickering?

Topics: Performance
Apr 19, 2013 at 10:11 AM
Hi!
I am running the lastest drop against the latest monogame version, I use Xamarin studio (also latest version). I experience a lot of flickering in the test-application, both in simulator as well on device (both iphone and ipad). Anyone else with the same problem?
Coordinator
Apr 19, 2013 at 3:47 PM
Hello. Are you using the github version or the codeplex version? The codeplex version is only updated periodically for major releases.

next, what type of game are you writing? Is it a fixed-timestep or continuous time game?

We don't see any flickering in our game, but that's not helpful in your case. You may be experiencing a slow update() call? Check that your update is not taking too long.

If you are doing custom draw calls, make sure that you are not blanking the framebuffer repeatedly during a single draw loop.

Post an animated gif of what you are seeing and that could help diagnose the problem.
Apr 22, 2013 at 11:57 AM
I am using the github version.

The thing I compiled was the "tests".

What I see is that when I set pDirector.DisplayStats = false, the flickering stops.

When it is on I get a blue flicker now and then... will try to record a video.
Coordinator
Apr 22, 2013 at 3:56 PM
Yes, the tests will do that as they are not optimized for production game use. The tests just show you how to do some aspects of the framework.

There are several cocos2d-xna games in production that you can buy or download from the marketplaces. You will see there that the flickering does not exist in such games.

our free game - KinderTiles - is available on iTunes and Windows Phone as a Cococs2d-XNA game. On Android, it is still a native Java app.
Coordinator
May 22, 2013 at 3:52 PM
The flickering has been fixed in MonoGame. The backing store used by cocos2d-xna was being blanked each frame instead of preserved in MonoGame and thus the flickering. This fix also addresses the transitions not displaying correctly when transiting. There is a PR in MonoGame waiting for merge that is required for this to be fixed.