Page MenuHome

Speedup Mesh Batch Cache
Closed, ResolvedPublic

Description

While trying to reduce the overhead of the mesh batch cache generation, I came to the conclusion that we tried too much to be efficient and became less efficient by doing so.

Basically we have 2 ways of drawing indexed geometry and if we use both, we double the cost of VBO filling.

So this task is about making all VBOs and IBOs (inside the Mesh Batch cache) use vert loops indexing.

The only issue is making sure Per vertex (not per loop) attributes are copied to all loops.
This could be the opportunity to unify all VBO generating functions and parallelize attributes filling.

Also a bit of time is spent on memcopy form the driver when uploading the data. We could try to use mapped memory instead (adding an exception in GPU).

Details

Type
To Do

Event Timeline

Clément Foucault (fclem) lowered the priority of this task from Needs Triage by Developer to Confirmed, Low.Jul 5 2019, 11:40 AM
Clément Foucault (fclem) created this task.
Clément Foucault (fclem) closed this task as Resolved.Aug 20 2019, 6:06 PM

This was commited in rB9c010c44f42.

Using mapped memory was considered but proved to be very slow for some unknown reason. This could be considered again in the future.