This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Overhead of the Driver

We found that when DrawCall used in the product becomes a lot, the API call overhead of the OpenGL ES of the CPU end will be high. This part should be the overhead of Driver. But we don't know what is expensive to overhead for a DrawCall. So we can only rebound through non-stop testing. Although we have tested some conclusions. But we are not very confirmed, they are correct. So, I want to ask a professional:

1.what is the main overhead of the Driver?

2.If you can do a proportion of overhead according to the type, what is the rough proportional situation? For example: Texture, FBO, Vertex, UBO, Uniform, Shader, TBO ... If sorted, what is the order?

3.Also, these overhead mentioned above is related to the specific parameters? Such as the size, number, etc.

Parents
  • Thank you very much for your reply.

    We have done a lot of work to reduce drawcall. The drawcall is already very low.

    We are now more concerned about the driver overhead analysis of a single drawcall. For example, the driver overhead of some drawcalls is about 2ms. We want to know the reason. Can you provide some driver overhead analysis at a single drawcall level?

    For example:

    for the same drawcall, with textures of 1024 and 512, are the driver overheads inconsistent?

    Some data can be stored in texture or in uniform. In which way, the driver overhead is lower?

    Some of them can be passed to GPU for calculation through attributes, or they can be passed to GPU for calculation through texture or uniform. What is the driver overhead?

    We measured these will affect the driver overhead of a single drawcall. But we are not very sure that the conclusion of our test is correct. So, can you give any information ahout this?

    Or, can you tell me, every drawcall, what are the main factors affecting the driver's overhead? For example: format checking accounts for 20%, data transmission accounts for 30%, the longer the data, the greater the overhead... etc.

Reply
  • Thank you very much for your reply.

    We have done a lot of work to reduce drawcall. The drawcall is already very low.

    We are now more concerned about the driver overhead analysis of a single drawcall. For example, the driver overhead of some drawcalls is about 2ms. We want to know the reason. Can you provide some driver overhead analysis at a single drawcall level?

    For example:

    for the same drawcall, with textures of 1024 and 512, are the driver overheads inconsistent?

    Some data can be stored in texture or in uniform. In which way, the driver overhead is lower?

    Some of them can be passed to GPU for calculation through attributes, or they can be passed to GPU for calculation through texture or uniform. What is the driver overhead?

    We measured these will affect the driver overhead of a single drawcall. But we are not very sure that the conclusion of our test is correct. So, can you give any information ahout this?

    Or, can you tell me, every drawcall, what are the main factors affecting the driver's overhead? For example: format checking accounts for 20%, data transmission accounts for 30%, the longer the data, the greater the overhead... etc.

Children