hakolao / egui_winit_vulkano

Egui gui integration with winit and vulkano
Apache License 2.0
79 stars 40 forks source link

Batched/Linear uploads #56

Closed Fuzzyzilla closed 9 months ago

Fuzzyzilla commented 9 months ago

Replaces the allocate-as-needed logic with bulk linear allocations for both image create, image update, and mesh upload.

I have further optimizations in mind, namely deduplicating command buffer commands, as there are currently ~250 commands for 20 meshes which could be greatly reduced. Always unsure on whether I should bundle the changes into one PR since they're a bit disjoint -- please advise!

hakolao commented 9 months ago

Always unsure on whether I should bundle the changes into one PR since they're a bit disjoint -- please advise!

The smaller the PR the easier it is to review and less chance for mistakes. So Separate PRs 👍

hakolao commented 9 months ago

This one is also appreciated! Don't see anything blocking the merge other than lints & merge conflicts

Fuzzyzilla commented 9 months ago

Alright, merged and fixed up! Did a few reads over and I'm happy enough with it to open this up. I hope I did alright with the merge, still learning git.

Doubles the framerate over master when compared using a modified demo_app.rs with PresentMode::Mailbox and a few spare swapchain images,

I should not be allowed to benchmark/write PR messages at 2am. The improvements are much more modest at ~25% improvement in frametimes. The other improvements are still true - I just have no idea how i got that number lol.