iPad Pro m4 stuck at 80 fps

Hey,

Just got the 13” iPad Pro M4 and all 3.x legacy apps are running at 80 fps max (not sure about 4.x modern)

Perhaps something here could be useful

My guess is the pro motion display logic is a bit different in the new model?

Interesting! Have you tried?

viewer.preferredFPS = 120

(Thank you for the link, looks like we need to do something special to enable 120hz on iPhone)

Both viewer.framerate and viewer.preferredFPS do not exceed 80fps even with the newest update (474)

Out of curiosity, can you test when connected to power vs on battery?

Apple does not allow us to set a specific framerate, so I wonder whether the device is choosing based on other factors

Both ways gives the same result, using FPS Overlay (old project on web repo)

When I run this I get some more interesting results


function setup()
  timer = 0
  fos = 0
end

function draw()
  background(40, 40, 50)
  timer = timer + DeltaTime
  fos = fos + 1
  if timer >= 1 then
    print(fos)
    fos = 0
    timer = 0
  end
end

The 3s are when swiping away focus

I sent over a beta feedback email but to add to this thread:

Here is all the code I’m running


-- Tester

function setup()
  timer = 0
  fos = 0
end

function draw()
  background(40, 40, 50)
  timer = timer + DeltaTime
  fos = fos + 1
  if timer >= 1 then
    print(fos)
    fos = 0
    timer = 0
  end
  
  sprite(asset.builtin.Tyrian_Remastered.Blimp_Boss_Destroyed, 599, 500)
end

And here is the result:

There is some sure strangeness happening with performance and drawing to the screen

Comment out the sprite call and the fps is 120


You can even add many print statements to throttle the code but it still prints at 120fps so it is a problem with the gpu not cpu.

My iPad gpu test jic to show it’s not defective

1 Like

Interesting. I see a similar dip on my iPad when drawing a sprite. I will profile the performance

1 Like