http://bugs.winehq.org/show_bug.cgi?id=34342
Kaede Fox sweet.maple.leaf@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sweet.maple.leaf@gmail.com
--- Comment #19 from Kaede Fox sweet.maple.leaf@gmail.com --- This is a texture memory leak bug.
The problem occurs because GW2 is 32-bit, thus Wine has to share the 4GB memory space between the application the GPU. Part of NVIDIA's texture memory is allocated here, a window that behaviors not unlike it does on Windows on 32-bit systems (which is why you can't usually use more than 3GB of RAM on Windows XP). In the past, Wine forced a 2GB/2GB divide, but in more recent builds it seems the application can reach up to 3.5GB or 3.7GB before crashing.
Essentially the game is loading textures too often, and too fast, and Wine cannot unload them fast enough because it is very restricted with texture unloading. Wine unloads textures far slower than native Direct3D. This results in an extremely high memory usage of nearly 200% compared to Windows (e.g 1.6GB instead of 800MB). This means that while the game would not crash under Windows XP with the /3GB switch and at least 3GB of RAM available, it will under Linux even with 4+GB of RAM available on a 64-bit OS.
The proper way to fix this is to make Wine free textures very aggressively. I've looked into patching it to do so, but I lack the required skills.