Jump to content
  • Advertisement
Sign in to follow this  
Spillthebeans

determining system requirments

This topic is 4814 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

What are some of the methods used to determine the minimum required system specs (CPU, RAM, etc.) of a game? Are there good tools available to profile CPU and RAM usage? Are there formal methods employed by the industry? Do you just test various CPU and memory configurations and decide what is acceptable performance?

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by Spillthebeans
What are some of the methods used to determine the minimum required system specs (CPU, RAM, etc.) of a game? Are there good tools available to profile CPU and RAM usage? Are there formal methods employed by the industry? Do you just test various CPU and memory configurations and decide what is acceptable performance?


It's a little of both.

First are the hard (fixed) requirements. These are pretty easy to figure out, and you probably know them (or can easily discover them) by working on the code.

If you use a specific set of shaders, then you automatically have a minimum video card requirement and perhaps a brand requirement. If your code requires SSE, 3DNow!, SSE2, etc., then you have a minimum CPU requirement and possibly a brand requirement. If you use Windows XP-specific functions or Windows 2000-specific functions, etc., then you have a minimum OS requirement. If you use a specific API (DirectX9c, OpenGL 1.5, etc.) then those are also minimum requirements.
Obviously, if you can't have those, you can't play.

Network speed ought to be known from your design, assuming your game has network play.


All of that could easily be from memory for a lone-wolf developer.


Next, you need to clarify 'minimum requirements'. Do you mean the absolute minimum required to open the program, play the game at 10 seconds per frame, and be barely functional, or do you mean the value required for reasonably fun game play? Some apps (usually not games) will take the minimum as the absolute minimum required to open the application and manipulate a small data set.

You ought to have a pretty good idea of this number already, based on your artwork, sounds, maps, models, and other assets. You can force windows to use less memory on the next boot by running MSConfig, under BOOT.INI, Advanced Options, MAXMEM, and setting the maximum amount of memory you want the OS to use. If you stick with common memory values (64/128/192/256/320/384/512) MB it should only take two or three tests. The 'recommended' and 'minimum' would be whatever you deem is appropriate for your gaming experiences.



CPU speed is the hard one. It isn't REALLY the CPU speed that you are trying to tell, but the overall system speed.

Some users will have pristene, beautiful software environments with ideal drivers, others will have the a system loaded up with spyware, viruses, and be part of a dozen botnets. Each chips has somewhat different characteristics, cache speeds, internal cores, and other differences. Two machines that are identical in terms of memory, CPU, and software environment can have huge differences because of the system bus, additional hardware, and bios settings.

Unfortunately, this one really is the "try a bunch of machines and see what works". Hopefully your other requirements will have weeded out most of the 'bad' machines -- not too many people will be running Windows XP with DX9 graphics and sound cards on a 300 Mhz Pentium II (although I've seen it happen).

Hope that helps.

frob.

Share this post


Link to post
Share on other sites
Thanks for the reply.

We are targeting "acceptable" level of performance as our minimum system specs--that is, at least 30 fps most of the time. We want to be honest since we don't want people to contact us and complain the game runs badly even though they have the specs we said were required. Also, we don't want to overshoot. We could always say you need a 2 Ghz machine and be done with it, but we want to target as many people as possible.

I do understand that CPU is not necessarily the ideal barometer of a system's capability, but that's what consumers understand and it's an industry standard metric--we have to put something there.

It sounds like we just have to test various configurations, which is what I was afraid of. Any other insight?

Share this post


Link to post
Share on other sites
Quote:
Original post by Spillthebeans
It sounds like we just have to test various configurations, which is what I was afraid of. Any other insight?


Performance Monitor (PerfMtr) can give *TONS* of useful information about your system. Once you get comfortable with it you can see (and log) quite a bit of performance information. There are technet articles describing how to use it to discover memory, processor, disk, and cache bottlenecks. You can use it to track how much time your app is using in context switches, in each thread, and more. It's one of the under-used tools out there.

Some older tools that might help you a little are PView, PFMon, CPUStres, HeapMon, and stress. They can help in watching how your system acts when it is loaded up, and in conjunction with PerfMtr and your own profiler, can give you insights to your program that you probably never considered.

frob.

Share this post


Link to post
Share on other sites
Generally in "the industry", minimum and recommended specs are determined by marketing and sales people. The developers generally have the least amount of input.

Share this post


Link to post
Share on other sites
Warning: I have not tried this yet, if you do not know how overclocking works you may not want to mess with this at all.

I had an idea, what if you take your slowest computer that still runs the game fine, and start underclocking the processor little by little and testing the game each time as it gets lower. Sooner or later you'll get a performance hit that you could consider unacceptable or the "bare minimum" and now you may have a minimum cpu requirement!

I know it could be done, since my AMD Drivers underclock my dual cores from 2.4ghz to 1.1ghz when the processor isnt in heavy use in windows itself. Maybe there are even tools that you can run that could let you lower your clock speed in windows without rebooting. I'm warning again about messing with the bios if you dont know what you are doing (pre-built computers like dell or HP may not even have clocking options in their bios, keep that in mind too).

Memory requirements I'm never quite sure of. I'd probably just do ctrl-alt-del and see how much memory my exe is using (divide by 1,024 to get the MB from K) and then pad on, say, the minimum requirements of your target OS. For windows XP it's like 128 minimum so it could be (128) + (game's mem or peak mem usage) and round it up to the nearest good looking ram number (Ex: 212mb doesnt look as nice as 256mb).

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!