Search Unity

Very poor performance on Android after upgrading to Unity 5

Discussion in 'Android' started by digitalMUTANT, Mar 3, 2015.

  1. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @pmaloo: I would, except that 4.6 needs pro for rendertextures... :( (Although I do have a 4.6 backup, I JUST ported everything over to 5, so there's no going back... :D)
     
  2. Sunwest3d

    Sunwest3d

    Joined:
    Mar 5, 2015
    Posts:
    13
    Thank you FuzzyQuills for sharing all of your findings :). I did try to change most of those, especially using the legacy shader, VSYNC, and forcing to Open GLES 2.0.
    I am still surprised as to why on an empty scene with a plane covering half the screen the frame rate drop to 19fps on the Kindle Fire HD, granted it is 3.5 years device but it is my low setting benchmark.
    There is something not right there.
    The Android is a huge and tough market and I don't want to leave behind those people with a slightly older device or phone.
     
    digitalMUTANT and MrEsquire like this.
  3. Jonny-Roy

    Jonny-Roy

    Joined:
    May 29, 2013
    Posts:
    666
    Okay a few things to note:

    1) If you want to know where you are getting slow down, profile you game!!!! If you don't understand the output post the profiler data so we can help you!
    2) The standard shader is using Physically Based Shading, this is more complex than normal lighting, and so slower, if you want fast shaders, use the Mobile ones, not the Legacy ones, the proper Mobile ones!! If you can write your own shaders, do you can then optimise them for your specific needs, the Unity ones are to try and cover as many situations as possible so will generally be a bit slower.
    3) If you really want to boost that little bit more, when you light map turn off Realtime GI, this is a new feature and can add some extra time to the processing.

    But always profile!!
     
    Sunwest3d likes this.
  4. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @Jonny Roy:
    Believe it or not, after getting Unity 5, and likewise discovering all the bugs, I headed STRAIGHT to the profiler to find out where the rats were hiding! ;)

    And I will point out that using a camera with the clear flags set to skybox also causes issues with rendering at the moment... :D
     
  5. Sunwest3d

    Sunwest3d

    Joined:
    Mar 5, 2015
    Posts:
    13
    Thank you Jonny Roy. That is also the first thing I have done is used the profiler and it was CPU bound 80% and mostly used by the rendering.
    Now how would you change the built-in terrain shader to mobile ? Thank you.
     
  6. Rynji

    Rynji

    Joined:
    Jan 19, 2015
    Posts:
    3
    I'll paste my issue here i have postes to Answers.Unity3D

    "I have upgraded a project to Unity 5 (from 4.6) but it is running extremely slow on Android specifically and certain GUI related elements are bugged on Android.

    The Animator.Update uses over 50% CPU power and spikes up to 60%.
    I've checked the same project in Unity 4.6 and it is only using an average of 1% with some spikes (<1 second) of ~12%.

    The Animator also gets stuck in some states on Android. My menu works with transitions using animations, but it gets stuck in some menu's because the animator doesn't change states.

    The game works perfectly fine inside the editor (still 50% Animator CPU usage, but not noticeable on my PC) no skipping states or anything.
    Problem is the game is now completely broken on Android because of the Animator behaving strangely.

    I also have methods added to buttons in a for-loop which are not working on Android as well.
    I add method's to the buttons like this:

    button.onClick.AddListener(delegate { MyMethod(local_i); });

    The method gets called fine inside the editor, but on Android the button is not doing anything at all besides switching states (you can see it being pressed).


    Animator performance on Unity 4.6.


    Animator performance on Unity 5.0 Upgraded project, same Animator.

    So my main question is:
    Is there something i am doing wrong or is it on Unity their side?
    Everything works perfectly fine inside the Editor Play and also on a Web Build (both run at 60+ fps) It's just that the Android build is completely broken.
    Am i doing something wrong or should i wait on a fix from Unity?

    My Android devices are a Nexus 7 (2013) and a Nexus 5 by the way."

    Here is my question link:
    http://answers.unity3d.com/questions/919406/animatorupdate-high-cpu-usage-on-unity-5-resulting.html

    The thing is, should i just continue development and wait for Unity to fix the Android build or is it something i am doing wrong?
     
    Seven_P likes this.
  7. JoeVoxel

    JoeVoxel

    Joined:
    Sep 28, 2012
    Posts:
    127
    Not for me. I've got a lot of performance problems since I upgraded to Unity 5. (config : ios 8.1 ipad air)
    I don't know the source of the problem, there's so much parameters to check....
     
  8. Jonny-Roy

    Jonny-Roy

    Joined:
    May 29, 2013
    Posts:
    666
    Well, it's only taking up 1.96ms of the CPU time in the shot you posted which is not a big deal and shouldn't cause any issues. Post the profile of your device not the editor.
     
  9. Jonny-Roy

    Jonny-Roy

    Joined:
    May 29, 2013
    Posts:
    666
    Profile it, it will tell you where the source of the problem is.
     
  10. Rynji

    Rynji

    Joined:
    Jan 19, 2015
    Posts:
    3
    Profiler on Android (Nexus 7 2013)
    Animator50Android.png
    Problem is my buttons still aren't working on Android while they are working fine in Editor, i do not know if it is related with the performance issues.
     
  11. Jonny-Roy

    Jonny-Roy

    Joined:
    May 29, 2013
    Posts:
    666
    Have you got any events in the CanvasRenderer scripts? it seems odd the overhead is in OnTransformChanged which suggests some events occurring, try running logcat and make sure you are not getting any null reference errors, it might be why the buttons are not working.
     
  12. Rynji

    Rynji

    Joined:
    Jan 19, 2015
    Posts:
    3
    I fixed the buttons, it had to do with saving/loading to Android so separate from the performance issues.
    The thing i discovered is that my CanvasAnimationController has a lot of states missing (upgrade destroyed it pretty much) so i'll rebuild that and then look into performance again.
     
    Jonny-Roy likes this.
  13. Sunwest3d

    Sunwest3d

    Joined:
    Mar 5, 2015
    Posts:
    13
    Coming back to my issue with slow terrain.
    I set a custom material to the terrain using mobile shader diffuse as now it is available in the terrain setting directly. The quality became awful and I had to increase the base texture resolution in terrain setting from 512 to 2048 so that it become better quality somehow. After that the performance increased on my Kindle Fire HD but since I am using 2 textures in terrain, the mobile shader diffuse shows blocks 8*8 when 2 textures are used. I also disabled all shadows. in Quality setting. I am still playing with terrain setting but I wish I had the ability to use the exact same shader used in Unity 4.6 because everything was fine then and now using legacy shader does not work the same way.

    I appreciate everyone feedback, hopefully this can help others too.
     
  14. Jonny-Roy

    Jonny-Roy

    Joined:
    May 29, 2013
    Posts:
    666
    You should be able to download the source code for the old shaders and bring it into Unity 5, not sure if there would be an issue with compatibility (Unity 5 is a bit stricter with the syntax) but worth a try.

    If not,download the Unity 5 shader source, editing the shaders is pretty easy.
     
    Sunwest3d likes this.
  15. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    Heh... wasn't for me, it managed to compile a shader with a really bad error in it! :D (And then I wondered why the shader compiler crashed after trying to build for android... ;))

    @Sunwest3d: I presume your terrain is basically static geometry, so in that case, mind if I write an optimized shader for you? I have a static-mesh-only shader I am using for my game that I can port to the terrain engine if you like. :)

    I went with the static-dynamic shader idea a while ago, as it meant I could use only one shader variant to reduce the overhead on mobile, especially if I plan to target this thing: http://www.pendo.com.au/pendo-pad-4-0-multi-touch-7/

    And since the performance issues are basically gone in my game (And since I don't use mecanim, I don't have the weird issues some others were having) I might as well share some of the techniques I used! :)
     
    Sunwest3d likes this.
  16. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    Hmmm... That there doesn't seem to be broken! :) I did notice the unusual amount of time in the animator update, but overall, your device is actually getting along better than mine did to start with... :D On my screen, you literally couldn't see the peaks, they were that high! :)

    On second thought, I should go profile my device again, just to see how much I reduced it, then post it here. Will do when I get home. :)
     
  17. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    Ok guys, I am about to go on a bug reporting spree! :D

    EDIT: Bug about SV_Target and certain shaders sent! My school network blocked the port... :mad:

    Details:
    Simply put, using SV_Target for certain shaders outputs a buggy GLES shader, causing it not to compile and likewise it doesn't work on the mobile device.
     
    Last edited: Mar 9, 2015
  18. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    Ok, is it possible to do bug reporting on a webpage here? I simply can't use it at school. (Safe port policy rubbish, etc...)
     
  19. Fuzzy

    Fuzzy

    Joined:
    Feb 11, 2011
    Posts:
    266
    I tried exporting a very simple test scene to my android phone (xperia play) and noticed a poor framerate, too.
    According to the profiler the only thing that's keeping the fps down is Camera.Render - Clear.
    with a whooping 60.8% / 25.36ms time.
    Tried clearing my camera for color only and depth only, what brought only like ~5fps i think. and not clearing at all gave me a totally broken image on screen, but at least got me to like 40-45fps.
    This is the scene (obviously runs fine on PC)


    and this is the profiler when running it on the android device
     
  20. arcooke

    arcooke

    Joined:
    Sep 1, 2014
    Posts:
    29
    I've been following this thread and since you guys have started sharing some profiler screenshots, I'm starting to become more concerned about the issues I'm having.

    My game, which is very basic (doesn't actually do anything right now, as I am just learning), is getting very poor performance on Android. There is a constant high CPU load related to GISceneManager / EnlightenRuntimeManager.UpdateEnvironmentLighting

    I do not see this entry on anyone else's android profiler screenshots, but it is always #1 in my CPU usage on Android. Even if I delete all of my lights, it still stays at 40-60% usage. I've tried the suggestions offered in this thread and so far no luck.

    CPU time is low, because in this screenshot, I literally have nothing more than 1 skybox and 1 prefab with 1 material, 1 default light, and a total of 1.9k tris in the scene. All mobile shaders, no shadows, no effects, no update scripts, 10 batches.

    Only getting 50fps on a Nexus 7 2013, and the scene is nearly empty. 2,500 fps on PC



     
    Last edited: Mar 10, 2015
  21. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    Not sure if the framerate cap on android is actually 60fps anyway on some devices, but here's a tip: try removing the skybox, and using a skysphere mesh instead. For some reason, having a skybox in the scene doubles the polys!

    And if you're using the standard shader, try one of the mobile ones and see what you get. ;) those ones are specifically optimized for mobile, and upped the frame rate for a lot of people. (Well, except me, of which I use my own special framework! :))

    Also, by the looks of what you said, the relatime GI calculations might be bringing your mobile device to it's knees. To turn it off, go to lighting tab > scene > and untick "Precomputed Realtime GI"
     
  22. Lundrengyr

    Lundrengyr

    Joined:
    Jan 18, 2014
    Posts:
    4
    Just wanted to add something to the conversation to see if anyone has any ideas...

    I just started moving an Android game over to Unity 5 - I've also experienced some drops in frame rate, but I'm more concerned with the >30s load time.

    Here's the profiler:

    ProfilerScreen.jpg
    As you can see, over 2000 calls are being made to Loading.AwakeFromLoad, which takes over 30000ms

    Apparently it's related to the new UI Canvas.

    Any ideas? Thanks.
     
  23. mbowen89

    mbowen89

    Joined:
    Jan 21, 2013
    Posts:
    639
    Do you have your textures set correctly for that Android device? Maybe try disabling static batching and see what that does?

    A lot of people went from free Unity 4 to "pro" Unity 5 with all these new features and don't realize what new default things are going to take place.
     
  24. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @Lundrengyr: I did not see that on my project, of which uses the UI canvas for the main menus.

    Last time I profiled my game, on both PC and android, the things taking the most time on my project is physX and Camera.Render() (It doesn't affect PC much though, for obvious reasons... :D) But I have noticed some weird lag on ym main menu screen. (But then again, that could be because of the fancy clouds in the scene! :))
     
  25. Lundrengyr

    Lundrengyr

    Joined:
    Jan 18, 2014
    Posts:
    4
    I'm actually not using any static batching. Perhaps that's the problem?

    That's a good point - maybe there's some new default setting somewhere that I'm missing.

    I guess I'll just need to keep digging and see if any changes make a difference.
     
  26. pmaloo

    pmaloo

    Joined:
    Jan 25, 2015
    Posts:
    35
    In my case:
    1) Already using mobile shaders on everything.
    2) Clear flag is set to solid color.
    3) Static batching on/off didn't make any noticeable improvement. This should be a performance improvement anyway.
    4) VSync hack didn't result in any noticeable improvement.
    5) Using nGUI and not uGUI (max 3 draw calls at any given time).
    6) Realtime GI is off.

    Still, most of the time is taken by Camera.Render. The Resources.Load function also takes forever. I will see if I can post a video of my game to illustrate the fact that even simple progress bar animation using nGUI sprite is not functioning properly.
     
  27. plasmabazooka

    plasmabazooka

    Joined:
    Mar 8, 2015
    Posts:
    70
    Actually that function can be used one time only to load a result to some field for further usage.
     
  28. pmaloo

    pmaloo

    Joined:
    Jan 25, 2015
    Posts:
    35
    Are you sure that its supposed/can be used only once? Can you please provide the reference? I have never heard that before. I load multiple text resources and a mesh from my resources folder.
     
  29. plasmabazooka

    plasmabazooka

    Joined:
    Mar 8, 2015
    Posts:
    70
    Somewhere on initialization:

    Code (CSharp):
    1.  
    2. myPrefabFromResources = (GameObject) Resources.Load("YouPrefabName");
    3.  
    Somewhere on usage:
    Code (CSharp):
    1.  
    2. var sampleObject = (GameObject) Object.Instantiate(myPrefabFromResources, position, rotation);
    3.  
     
  30. pmaloo

    pmaloo

    Joined:
    Jan 25, 2015
    Posts:
    35
    @plasmabazooka Of course. You won't be loading the same asset again and again. I thought you were implying Resource.Load can only be used to load one asset ("used once").

    So back to the point, I only load my asset once, and it take forever to load with Resource.Load.
     
  31. Lundrengyr

    Lundrengyr

    Joined:
    Jan 18, 2014
    Posts:
    4
    Ok - just a couple more updates.

    I've been rebuilding the problematic scene piece by piece to see if I can isolate the issue.

    I did cut a few seconds off the load time by getting rid of Resources.Load in Start() - was using it to fill an array of about 30 "enemy" prefabs - so thanks for finding that.

    However, it would appear that the bulk of my massive load time actually came from my "Audio Manager" - which contains references to all of my audio clips so that I can call their activation from different scripts.

    All of my audio files (around 40) had "Preload Audio Data" checked - I feel stupid for missing this.
    Why there were over 2000 calls made I don't know, but disabling preload cut the total load time down to a few seconds.
    However, even little sounds like a UI tap would then drop frames on first activation, so I enabled "Load in Background", which seems to have prevented the audio from interrupting the main thread. However, the audio playback lags for about 3 seconds while it's loading in the background.

    As @mbowen89 was saying, it was some of those new defaults that were throwing me off.

    If anyone has any insight regarding optimizing these audio settings, I appreciate it. All of my clips are 44.1k / 16 bit mono .wav files.
     
  32. Fuzzy

    Fuzzy

    Joined:
    Feb 11, 2011
    Posts:
    266
    I also tried my small test scene on a Tegra 3 device (Acer Iconia A510) one would think that would have enough power to run this very simple scene, but nope:


    It's not Camera.Render > Clear, but Graphics.PresentAndSync this time.
    Quality settings had vSync disabled (but also tried every V Blank).
    Nothing but stuttery *about* 30 fps.
    Even without profiler enabled and only a TextMesh fps overlay to avoid the old and new gui in every way for this.
    But still, i have to admit i never paid much attention to that Clear call, but even here 1.7% - 0.49ms seems like a lot for just clearing.

    Edit:
    I noticed some logcat error outputs when starting the game.
    (Only on xperia play):
    E/Unity(6396): [EGL] eglDestroySurface(m_EGLDisplay, m_EGLSurface): EGL_BAD_PARAMETER: One or more argument values are invalid.

    E/Unity(6396): (Filename: ./Runtime/GfxDevice/egl/WindowContextEGL.cpp Line: 57)

    (And on both):
    E/libEGL(6396): call to OpenGL ES API with no current context (logged once per thread)
     
    Last edited: Mar 12, 2015
  33. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    now that didn't show up on my logcat... :D But that warrants a bug report! :)
     
  34. Zimbo

    Zimbo

    Joined:
    Jul 11, 2012
    Posts:
    8
    Same here. I upgraded from 4.6 to 5.
    I also tried al of the above, and more. 15 fps instead of hundreds fps in Unity 4.6.

    I even disabled the Audio. No effect whatsoever.

    The strange thing is, It does not really matter how complex the scene is. Always around 15 fps, whether there are just a few game objects, or 300.

    Profiler says me nothing (OK, Unity 4.6 free didn't have one, so i am not very experienced with this tool). But I am just a simple soul and i thought: 4.6>5 . And Passive and Active batching etcetera should not result in a fps drop.
    I am on a macbook (OSX 10.9.5)

    Happy Pi day
     
  35. bitter

    bitter

    Unity Technologies

    Joined:
    Jan 11, 2012
    Posts:
    530
    Hi,

    It's next to impossible to reply to this thread since it contains various problems, tho all related to performance in Unity 5.
    Currently we are investigating a problem with our JobScheduler that causes some Android devices to run more or less all cores at 100% in a spin loop. This should only affect projects that make actual use of the scheduler such as Animation, Culling, Realtime GI and PhysX. In the Unity 5 profiler you can switch from "Hierarchy" to "Timeline". The Timeline will show you if you have any jobs scheduled.

    Some other things in this thread is connected to VSync. My suggestion is _always_ keep vsync set to "Every VBlank". Android 5 is the first version of Android where we have seen support for rendering faster than 60fps. And it only applies to some devices. One of these devices is Nexus 6. The problem is that when rendering at 1000fps to a Nexus 6 the device becomes very unresponsive and it can take seconds for the device to react to button presses. Even the power button become unresponsive. We have a fix on the way that will force vsync in release builds but will still support no vsync in development builds for profiling. When you see Clear taking time in the profiler it's usually also related to VSync. Some drivers don't sync until the next call after 'swap', and before Android 5 most (all?) devices forced 60hz. So that means that it's very likely you may get hit by VSync inside Clear.

    Last but not least, please start filing bug report! If you think you have a solid case where Unity 5 perform worse than 4.6 file a bug. Unity 5 should for all intents and purposes be faster rendering the same content as 4.6 not the other way around.
     
    Gekigengar and konsnos like this.
  36. Fuzzy

    Fuzzy

    Joined:
    Feb 11, 2011
    Posts:
    266
    Alright, sent it in as a bug report.
    Too great i asked for a refund for my 5 license, so this report is not prioritized anymore.
    Even though i don't have my money back, yet, but the license was quickly disabled. ;)
     
  37. plasmabazooka

    plasmabazooka

    Joined:
    Mar 8, 2015
    Posts:
    70
    Should be physically based shader faster than Unity 4 diffuse shader in same conditions?
     
  38. bitter

    bitter

    Unity Technologies

    Joined:
    Jan 11, 2012
    Posts:
    530
    No. But you can still pick Mobile Diffuse in Unity 5 if you feel the Standard Shader is having an impact on performance.
     
  39. bitter

    bitter

    Unity Technologies

    Joined:
    Jan 11, 2012
    Posts:
    530
    What is the bug number?

    I don't know how you usually prioritize your bugs but we tend to prioritize by severity and not by user reporting the bug ;)
     
  40. supdawg

    supdawg

    Joined:
    Jul 8, 2012
    Posts:
    11
    For what its worth I also had the issue before rolling back to 4.6.3, an old HTC desire (kitkat) being used as a test unit which ran very smoothly until 5. The jobscheduler issue would make sense, as the performance hit level to level was noticable, which in hindsight could correlate to the amount of animations in each. Despite being obviously jittery my fps counter seemed normal-ish apart from diving every couple of seconds. Also for the duration that there was any user input (touch) it appeared to run a lot smoother. Nice to know it is a known issue, thanks for the update.
     
  41. Fuzzy

    Fuzzy

    Joined:
    Feb 11, 2011
    Posts:
    266
    Case680397

    But it's in the Get Unity 5 what's included list:
    Prioritized bug handling - Pro only :p

    Edit:
    Ok noticed on the ( i ) icon - fixes are still prioritized by severity regardless of edition used
     
  42. plasmabazooka

    plasmabazooka

    Joined:
    Mar 8, 2015
    Posts:
    70
    I've tried to check timeline the result is on a screenshot.
    I've used the new shader on characters only all other stuff mobile diffuse or mobile bumped diffuse.
    Even if I run application without "Development Build" unchecked I'm feeling the result is almost the same.
    Unfortunately I cannot check profiler with Unity 4.6 because I don't have Android Pro license.

    Profiler1.png
     
  43. Ghopper21

    Ghopper21

    Joined:
    Aug 24, 2012
    Posts:
    170
    Couldn't find the bug in the Issue Tracker (to up vote it). Can you include a link?
     
  44. Fuzzy

    Fuzzy

    Joined:
    Feb 11, 2011
    Posts:
    266
    Can't find it there, too. Maybe it's not automatically put up there and requires an official OK to appear there?
    I have a FogBugz link, that shows it arrived. And i'm quite sure i did not uncheck the "share description in the public issue tracker" checkbox in the bug reporter.
     
  45. bitter

    bitter

    Unity Technologies

    Joined:
    Jan 11, 2012
    Posts:
    530
    I don't have any of those devices close by but I ran your scene on another low-end device and most likely you are fragment bound by the standard shader - at least that was the case on the device I tested. That being said, imo the Standard shader is currently waaay too slow when running with only an albedo texture attached or with a simple color setup. I'll keep the bug open, hopefully we can create a shader path that is more optimized without creating too many shader variations.
    Yes, QA has to sign off on the bug before it ends up in the public issue tracker.
     
  46. Fuzzy

    Fuzzy

    Joined:
    Feb 11, 2011
    Posts:
    266
    I tried the mobile shaders for the textured room-cube and regular diffuse for the colored cubes, but that didn't really help much either.
    With 4.x this scene would easily run smooth.
    Also, the scene has a sphere spawner that drops reflective (standard shader) balls into the scene, and it barely has an impact on the fps.
    So it starts at like 30 fps, can spawn like 20+ spheres and only go down to 20fps or so, while the poly count and object count was multiplied by a lot.

    Assumption:

    I haven't tried it yet, but probably it would even perform bad if i exported an empty scene with just a text mesh for the fps.

    Edit:
    Just tested my assumption, same thing.
    New empty scene.
    Just added a text mesh with FPS script in 0.5sec update interval.
    On Adreno 205 chip (Android 2.3.4): ~28-32 fps
    On Tegra 3 chip (Android 4.1.2): ~40-45fps
    Just an empty scene.
    With and without profiler, same time eaters as before. Clear or Device.Present
     
    Last edited: Mar 15, 2015
  47. bitter

    bitter

    Unity Technologies

    Joined:
    Jan 11, 2012
    Posts:
    530
    That sort of makes sense. If you are fragment bound filling the whole screen using the standard shader, adding more object won't add to that cost unless you get hit by overdraw.

    Okay, I'll have a look at it next week. I have an Xperia Play (and a couple of tegra 3 devices) at the office. Btw, is this an empty scene cleared with a solid color? Or are you using a procedural skybox?

    Stalling in Present or Clear is expected behavior. Depending on the driver this just means you are waiting for the GPU. Either because you are GPU bound and stalling because of that, or that you are waiting for the next vblank. Or a combination between the two.
     
  48. plasmabazooka

    plasmabazooka

    Joined:
    Mar 8, 2015
    Posts:
    70
    Still did not get why Device.Present takes more than whole frame? Is it normal behaviour?
     
  49. Fuzzy

    Fuzzy

    Joined:
    Feb 11, 2011
    Posts:
    266
    It's been with a skybox.
    But I just checked with solid color and also removed the skybox from the lighting menu.
    With and without profiler on tegra 3 i started hitting the 60fps. On the Xperia play it starts out very unstable between 40 and 60 for ~15 seconds, and without profiler checked on export then stays on 60fps, but I got the feeling that it's just barely getting there.

    So as soon as I tried the same with the small test room and mobile diffuse for texture and legacy diffuse for just colors i never passed 50fps anyomre (Sync every V Blank / no Profiler) on Xperia Play
    and 55fps-58fps Tegra 3.
     
  50. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @bitter: THIS LINE:
    The thing in bold: that JobScheduler could be the culprit for me! Because oddly, if there isn't any physics-based objects, the framerate is near-perfect! If there'sphysics objects, it is somewhat the same, but on some stages, it drops a little. Oh, and trying to profile the game's useless, as the overhead is 60%!

    And the vSync bug actually isn't a bug? o_O