Excellent, and I can see you got creative with designing your tests. That’s a great skill to develop =)
Divide and conquer testing is one of the best things you can do in general, because regardless of the outcome of that type of test, it tells you something that can help narrow things down. In this case, what appears to be an inconclusive test actually suggests that the problem likely isn’t caused by any of your code (not guaranteed, but at this point, extremely likely). The project is almost as barebones as it could be, and that has had what sounds like no impact at all. Chances are, even if all you had was the main menu with a bit of animation on the button, you would still see the same problem. What this means is, unless you feel like stripping even more stuff out (and you can certainly try that, I’m not being sarcastic) to raise our certainty further, we can turn our attention to project settings, and by extension, the stuff in that link I posted last week.
Furthermore, because your desktop performance is fine and most other students don’t have this same problem, it’s now a very safe bet that this is all caused by some kind of quirk on your specific phone. For that reason, there’s a decent chance this is not fixable, but there are certainly a number of things to try:
I suppose the first thing we should have attempted in hindsight is to change the renderer from Mobile to Compatibility. When you do this, you should also go to the General tab in Project Settings and set Rendering–>Renderer–>Rendering Method.mobile to gl_compatibility. It seems these properties override whatever you set in that dropdown menu in the top right of the Editor, so always double-check that they are what you want them to be.
As another test, map a button to a new input and create a counter variable that starts at, say, 25. When the input is pressed, have this counter variable increment by 5 (so that it starts at 30), then write Engine.max_fps = counter
. That’s the basic idea, modify as you see fit, but you can probably already see that this will allow you to quickly test different max_fps
values to see if there’s some kind of correlation here. Given how fundamental the test project is at the moment, you’ll probably need to keep track of counter
's value yourself as you increment it.
In the General tab of the project settings, you can also try any or all of these:
- Set Display–>Window–>V-Sync–>VSync Mode to Disabled
- Set Display–>Window–>Size–>Mode to Exclusive Fullscreen
- Increase Physics–>Common–>Physics Ticks Per Second. Keep this to multiples of 60.
- Tinker with Physics–>Common–>Physics Jitter Fix. This should be kept between 0 and 2 inclusive, and I would include both in the set of values you try, just to see what happens. You will also need to enable Advanced Settings in the top right of the Project Settings window in order to see this.
If none of that makes a dent, then I’m afraid I’m out of ideas, so let’s hope something in there sticks! Do let me know either way, as I learn from these questions too ^v^