Closed vsrinu26f closed 5 years ago
Do you have anything right now that you have found to serve as a major bottleneck in terms of 3D Android performance (such as animation, shaders, and the like)?
Otherwise, this doesn't appear to me at least as really useful (my opinion), since we don't know what in Godot would lower the FPS all the way to the single digits if you're making a 3D game (so people would end up making guesses rather than actually proposing a solution)?
I believe we are using a baseline version of OpenGL capabilities when it comes to android. I am not sure we are fully using GL hardware cpabilities available in android devices. See godot sample 3d fps test. I ran 3d fps test on my android and it is laggy compared to even complex game like asphalt8 plays very very good.
Or Show me one godot 3D example (non isometric and better an open world) which has frame rate above 4 fps on android.
As a non-scientific benchmark, I am rendering 4 animated 3D characters with ~1600 faces, 51 bones each, and a 1024x1024 texture, as well as scenery with about 1000 faces at about 50 fps on my LG G2. This is pretty much the performance I would expect from my hardware.
Thank you for the reply. I am impressed by the FPS. I wish I will eventually find a 3D example on github that works on my phone at good FPS. I will not dare a 3d app using godot yet though.
If your app is published please point me to it.
I started working on a small mobile project a little while ago, and I felt that the performance was up to par on my Samsung Galaxy S4. https://github.com/bdero/fizzalot-gd In my case, there are lower poly models, but there are particles and most of the post-processing effects are in use.
i noticed my game on PC runs at over 200 FPS, but on android it runs only at around 14 FPS. Ofcourse, android is not a PC, but the difference is kinda big so there might be something goin on. (android device is hexacore 1.5GHz, mali 450 700MHz, game is 3D)
I dont know yet if theres some bottleneck, or maybe its my fault. While i will progress with the game, perhaps some answers will come out (will have to, because i will try to optimise and find out how to speed it up if possible) and i will be able to tell more.
Performance on both PC and mobile will be improved with Godot 3.0.
It is known that Godot's 3D (and even 2D) renderer is slow, this seems to be for two reasons:
Both of those can be improved by using OpenGL ES 3.0 (or even just optimizing the OpenGL ES 2.0 renderer, but maybe it isn't worth it, the new renderer will be here next year).
btw, I think it could be kinda early to move to GLES 3.0 since, according to google play store statistics, its supported by only around 40% of devices on the market.
reference link (play store market share statistics for android version, screen size, GLES version) https://developer.android.com/about/dashboards/index.html#OpenGL
GLES 2.0 will be remained and GLES 3.0 will be added.
@avril-gh Also Mali 450 doesn't support GLES higher than 2.0, so moving to GLES 3.0 won't help in your case http://www.arm.com/products/multimedia/mali-gpu/ultra-low-power/mali-450.php I tried to build Godot on Odroid C2 today (S905 ARM-64bit, Mali 450) and the renderer runs awfully slow, but I bear in mind, that it isn't only the Godot's fault (Odroid C2 was released in march and full hardware support is still WIP).
yes, what i meant is currently according to play store statistics more than half devices does not support anything higher than GLES 2, so it would be good to concentrate on improving androids GLES2 performance, rather than moving to GLES3 too soon which could drasticaly limit godot's audiency to around 40% of devices only, Godot aim is to spread as much as possible and not limiting self.
And there are some people ask to implement vulkan already.
This issue has outlived its purpose, closing.
Operating system or device: android
Issue description (what happened, and what was expected): This issue be a place holder for what ever needed to improve 3d frame rate from 1 or 2 frames to some decent frame rate.
Steps to reproduce:
Link to minimal example project (optional but very welcome):