-
Notifications
You must be signed in to change notification settings - Fork 290
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cleanup DrawBatch.Append/JIT Logic #395
Comments
Might also do an overall refactoring of the
|
This might be easier to do after issue #487 is finished, since that will likely involve moving batching logic into its own class. |
After findings of heavy memory allocation in issue #552 mainly due to dynamic batching, reducing or preventing allocations as part of gathering vertex data / batches should be a priority. One way to get around this would be to transform
|
Rough draft on how this could be approached, probably subject to change:
Up to this point, most of the public drawing API can still stay the same, with
After this change, there should be next to no allocations anymore in the rendering cycle and way less copying due to dynamic batching. One thing that still needs to be considered is how to handle very large, mostly static vertex arrays where a re-generate and re-upload every frame would be wasteful and unnecessary. This use case is not currently implemented and can be considered a new feature, but it would be neat if that option existed. Probably go into more detail as part of issue #487. |
Progress
Immediate ToDo
|
Progress
Immediate ToDo
|
Progress
Immediate ToDo
|
Progress
Immediate ToDo
|
Progress
Immediate ToDo
|
Progress
Immediate ToDo
|
Progress
Immediate ToDo
|
Progress
|
Summary
The current Append logic for draw batches is a bit of a mess, partially for compatibility reasons, partially because there hasn't been a lot of engineering in there for a while. Clean it up, refactor and improve performance where possible.
Analysis
The text was updated successfully, but these errors were encountered: