Slow NosTale performance on Mobox (Wine + box64 bundled for Android)
Not sure if it fits here, but anyway: https://github.com/olegos2/mobox/issues/276
The game uses really old (and funky) engine that is not capable of calling drawing calls in optimized way.
It was described in this issue: https://github.com/doitsujin/dxvk/issues/1810
And partially fixed in these (for DXVK, anyway on phones it does still not work great as I would expect): https://github.com/doitsujin/dxvk/pull/2039 https://github.com/doitsujin/dxvk/pull/2020 https://github.com/doitsujin/dxvk/pull/2006 https://github.com/doitsujin/dxvk/pull/1987
Can we do anything about it in this project? Also, I really appreciate your work - Box64 is really great! 🤟
If the bottleneck is on the GPU as all this might suggest, there isn't much to be done on box64 side.
Side note: box64 is compatible with gallium 9, but I don't think this has ever been tested on Android (and prbably need some path adjustments in box64 I guess).
@ptitSeb maybe the game needs some dynarec opcodes to be added to speed it up ?
@ptitSeb maybe the game needs some dynarec opcodes to be added to speed it up ?
Maybe, but if it's gpu bottleneck, opcode stuff will do nothing, even if some are missing.
@ptitSeb maybe the game needs some dynarec opcodes to be added to speed it up ?
Maybe, but if it's gpu bottleneck, opcode stuff will do nothing, even if some are missing.
There is no CPU/GPU bottleneck, game has really weird engine that not even utilities whole CPU/GPU (it sits under 20-50% during gameplay - you can test it via HUD). From what I heard there are two reasons for that:
- Game uses really weird amount of draw calls, so instead of doing bulk draw it call draw instruction every time (and, thus it needed special fix in DXVK).
- And, because it draw every single element instead doing bulk, it also reads textures and graphics from disk. The game works better if you have SSD instead of HDD.
And, even if the game does not utilize the whole CPU, it can run without full performance sitting at 45-50 FPS (when framelimiter is set to 60 FPS) even on decent computers. I am not sure if the graphic calls are not somewhat bottlenecking some CPU opcode or viceversa. I know that @K0bin was working with it, so maybe he can tell something more about that.
That game had basically the worst engine I've ever seen. I don't know whether I'm gonna invest any more time in trying to make that turd faster.
It doesn't seem like there's anything we can do from the Box64 side. We recommend using the latest version of DXVK to help.