-
Notifications
You must be signed in to change notification settings - Fork 13
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
Memory issues in Final Fantasy XIV #309
Comments
Since the game doesn't allow me to login with a modified binary, I've modified wine to always use the LARGEADDRESSAWARE bit. This fixes all out of memory errors, framedrops and crashes so it does seem like malloc failing is the culprit here. |
Nine does allocate memory wine (and the game) doesn't know about. A long term goal is to use wine's memory allocator inside Mesa, to make the game aware that it runs out of memory soon. |
The 64bit version is d3d11 only, which doesn't work very well. I played for 6 hours continously with LAA enabled and did not have any problems so that does seem to be a solution for now, albeit a hacky one. If anyone else wants to try this, here is a wine patch to always use LAA. Note that this is not a proper implementation and will probably break other 32 bit apps so be careful. |
@exolyte , would you explain in a little bit more detail how and where do you set LARGEADDRESSAWARE bit in wine? I'm not really sure how changing wine allocation makes Nine native allocator not fail... |
Only thing I did was compile wine with the patch linked above which removes the parts that restrict memory allocation to 2GB. Maybe this applies to nine as well? I have no idea how nine allocation limits work. |
When there are a lot of other player characters or when LOD settings are turned off, framerate drops from 60 to ~10 and the game sometimes crashes. Running it with a debug build shows
nine:device9:SetRenderTarget: User assertion failed: 'i != 0 || pRenderTarget'
.I've added some debug output and it seems like createrendertarget returns E_OUTOFMEMORY here. (It's called with D3DFMT_NULL) This causes NULL to be passed to setrendertarget.
GPU:RX570
Mesa version: git
Windows Apitrace
The text was updated successfully, but these errors were encountered: