-
Notifications
You must be signed in to change notification settings - Fork 166
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
Rework main pool alloc to support fragmented buffer. Move zbuffer & fb to different memory banks #737
base: develop/3.0.0
Are you sure you want to change the base?
Conversation
… only pool, move zbuffer & fb
Things that need to be done:
|
Need to add better documentation for |
…r main pool internal structures
…contig region optimization
Finished documentation for main pool allocator. I have also profiled level loads - I have implemented fast path for main_pool_alloc that will be inlined to avoid random slowdowns on level startup. 3.0: 3.0 new main pool: I also fixed other issues noted in @arthurtilly comment, code is ready for another round of review |
Any chance the z buffer could be moved back to the start of RAM, FB0 to the end of the code segments, and FB1/FB2 bordering 0x80700000? Unless I'm misunderstanding, this would come with the same performance benefits with the least fragmentation necessary. (Map packer loading to 0x80700000 may not be ideal here.) |
I used such combination of memory buffers in one of my hacks, I can add it as an option. |
Moves zbuffer and framebuffer to separate memory banks. To implement this, alloc only pool was removed and replaced with main pool instead that supports fragmented memory. Fragmented pool is not using double linked list and is built very similarly to alloc only pool.
Saves 0.5 fps in JRB.