Game runs smoother when profiling on an iPad 2, sluggish otherwise

We have a puzzling issue where our game (an endless runner/side scroller) appears to run smoother when the profiler is attached to our iPad 2 (our minspec device). We have had numerous eyes look at the game and confirm the same thing. Release builds also appear to run sluggish compared to development+profiled builds.

Here’s the repro:
Make development build, don’t debug with xcode
Start up game and attach profiler to the iPad 2
Game runs fine with no major hitches/maintains steady 33ms frametime, our in game FPS counter also shows 30FPS
Unplug the iPad and the game will continue to run fine
Next, close the game and start it up again. The game will appear to run sluggish despite our in game FPS counter still showing a steady 30FPS.

This is very strange behavior and quite difficult to debug. It doesn’t show up on an iPhone 5 that we’ve tested with. I thought it might be vsync related, but I don’t know how the profiler would affect our quality settings (Vsync on, Every V Blank) and from what I understand iOS forces vsync on anyways. I found a couple other mentions of this happening to other people but on Android (one, two). Does anyone know what special sauce the profiler is cooking up to cause this discrepancy? Any ideas or help would be greatly appreciated!

EDIT: using Unity 4.6.6p3
EDIT2: Confirmed to also be an issue with the iPhone 4s

Had another unfruitful day looking at this yesterday. Anyone out there have any clues?

that is quite LOL i agree 8). Can you please submit bug report with repro project and drop case number here. One thing to try out (or rather two):

  1. Check if you tweak Application.targetFrameRate. I found some funny behaviour under profiler when you go under desired framerate it seems it slows down display link (or smth) - so if you target 60 fps and run slightly slower, in normal circumstances you will get this sluggishness/jittering, but under profiler it will be perfect 30 fps. And no, i have no clue for now what actually happens but that i saw plenty of times
  2. If you are gpu bound, try tweaking
    ENABLE_DISPLAY_LINK_PAUSING
    ENABLE_DISPATCH
    in UnityAppController+Rendering.mm
    if none helps - bug report with repro is the only way for “top people” (c) to look into it :wink:

EDIT: next time please post on ios forums - i check “general” support only when i am bored to death (usually once in a month and only 1-2 pages), and the rest of ios team does the same - so you will get little ios love here 8)

Thanks for the response Alexey and for the heads up regarding the iOS forums! Our Application.targetFrameRate is indeed set to 30 FPS, but commenting out that line didn’t seem to improve the issue nor did flipping those #defines to 0 unfortunately :(.
I will submit a bug report and attach our project early next week, although at this point I consider it in a shippable state. I’m just glad that we are indeed NOT crazy and this behavior has been seen before ha!