armory3d / armory

3D Engine with Blender Integration
https://armory3d.org
zlib License
3.05k stars 317 forks source link

Canvas and textures have bad performance in Mali GPU #1695

Open knowledgenude opened 4 years ago

knowledgenude commented 4 years ago

The issue is detailed here in the last comment: https://github.com/armory3d/armory/issues/1693

knowledgenude commented 4 years ago

I had done tests with isolated elements:

canvasissue

Test file (with APKs):

canvas_test.zip

QuantumCoderQC commented 4 years ago

@knowledgenude

Thanks for more information.

Could you also elaborate on the method you used to test.

And did you use the Debug version or the Release version. Both versions have been known to show different results. A comparison of Debug vs Release versions may also help.

I also want to know if the app was built specifically for the device on Android Studio, or built for one device and then installed on the other.

Best Regards, QC

knowledgenude commented 4 years ago

I don't had targetted a specific phone, the build variant is debug x86. All the phones i have tested are 64 bits phones and i don't think this could affect the gpu performance but i can test with all settings you want of course.

Here is all the settings i have used in Armory and Android Studio:

prints.zip

knowledgenude commented 4 years ago

The issue is on release signed apk too.

onelsonic commented 3 years ago

Hi @knowledgenude what are your phones GPU specs? It might be inherent to the Mali GPU itself not being powerful enough. https://www.notebookcheck.net/Smartphone-Graphics-Cards-Benchmark-List.149363.0.html

knowledgenude commented 3 years ago

@onelsonic , i don't think it is fault of the hardware, because without canvas elements (using only geometry) there is no lag. Also i noticed that textured objects are not working in mobile and back in time there is poor performance on textured objects (only in this mali gpu). Considering that this devices runs full games and apps with a lot of textures (including alphas) and objects, i can't affirm that is a hardware fault nor a canvas specific fault.

The MALI device spec is:

Octa-core 1.6 GHz Cortex-A53 Mali-T830 MP1

The Adreno device spec is: Octa-core 2GHz Cortex-A53 Adreno 506

I have almost sure if you take a high end device with a mali gpu it will lag too.

I did this test in three devices and @e1e5en-gd made too and confirmed the issue.

onelsonic commented 3 years ago

one phone is an Octa-core 1.6 GHz Cortex-A53 Mali-T830 MP1

what is the other phone specs? and what target platform are you testing? Android, WebGL2, Krom ?

I am currently testing a project I made with armory with a Mali-G71 MP2 and an Qualcomm Adreno 540

strangely the Mail is undertaking the Adreano in fragment shaders tasks for webgl 2 for example, when it should not being x5 more powerful GPU...

So you might need to drill down to GPU specs comparing apple to apples on the same platform first in order to find what is wrong.

e1e5en-gd commented 3 years ago

I did a Render Path comparison on different devices, specs and results here (Android target platform): https://forums.armory3d.org/t/koui-user-interface-library-for-armory-and-kha/4087/37?u=e1e5en

onelsonic commented 3 years ago

if you render it on android (openglES) can you for both phones publish the Devise specs and OpenGL features supported : https://play.google.com/store/apps/details?id=com.realtechvr.glview

and if you're using the html5 webGL1/2 the specs can be found here : webGL2 https://webglreport.com/?v=2

webGL1 (Legacy Shaders) https://webglreport.com/?v=1