how to test hardware requirement?

Discussion about everything. New games, 3d math, development tips...
Post Reply
nixx
Posts: 22
Joined: Thu Jan 18, 2007 5:00 am
Location: Yogyakarta, Indonesia

how to test hardware requirement?

Post by nixx »

My lecturer told me to analyze the minimum and recommended hardware requirement for my software. How should I do it? My current idea is just to run it in several kinds of hardware manually, but since I don't have access to variety kinds of hardware, it would be a tough task.

Are there any better mechanisms? Maybe using a benchmark program or any other programs?

Thank you.

Oh btw I use Irrlicht 1.3 and IrrKlang 0.8.1.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

I guess you can only tell the requirements once you finished the software. Then you know which is the max amount of polys and effects you can have at once, and thus estimate the requirements to keep the FPS above a certain limit.
In earlier phases you can probably guess th e average amount of objects seen and you can check for effects and extensions which you will require. This will give you some figures which shader model you will use and an average polycount for your scenes from which you could try to come to the gfx cards features. But of course this will be on the 'educated guess' level only.
olivehehe_03
Posts: 157
Joined: Tue Mar 20, 2007 8:30 am

Post by olivehehe_03 »

I try to check the hardware requirement of my project by doing a quick benchmark on a system that is around what I want my minimum requirements to be, that is, that system should be able to run the game at an average of 30fps on low settings. I can also use that system to work out how many polys can be shown and still keep that framerate and that sort of thing
Tell me what you cherish most. Give me the pleasure of taking it away.
kburkhart84
Posts: 277
Joined: Thu Dec 15, 2005 6:11 pm

Post by kburkhart84 »

hybrid wrote:I guess you can only tell the requirements once you finished the software. Then you know which is the max amount of polys and effects you can have at once, and thus estimate the requirements to keep the FPS above a certain limit.
In earlier phases you can probably guess th e average amount of objects seen and you can check for effects and extensions which you will require. This will give you some figures which shader model you will use and an average polycount for your scenes from which you could try to come to the gfx cards features. But of course this will be on the 'educated guess' level only.
I agree that this is one of the better ways to go about it, but you also could post the game, possible demo version, on a website and have many people try it out. You can have the game write a log file of the FPS average, possibly anywhere the FPS was too low as well since the average won't tell where bottleneck points happen, and also any extensions that failed. With different machine configurations to test on, you might also catch a couple bugs in the process, and you'll have a good idea what kind of hardware you need, and how low your minimum can really go.

**EDIT Hey olivehehe, I finally figured out where your signature quote came from, Sephiroth in Advent Children. cool.
nixx
Posts: 22
Joined: Thu Jan 18, 2007 5:00 am
Location: Yogyakarta, Indonesia

Post by nixx »

@hybrid
hybrid wrote:I guess you can only tell the requirements once you finished the software.
I consider my game "finished" (although there are many basic features that can be improved later). About the polys amount, how do you do it? Can it be done by calculating one single object polys and multiply it with the amount of the objects (just making a rough estimation)?

@olivehehe_03
Hmm...I'll keep it in my mind and try it :).

@kburkhart84
I'm not sure uploading my game will be fine. I made it for educational reason (for my study :D) only and used many resources I didn't create personally. I wonder it would lead to IP conflict...
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

You can ask Irrlicht how many tris are rendered each frame. Together with resolution and depth you should be able to calculate some relevant numbers to figure out the gfx card class to use.
catron
Posts: 158
Joined: Mon Feb 19, 2007 1:54 am

Post by catron »

you could download this c++ header that gives you the system ram, cpu, etc.
http://www.codeproject.com/system/syste ... mation.asp
i found it very handy for checking a computers hardware requirements.
nixx
Posts: 22
Joined: Thu Jan 18, 2007 5:00 am
Location: Yogyakarta, Indonesia

Post by nixx »

About the polys, using IMeshManipulator::getPolyAmount() and this formula :

poly total = map poly + (number of object * object poly)

I found that there are 4642 polys in my game. Then, what is the gfx card parameter should I compare with? Is it the card memory? Or...please tell me if I'm doing the wrong calculation.
Oh, what about the texture? I can only find IMeshManipulator::getPolyCount(), but it doesn't return the size of textures used. How do you calculate the size of textures?

About the fps, I use IVideoDriver::getFPS(). In my computer, my game runs at about 110 fps. Is it right to assume that the game will run in 0 fps in a system below the minimum requirement?

Thank you.
kburkhart84
Posts: 277
Joined: Thu Dec 15, 2005 6:11 pm

Post by kburkhart84 »

WOW, you are pretty low poly if you calculated less than 5000, or you calculated wrong. About the textures, you should know what textures you are using. You have to include all of them, including textures for models, and if you use BSP, the light maps as well as original textures. Also, the normal maps if you have them. A probably safe way is to have the textures in uncompressed BMP (at least for this purpose) and calculate using the file size. You will overshoot pretty far, but if you are really using <5000 polys, you can't be using more than 64MB of video memory more than likely. In fact, it's pretty hard to use that much memory with many more models since textures can load compressed as well. Also, at this time, Irrlicht isn't using VBOs, rather sending the verts per frame, which means it is complatible with older cards, and doesn't use video memory for geometry.

Also, about FPS, you should think about playability, as in if the game is running constant 20FPS, it probably isn't playable. at 30 FPS, it's playable, but not great. At 60, playable AND great. Use that to determine your minumums. Any lower than 30 and the minimum should be raised a little.
nixx
Posts: 22
Joined: Thu Jan 18, 2007 5:00 am
Location: Yogyakarta, Indonesia

Post by nixx »

My game is team based battle. User can choose the amount of member in each team, range from 3vs3 to 6vs6. In 3vs3 mode, it has 4642 polys, while it has 8532 polys in 6vs6.

I will put a system that makes my game runs at 60 fps in 6vs6 mode and 1024x768 window size into recommended requirement, and at 30 fps in 3vs3 mode and 640x480 window size into minimum requirement.

I have tested my computer in several specs of computer, having Pentium 3 660 MHz, RAM 256 MB, and 16 MB VGA as the lowest spec I can find. In minimum condition (3vs3, 640x480), it runs in about 27 fps. I also run it in Celeron 1,7 GHz, RAM 256 MB, and VGA 32 MB, and my game runs in about 32 fps. I guess graphic card takes bigger part in determining fps, so I will put graphic card of 32 MB as minimum requirement. I'm not sure about the CPU, maybe I'll put Pentium 3 into that category. I haven't tried win 98, and less RAM.

@kburkhart84
What did you mean by "you can't be using more than 64MB of video memory more than likely"? Sorry I am not a native English speaker.

That's all for now. I will try different configuration tonight and tomorrow. Thank you.
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

nixx wrote: @kburkhart84
What did you mean by "you can't be using more than 64MB of video memory more than likely"? Sorry I am not a native English speaker.
Its not about english, you have to understand that video memory is used only when you load up textures or vertices to the graphics card. With Irrlicht there is no vertex buffers so video memory isnt really an issue for vertices, but Im guessing it is for textures. I agree that you probably wont be using more than 64 mb of vram in most games in irrlicht, unless you have alot of content. (Well actually we cant tell without seeing the game offcourse.)

About the video card determining performance, you can check for yourself in the task manager (ctrl-alt-delete) and look at how much CPU your application is using under the "processes" tab. If the game is using 100% then it is probably being limited by the cpu, else it is probably being limited by the video card (Off course there are many other factors such as ram speed, using virtual memory etc).

Also, determining video card speed by the amount of memory it contains is very silly. Some 64mb cards can easily outdo 256mb varients (eg 64mb 4200ti vs 256mb 6200). Also there are some 32 mb cards that are very slow or lack full opengl or dx support (eg VooDoo cards). So I recommend saying something like "Geforce 2, Radeon 8500 or higher" for a more accurate recommendation (Since these 2 cards are usually the minimum for most games, in terms of speed and feature support).

One last thing, what are you studying and where?

Cheers :D
nixx
Posts: 22
Joined: Thu Jan 18, 2007 5:00 am
Location: Yogyakarta, Indonesia

Post by nixx »

BlindSide wrote:Its not about english, you have to understand that video memory is used only when you load up textures or vertices to the graphics card. With Irrlicht there is no vertex buffers so video memory isnt really an issue for vertices, but Im guessing it is for textures. I agree that you probably wont be using more than 64 mb of vram in most games in irrlicht, unless you have alot of content. (Well actually we cant tell without seeing the game offcourse.)
Ah, I see. Now I understand what kburkhart84 wrote. Thank you.
BlindSide wrote:About the video card determining performance, you can check for yourself in the task manager (ctrl-alt-delete) and look at how much CPU your application is using under the "processes" tab. If the game is using 100% then it is probably being limited by the cpu, else it is probably being limited by the video card (Off course there are many other factors such as ram speed, using virtual memory etc).
I've already done it before, and yes it is using 100% CPU.
BlindSide wrote:Also, determining video card speed by the amount of memory it contains is very silly. Some 64mb cards can easily outdo 256mb varients (eg 64mb 4200ti vs 256mb 6200). Also there are some 32 mb cards that are very slow or lack full opengl or dx support (eg VooDoo cards). So I recommend saying something like "Geforce 2, Radeon 8500 or higher" for a more accurate recommendation (Since these 2 cards are usually the minimum for most games, in terms of speed and feature support).
OK, forgive me for saying that. I realize it now. But if I want to say it that way, do I have to test my game in those cards? Even I haven't ever seen a VooDoo card before. Most of my friends have better cards. I think it's kind of hard to do. I assume that, in order to set a certain card as requirement, I have to test the game using that card, or at least simulate it.
BlindSide wrote:One last thing, what are you studying and where?
I am enrolled as Electrical Engineering student in Gadjah Mada University in Yogyakarta, Indonesia, but I'm taking IT concentration (it is a concentration in EE Major here). I started studying Computer Graphic and Game Programming in early 2006, but I spent my last 7 months making FPS game for my final project (weird enough for a newcomer to make FPS :D).
Ico
Posts: 289
Joined: Tue Aug 22, 2006 11:35 pm

Post by Ico »

I'd say you just worry too much. Ignore those "worst case scenarios" like the voodoo 1 card.

If you use (i.e.) shaders, there is some kind of minimum card introduced those features. If you can't find any card old enough to not run your game, use the oldest you can test as "minimum recommended spec".

I played games stating a DX9 card as minimum on a Geforce 2 GTS (DX8 card). I had no problems except some artifacts ...

There are just too many possible hardware combinations out there. You could successfully test your game on a 500 MHz PC but the next guy owning a 550 MHz rig has some crappy driver or hardware component not listed on the requirements rendering the game unplayable.

If you're unsure, ask your lecturer - questions are for free (at least most of the time). ;)
If you can't determine a minimum spec due to the software running good on the oldest/slowest available test machine, use that as your minimum requirement.

For (system) memory usage etc. just use a tool like "Process Explorer" (available at Microsoft / sysinternals.com; google for it) and take a look at the peak values. Add some overhead for the operating system and you're done.
kburkhart84
Posts: 277
Joined: Thu Dec 15, 2005 6:11 pm

Post by kburkhart84 »

Blindside has very good points about video card memory(RAM) and speed, which as he said are very different from each other. Something this simple probably won't have any specific requirements as far as video card RAM, seeing as you use Irrlicht and only have less than 10000 polys on screen. I would take the advice above and use RADEON8500, Geforce2 or higher as an OK minumum as far as graphics because these cards should be able to handle what you are doing. The processor is going to be another thing though, and I really don't think you need to go as low as Pentium 3 anymore, though some may disagree with me(feel free to say so). I bought my desktop around 2000-2001, seven years ago, and it had WinXP with a pentium 4 1.6Ghz. I really don't think most people have something that slow anymore, but it would possibly be good for minumum considerations, and may be too slow for even that.
Post Reply