drop in frame rate when the grass instancing function is enabled.
First of all, I want to thank the gl4es developers for the opportunity to play via OpenMW in Morrowind. there was a performance problem when the grass instancing mode was enabled, namely, its strong fall and the load on the GPU. I am sure that with the right approach, grass instancing will work, if not better, then definitely not worse than grass paging. for example, here are three screenshots using different technologies for rendering grass: grass paging, grass instancing and a simple modular grass connection without using the above technologies. I really hope that you can fix the gl4es code and it will improve the performance on Android devices.
Grass paging

Grass instancing

Module grass

Well, "Instancing" is not supported on hardware yet with gl4es. I know what I have to do for that, but I need to do it. I'll try to it soon enough, but I need to check if I can enable that with GLES2 with extension first. I don't plan to use GLES3 yet, as it's even more changes.
Well, "Instancing" is not supported on hardware yet with gl4es. I know what I have to do for that, but I need to do it. I'll try to it soon enough, but I need to check if I can enable that with GLES2 with extension first. I don't plan to use GLES3 yet, as it's even more changes.
I really hope that in your busy schedule there is a minute that you can devote to Android players. the huge Russian-speaking OpenMW android community will be very grateful to you if you can solve the problem with this drop in performance. thanks for the answer.
This says: "Geometry instancing is available from OpenGL ES 3.0 and to OpenGL 2.0 devices which support the GL_NV_draw_instanced or GL_EXT_draw_instanced extensions."
Also grass instancing is supposed to make use of the GPU (unlike paging) so even if gl4es optimized the way it's handling it keep in mind that it's much better to use a lower density to preserve performance, especially if you're using shaders and other heavy mods on the GPU.
I built two APKs to test this. "instancing" - my video card is loaded at 100% and this gives 28 fps, with the same "Paging" settings - 50 fps with the same load on the hardware.
I used the same settings in my tests, including grass density, apart from modular grass connection. I'm not an expert in this area, but it seems to me that it is possible to unload the GPU by directing some of the load to the CPU. After all, the CPU, as you can see from the screenshots, is idle.
Can you check that your hardware support GL_EXT_draw_instanced extension in GLES2? I'll probably try to use that one when I'll implement hardware support for instancing.
Can you check that your hardware support
GL_EXT_draw_instancedextension in GLES2? I'll probably try to use that one when I'll implement hardware support for instancing.
I unfortunately do not know how to check it. can you tell me how to do this? I run tests on two smartphones: Asus ROG phone 3 and poco f2 pro. in the screenshots I am using Asus ROG phone 3.
I'm sorry, but I don't know how to check this. I only know that my phone has a Snapdragon 835 processor
There's an app called OpenGL ES extensions, it will show extensions supported by the device for both OpenGL and Vulkan.
I have this on my device for example: https://www.khronos.org/registry/OpenGL/extensions/OES/OES_draw_elements_base_vertex.txt
Both OES and EXT
Eitherway most hardware nowadays has OpenGL ES 3 so it should be supported by the GPU.
Can you check that your hardware support
GL_EXT_draw_instancedextension in GLES2? I'll probably try to use that one when I'll implement hardware support for instancing.
No... GL_EXT_draw_buffers_indexed only...
in which section can I see information about this?

in which section can I see information about this? Yes, I looked in this program. I have not found such a line in the list of available extensions.
Look at the link I provided if you have a draw elements extension or your device supports OpenGL ES 3 it should work.
There is no limit to my disappointment. I have not found such a line in "OpenGL Extensions"
Mmmm, so the GLES2 extension is pretty rare :( And GLES3 is a lot of work. So, not sure how I will progress in this. Anyway, I have a few regression to fix on gl4es first, so I'll probably fix that, and start working on new stuff (like sRGB or Instancing) on next dev. cycle.
Can you check that your hardware support
GL_EXT_draw_instancedextension in GLES2? I'll probably try to use that one when I'll implement hardware support for instancing.
there's no such thing.
Mmmm, so the GLES2 extension is pretty rare :( And GLES3 is a lot of work. So, not sure how I will progress in this. Anyway, I have a few regression to fix on gl4es first, so I'll probably fix that, and start working on new stuff (like sRGB or Instancing) on next dev. cycle.
Thanks for the continued support on this.
Mmmm, so the GLES2 extension is pretty rare :( And GLES3 is a lot of work. So, not sure how I will progress in this. Anyway, I have a few regression to fix on gl4es first, so I'll probably fix that, and start working on new stuff (like sRGB or Instancing) on next dev. cycle.
thanks for the support of the android community.
Mmmm, so the GLES2 extension is pretty rare :( And GLES3 is a lot of work. So, not sure how I will progress in this. Anyway, I have a few regression to fix on gl4es first, so I'll probably fix that, and start working on new stuff (like sRGB or Instancing) on next dev. cycle.
We will be very grateful to you! Thanks for the support!
Seems like new xclipse 920 mobile gpu support angle_instanced_arrays extension, can it be used to bring gl_draw_instanced emulation?
https://www.khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_instanced_arrays.txt
Also gl_ext_instanced_arrays
This extension does the same, it has been there for a long while: GL_EXT_draw_instanced
But none of my phones supported it.
It's supported in mine :)