https://bugs.winehq.org/show_bug.cgi?id=49117
Bug ID: 49117 Summary: Virtual memory allocation gets slower when large number of views are allocated (We Happy Few) Product: Wine Version: 5.7 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: rbernon@codeweavers.com Distribution: ---
Created attachment 67101 --> https://bugs.winehq.org/attachment.cgi?id=67101 Patch for upcoming Wine 5.8
We Happy Few allocates an unusually large number of individual virtual memory views (17k views allocated once the menu is reached), which then makes the virtual memory allocation slower because of the large rbtree traversal.
Using a dedicated structure to track free memory ranges instead of the view rbtree traversal leads to a huge FPS increase (tested at +20% when CPU bound) once in game.