Hardware Simulation

Hi,

I am developing a game (using VS 2005, C#, and Managed DirectX) as a final project for programming course. Although the game runs fine on my PCs, several of the people who have tried it (including my professor) have complained that it works sluggishly or not at all for them.

I suspect that the system requirements of my program are simply too high, but because both of the computers I have ready access to are fairly high-end, I don't have a reliable way of testing whether changes that I make are actually improving the situation. I know that programs to simulate different hardware setups exist, but I'm not sure what my options are or how to go about using them with Visual Studio.

1. Does Visual Studio include any built-in ways to simulate different hardware platforms (different amounts of RAM and different processor speeds probably being the biggest issues)

2. If not, are there any other programs (plug-in or standalone) that you could recommend for this In my situation, cost and ease-of-use are the biggest factors-- I'd really like something free that I could get working in the next few days.

Thanks,

Steve



Answer this question

Hardware Simulation

  • Pmcg

    Thanks for your suggestion. I am already performing some tests to ensure that the users' graphics cards can support the basic hardware requirements of my program (eg. that they can support pixel shaders, hardware transform & lighting, etc.), and try to exit nicely if these requirements aren't met. The problem is that these errors aren't being tripped. Admittedly, I can't test this well because all of my computers meet the requirements (again, some simulation software would be helpful here), but the tests at least look okay.

    As far as I can tell, the system requirements for my game are just so ridiculous (current best guess at the system requirements: 2.5+ Ghz processor, 1 GB RAM, video card with 128 MB RAM) that the game just isn't functional on systems with anything less. I do have some ideas on how to optimize this, but I don't have any reliable way of testing them.

    If this isn't the best forum to ask about hardware simulation, could you point me to a better one


    Thanks,
    Steve

  • AJayH

    The problem most likely stems from the GPU, not the system memory or CPU. I have no idea what your game is doing, but you can certainly take a look at the hardware features you're trying to use. For instance, when creating the device, do you specify CreateFlags.HardwareVertexProcessing If so, graphics cards without this ability simply won't run your app unless they have the SDK installed, then it will drop to the reference rasterizer. This probably explains why some people have it running slowly and others won't run at all.

    Mastering device capabilities ("caps" as well call them) is the bane of game developers. If you're writing a game that needs to run on many different devices, you need to make sure your game has fallback approaches for rendering. At the very least, you run tests to see what capabilities your game needs and gracefully exit by posting a failure message to the user saying they need to upgrade their card.



  • Fivekeepers

    There is no forum that's appropriate. What you're really asking about is kind of "Game Programming 101". You really need to configure (or find) a system with what one would call a "trash configuration" (lowest-end CPU/GPU you would support) and test your application there. If the tests aren't triggering because GPU caps are suitable, then the problem is more complex, and that complexity _cannot_ be duplicated by a hardware simulator (because the cost of the simulation software would most likely be higher than just buying a low-end system).

  • Hardware Simulation