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.
https://bugs.winehq.org/show_bug.cgi?id=49117
Rémi Bernon rbernon@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rbernon@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=49117
Anya animegirl@stronzi.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |animegirl@stronzi.org
https://bugs.winehq.org/show_bug.cgi?id=49117
Rémi Bernon rbernon@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |1f25c6edf7ae9ef9fde21ee3407 | |ee79c97b74fe0
--- Comment #1 from Rémi Bernon rbernon@codeweavers.com --- This has been upstreamed as:
* eb716839e1533fdba3614ac57bbc9de8639650f0 * 1f25c6edf7ae9ef9fde21ee3407ee79c97b74fe0
https://bugs.winehq.org/show_bug.cgi?id=49117
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #2 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.10.