Help! Getting terrible framerates on retina with Unity's UI

Unity v5.2.2, testing with iPad 3 (using this as a worst-case test device)

A quick disclaimer, I’m a game dev noob, so please excuse my lack of knowledge. I’ve been combing these forums for a bit and can’t find anything that addresses my problem.

I have an extremely simple driving game for the iPad that has 2 main elements: a rather large control panel (think 10-20 buttons, sliders, dials, etc.), and a viewport. The control panel UI elements are essentially a vehicle dashboard and never move, just allow for touch input and update with pertinent info. The viewport is a render texture connected to my in-world vehicle and my environments are, by design, extremely low poly (maybe a couple hundred polys in my test level at best).

My initial thinking was that I should pretty easily be able to get ~30fps on a retina display with such a simple setup. Unfortunately I barely scratch 10fps on device.

Decreasing the screen resolution makes things gradually better (I’ve tried both 1536x1152 and 1024x768) but I feel like this is only a small part of my problem. Independent of screen resolution, my profiler numbers are horrible. The game seems to run at an average of 66ms with Canvas.RenderOverlays accounting for about

When I look at the project in the profiler, I’m getting comically bad numbers. Overall, the game runs at around 60-66ms with almost 41ms just stemming from Canvas.RenderOverlays alone. I have some other offenders here that I’m looking into, but this 41ms seems incredibly high to me. Does anyone have insight into what exactly boosts this number up and what I can do to drop it down?

I’m completely open to other thoughts/suggestions as well.

Thanks!
Max

I posted yesterday about only getting 30fps when I expect 60fps. My render time is 23ms for a handful of sprites in a scrollrect!

RenderOverlays was fine for me though.

I submitted a bug report (including my project) - perhaps you should too.

Thanks for the reply. Yeah, I’m still wondering if this is a bug, or just something that I’ve implemented against best practices (though nothing stands out after reading about it a bunch).

This thread has me wondering if, instead of having a single fullscreen canvas with a bunch of UI elements on it, I should have each element with its own designated canvas. If this is all correct, my game is undoubtedly having to redraw the entire fullscreen canvas each tick. Does anyone have any insight into this?

I’m going to fiddle with it and update this thread.

Could you please submit a bugreport?
Thanks!