Huge performance hit from OpenFeint when achievement unlock

When a player unlocks an achievement there is a big performance hit and I get a lot of dropped frames until the actual display of the achievement shows up on screen. Once it is up everything goes back to running fine and the notice slides away nicely. I’m not sure if the dropped frames are from the wireless communication or from loading the OF resources because once it’s up all runs well.

Are there any tips about tuning the performance or implementation suggestions so that notices don’t kill performance. I’m trying to maintain 24fps and using OF 2.4.10

For example:
If it is the data transmission is there a flag for turning off data transmission from OF until I enable it again, like at the end of the level. That way the player could get achievement updates from OF during play because of local data, but then once the end of the level is reached data transmission is enabled and the online stats updated. I’d like to leave OF enabled for the updates, it’s just the transmission I’d shut off if this were the case.

Or if it is the loading of resources is it possible to “cache” the visual data of OF at initialization so it doesn’t load it in the middle of the level when the achievement is unlocked?

I’ve seen that some other apps using OpenFeint unlock achievements with custom notices so it must be possible to modify that, I’m just not sure what files need to be tweaked when using Unity and unfortunately the OpenFeint forums don’t seem to be very active yet. I guess they are still too new.

We have found that you get the best performance if you handle the notifications yourself with a sprite/text through unity instead of letting OpenFeint show it’s announcement view.

If you have the newest version of OF there is an option in the OpenFeint initialization settings in the unity editor to not allow popups. You can then hook into the notification event of the OpenFeint script provided to show your own messages.

Some of the strings returned by this method are not very descriptive… it may be best to actually simply post your own messages when you unlock an achievement or such. We use our own custom OpenFeint wrapper which tracks achievements and highscores locally so it is easy access

And what about multiple OF users on the same device, how do you handle that?
Or what if a user deletes the app and reinstalles it, your local tracking would be reset then, right?

Thanks for the reply Shawn.

I was experimenting with shutting off the notifications and did notice it did not gouge my performance as badly, but I’ve also seen that if I shut off my wireless it will run quite smoothly. so OF transmitting is also taking quite a few frames away from the game.

Is there a way to also shut off transmission and basically put OF into a “local” mode. And then I can enable the transmission again during menus or end of level screens?

Why don’t you just unlock the achievements on the gameover screen or something? Just keep some booleans that you can check.