As far as updates go, I'm getting to the end toward this project. There's some new stuff though:
First of all, the bad news:
But not everything is bad, I also put some new QoL changes:
- I tried to drop the interpreter and make it run with actual Wii instructions - I already did this and there wasn't much gain. Quake 3 does have a "fallback" in case it can't run in JIT and runs back in Interpreter. I managed to make it run in JIT and the performance stayed pretty much the same and the real bottleneck is OpenGX here.
- Even without the Interpreter the highest the game can reach during busy action is 45 FPS, even with lower LoDs, effects and such. 60 FPS just seems a bit difficult to pull off until I ditch OpenGX for an actual GX renderer. I'd rather let it stay capped at 30 because I'll be sure that it won't go lower than that and provides enough stability.
- Still no Team Arena support. It can't load a map, no matter how hard I trim. There isn't enough memory for it to hold both Q3 and Team Arena at the same time.
- Menus will run at 60 FPS from now on. It was pointless to make them run at 30.
- Since last update each controller had their own config file, but now they will also display their respective button key in the menu. This will let players know whatever key they bound to a certain button on the controller.
I will investigate if vWii with patches can run the port at 60, or try more optimization approaches. The most impactful of them all would be to drop OpenGX entirely, but I'm not ready for that yet.
I think you're being too harsh on yourself as far as the FPS goes, even 45 FPS is quite nice and playable during heavy fire, I've been playing this port of Quake 3 as is with keyboard and mouse and having a blast. For comparison the dreamcast port will frequently drop to even the 20s and 10s without losing playability, observe:
Plus also you're doing tests with bots and bots are always going to have a huge performance impact on limited hardware no matter what, I had the same issue on my old laptop. The important thing in this case is how well it performs with just rendering the game itself during heavy scenes, bots can always be offloaded to a server instead of running on the same machine.







