Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Discussion Why Unity Mobile 30 fps is not smooth!

Discussion in 'Android' started by HakanOzcan, Jan 9, 2023.

  1. HakanOzcan

    HakanOzcan

    Joined:
    May 14, 2013
    Posts:
    40
    First of all, if you dont have a significant answer, pls let it go.
    I build and published 4-5 mobile games up to now, and now working on a fast paced racing game. None of my games are smooth at 30 fps at mobile. None of them smooth even at 45-52 fps range. I couldnt figure it out why. I already optimize my games heavily, tried lots of camera follow techniques...

    Lots of guys asking same 30fps problem but none of them answered properly. The easiest test: open an empty scene, put a cube in front of camera, apply a very basic 2 keyframe animation, and run it at 30 fps on mobile, it will not be smooth even at very low speeds of cube motion, not even at 45 fps!

    Believe me i examined lots of AA mobile games which are pretty smooth at 30 fps, but why?
     
  2. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,021
    Do you have an example of a game you think is smooth at 30 fps and one that isn't (preferably on iOS as I don't have an Android device handy)?

    Because I'm unsure what it is you are talking about:

    1. Android used to have frame pacing issues, which caused unstable Time.deltaTime and jittering. This can be fixed by enabling the "Optimise frame pacing" option in android Player Settings.

    2. Or if it's just that the AAA games know what kind of motions look "ok" at 30fps and avoid everything that looks weird. Fast lateral camera moves (especially without motion blur) look really stuttery at 30fps for example.

    3. Something else entirely!
     
  3. Moonjump

    Moonjump

    Joined:
    Apr 15, 2010
    Posts:
    2,572
    A mobile game needs to run comfortably at a multiple of 30FPS to be smooth. If you can get above 30, but not reach 60 (your comments suggest this), make sure you cap it at 30 FPS. Your game might be swapping between frames at 60FPS and frames at 30FPS. This will not appear smooth. It is better to force it to run at 30FPS.

    I have a couple of games in soft launch that run at 60FPS smoothly, so smooth movement is possible. They are Jigscore and twist&shoot (if checking them out, twist&shoot should be easy to find on iOS, but searches always end up going to a different game on Android. I will be changing the game name) to see that it can be done in multiple game genres.
     
  4. HakanOzcan

    HakanOzcan

    Joined:
    May 14, 2013
    Posts:
    40
    Hey buddy, I downloaded twist&shoot, a nice game with a nice mechanic btw, as you said it is perfectly smooth because it runs at 60 fps, and most probably runs at 60 fps almost %90 percent of phones cause it doesnt contain much complexity. Did you try run it at 30 fps on an average android. I bet you it will look awful. However, what i want to say is that 30 fps should be enough to be smooth. At least we watch movies at 24 fps in theory:)

    In my case, my games are a little bit complex with average tris count on a camera view is 150k-200k, average draw call is about 20-30. I optimize the game like a psycho. However, whatever i do, i dont get more than 45-50 fps on some android devices which looks awful. Fixing to 30 fps instead 45-50 fps do not solve the problem.
     
  5. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,021
    Yes, but cinematographers / videographers are careful to avoid camera moves that look stuttery at 24fps, it's a big deal (random example: https://www.reddit.com/r/videograph...i_film_in_24_fps_it_stutters_too_much_how_do/ ), and most movies have excellent motion blur by default, which helps with movement appearing smooth.

    Which is why I'm trying to understand if you're talking about something other than the inherrent stutteriness that all 30fps games have, especially if they don't have motion blur and especially if the developer didn't take care to avoid certain kinds of movements.
     
  6. Moonjump

    Moonjump

    Joined:
    Apr 15, 2010
    Posts:
    2,572
    I test all my games at 30FPS. Jigscore works perfectly fine at 30, but the smoothness of 60 just feels better. twist&shoot is playable at 30, but the player can move so fast that the lower frame rate means it looks like moving in steps.

    As AcidArrow said, movies use motion blur and limit camera movement. Gemini Man was shot at 120FPS, but I have only seen it at 60FPS. The sharpness is different to what people are used to, but it has action scenes that wouldn't work at 24FPS. I wish there was more variation in movie frame rates.

    30FPS works in some games, but not others. I hate racing games that run at 30FPS, but there have been many console racing games at that frame rate because better screenshots get more sales. Strategy games are not such a problem for example.
     
  7. RetroFlight

    RetroFlight

    Joined:
    Nov 16, 2019
    Posts:
    41
    The reason I've found android to be not smooth is when I have stuff running in fixed update vs normal update. So basically when the physics doesn't match the frame rate.
     
    Fimiam likes this.
  8. Korczu

    Korczu

    Joined:
    Apr 4, 2020
    Posts:
    10
  9. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,021
    Presumably that was this bug which has been fixed since then.

    https://issuetracker.unity3d.com/is...atime-values-arent-stable-on-specific-devices