Skip to content
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

Investigate array pool usage for VBOs and TextureUploads #4228

Open
peppy opened this issue Mar 1, 2021 · 2 comments · May be fixed by #5109
Open

Investigate array pool usage for VBOs and TextureUploads #4228

peppy opened this issue Mar 1, 2021 · 2 comments · May be fixed by #5109
Labels
priority:1 Very important. Feels bad without fix. Affects the majority of users. type:performance
Milestone

Comments

@peppy
Copy link
Member

peppy commented Mar 1, 2021

Currently we are using the ImageSharp MemoryAllocator to do all our array pool requests. It turns out that the default bucket sizes for the allocator we are using are quite small (6,16). We likely want to change to using ArrayPool directly, or adjust the sizes per use case.

Important ones are:

  • ArrayPoolTextureUpload (especially on the FrameTimeDisplay which requests thousands of these - may benefit from a local pool).
  • VertexBuffer, which can potentially hit the point of saturation and begin to allocate constantly.
@peppy peppy added this to the March 2021 milestone Mar 1, 2021
@peppy peppy added the priority:1 Very important. Feels bad without fix. Affects the majority of users. label Jul 20, 2021
@Flutterish
Copy link
Contributor

You might be interested in how the rewrite of o!f-xr handles the array pool: MemoryPool and an example usage

@peppy
Copy link
Member Author

peppy commented Jun 24, 2022

I'm not sure how that example usage is of any relevance.

This issue can likely be closed. The first case is already refactored and the second will likely be covered by #5109.

@smoogipoo smoogipoo linked a pull request Jun 24, 2022 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority:1 Very important. Feels bad without fix. Affects the majority of users. type:performance
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants