ptitSeb / box64

Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices
https://box86.org
MIT License
3.9k stars 287 forks source link

Slow NosTale performance on Mobox (Wine + box64 bundled for Android) #1328

Open PSzczepanski1996 opened 8 months ago

PSzczepanski1996 commented 8 months ago

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! 🤟

ptitSeb commented 8 months ago

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).

hisham2630 commented 8 months ago

@ptitSeb maybe the game needs some dynarec opcodes to be added to speed it up ?

ptitSeb commented 8 months ago

@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.

PSzczepanski1996 commented 8 months ago

@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:

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.

K0bin commented 8 months ago

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.