iDevGames Forums
Speed problems with a 8 MB Rage 128 card - Printable Version

+- iDevGames Forums (http://www.idevgames.com/forums)
+-- Forum: Development Zone (/forum-3.html)
+--- Forum: Graphics & Audio Programming (/forum-9.html)
+--- Thread: Speed problems with a 8 MB Rage 128 card (/thread-6282.html)



Speed problems with a 8 MB Rage 128 card - aarku - Aug 27, 2004 09:55 PM

I tried my game out on an old 350 mhz iMac and wasn't very happy with the results. It only got about 3-4 fps. It had 21 textures loaded up, but wasn't drawing that many.

There are 8 512x512 textures with alpha, 3 512x256 textures with alpha, a few 256x256 and etc.

I was getting a good 20 fps when I was just drawing 140 quad strips and 280 glAA lines with a couple 512x512 backdrop sprites.

Do I have any chances of getting this to perform playably on this old of a machine? Am I running into a fill rate issue, or (more likely) a running out of graphics memory issues?

I don't want to disclude all 16 megabyte cards as well from the "requirements". . . is it correct that more modern fast agp-cards have less of an issue with this because they can more quickly swap textures in and out as needed?

Thank you
-Jon


Speed problems with a 8 MB Rage 128 card - arekkusu - Aug 27, 2004 11:02 PM

First thing to do is to profile with Shark and GL Profiler to see where time is spent. But, right away, you can see that you're out of VRAM. 8 512x512 RGBA textures = 8 megs, so you're trashing AGP every frame (the first few slot-loading iMac models only have 8 megs, not 16.)

Also the Rage128 has pretty low fillrate; doing a lot of blending will really hurt.

For reference, Shoot Things runs at 25-45fps on a 400Mhz iMac DV (8 meg Rage128) so if you fix your texture sizes, it might run OK, but your content will have to be pretty darn simple to hit 60fps on those old machines.

[Edit: if you change the Display to Thousands of colors before launching, Shoot Things will hit 60fps on that iMac at the title screen.]


Speed problems with a 8 MB Rage 128 card - blobbo - Aug 28, 2004 10:06 AM

I have the imac DV 400 with 8 meg Rage128 and 384mb of ram that arekkusu is speaking of. I can test if you'd like. Generally i find the card's drivers a bit buggy, but the machine works ok, i suppose.


Speed problems with a 8 MB Rage 128 card - DanLab - Sep 25, 2004 07:09 PM

the problem with imac and 8Mb video card is it not 3d at all
if you try to staart the screensaver you can see you cant do fast game with it:
an opengl window in 640x480 should run at 10fps but without any texture or polygon Huh


Speed problems with a 8 MB Rage 128 card - Zwilnik - Sep 25, 2004 11:17 PM

It may be an idea to use lower resolution textures when your game is running on older graphics cards. You could rescale them at loading time if the VRAM is short.


Speed problems with a 8 MB Rage 128 card - Vertizor - Sep 26, 2004 05:38 PM

In addition to smaller textures, perhaps a lower color depth for the rendering context would help. Like 16-bit instead of 32-bit.


Speed problems with a 8 MB Rage 128 card - kelvin - Sep 26, 2004 09:18 PM

Also, don't forget the lack of AGP with the rage128. This means you'll use a different data path for fast tex upload and also you'll have to deal with texture priority (if that's your bag).


Speed problems with a 8 MB Rage 128 card - arekkusu - Sep 26, 2004 11:46 PM

PCI/AGP depends on the Mac. A Blue & White G3 tower with a Rage 128 card is PCI. An iMac DV with Rage 128 is 2xAGP.


Speed problems with a 8 MB Rage 128 card - webwarrior - Sep 27, 2004 12:46 AM

aarku Wrote:There are 8 512x512 textures with alpha, 3 512x256 textures with alpha, a few 256x256 and etc.
This may not directly address your problem, but in general, textures should be square for performance reasons I thought (correct me if I'm wrong!). So a 512x256 texture is bad.


Speed problems with a 8 MB Rage 128 card - arekkusu - Sep 27, 2004 12:56 AM

512x256 is perfectly OK.


Speed problems with a 8 MB Rage 128 card - kelvin - Sep 27, 2004 01:05 AM

webwarrior Wrote:This may not directly address your problem, but in general, textures should be square for performance reasons I thought (correct me if I'm wrong!). So a 512x256 texture is bad.
Nope, to your hardware this just looks like an array of 131072 pixels (unpackrowlength not withstanding.) If you are thinking of the power of two req, this has to do with the way the GL does the texture coordinate math; because of the format used, the binary float {0.0,1.0} GL has a 1 to 1 correspondence between pixels and bits. From there the hardware has but to shift bits to get to the proper pixel to rasterize. This is also why the texture coordinate formats for RectTexExt are actual pixel coordinates instead of {0.0,1.0}; makes the math easier.