Hello. I’m still trying to get my game working under Mac OS. I’d appreciate it if people could lemme know if it runs or not, as I don’t have a lot of experience programming macs. It’s compiled under Mac OS 9.0.4 using CodeWarrior and runs fine here. It requires SDL and openGL to run.
Originally posted by mv:
[b]yeah, fullscreen seems to be a little funny. I’m not sure if it’s me or SDL. It’ll work if your fullscreen resolution is the same as your display res.
I think I need to optimize things a bit. On my PC it’s much faster (GeForce 3 vs ATI Rage Pro(?))… what FPS did you get?[/b]
I tried matching the screen and game res, but full screen mode still has the menu bar visible. I get between 30 and 75 FPS on my ATI RagePro 128 (640x480x32). My computer has a 450 MHz G4. When the action gets heavy the frame rate drops as low as 16 FPS.
Memory alignment is a big deal on PowerPC machines. If you’re looking for easy optimizations, make sure you have PowerPC structure alignment enabled in the CodeWarrior settings.
Hmmm… okay, I’ll make sure I’ve got that enabled. Does the ATI RagePro have hardware T&L? I’m surprised to find that the level of detail in the terrain makes a large difference in the drawing speed on the Mac but not so much so on my PC (with GeForce 2MX or GeForce 3).
Originally posted by mv: Does the ATI RagePro have hardware T&L? I’m surprised to find that the level of detail in the terrain makes a large difference in the drawing speed on the Mac but not so much so on my PC (with GeForce 2MX or GeForce 3).
“…features such as vertex buffers, direct walk of vertex lists, AGP 4X texturing, texture compression, multi-texturing, texture lighting, shadows, bump mapping, alpha blending, fog (vertex, range & table-based), 32-bit Z-buffering and stencil planes.”
So, yes, it seems this card does a reasonable amount of acceleration. Oni plays quite nicely on it, for example.
To find your performance bottlenecks, use CodeWarrior’s profiler. Enable profiling in the compiler settings, add the profiler library and put this in your code:
#include <profiler.h>
main () {
ProfilerInit (collectDetailed, bestTimeBase, 2000, 100);
…
oh! great! thanks for the suggestion. I’m actually developing on windows and then recompiling for Mac on my girlfriend’s machine, so I’m not really too familiar with some of the Mac intricacies… I’ll see what I get.