Hi,
I have two related questions here, as I am working on a software for Oculus Quest, Vulkan based, where for a particular effect we are drawing with a single draw call a number of PointSprites ( approx 32,000 ) with some alpha blending active ( and NO Z-buffer used ).
We are finding out that "as long as gl_PointSize is <= 48" performance is pretty high but if poinsprite gets "a bit too big or too close to the user" perfomance drop and "quite a lot of it" seems cause the fact Alpha Blending is active.
So two questions here ( related ) :
- is it efficent to draw points with gl_PointSize >1 ( i.e. is the "pointsprite generation efficient ?" ) or let's say maybe drawing a single quad with instancing could be better ? ( i.e. use a buffer containing a single quad, draw in screen space, use it as base for an instanced drawing ? )
- is alpha blending "heavy" on the Adreno ? Are there any suggestions do/don'ts when using Alpha to get better performance ?
Thanks in advance.