views:

186

answers:

4

For the apps I'm writing in Visual C#?

+12  A: 

Testing.

(No, really, that's all there is to it.)

Steven Sudit
you just have to try it on typical environments end users would use. (dev machines are often beefier than what typical users have; this often makes devs think things run better than they actually do)
seand
@seand: This is one of the nice benefits of developing on a laptop: your target computer is often faster.
Steven Sudit
@Steven: what are other nice benefits apart from mobility?
ya23
@seand: It's more like, "What are the benefits *of* mobility?". 1) I can take it to a colleague's office for pair programming, or to show a demo or just to take notes on. 2) I can work at home, in the office, while commuting by train, and many other places. 3) Since all tiers are on one machine, I can try whatever weird changes I want, without risking harm to others. And for realistic benchmarking, I can run the server tiers on server machines, using the laptop as a client. 4) Laptops are nerd bling.
Steven Sudit
+4  A: 

Well, the minimum requirements for your application written in C# is probably going to be the .Net framework, which has a nice page here listing the requirements for the various versions.

How usable will your app be using the recommended minimum? You'll have to find some hardware (or use a virtual machine see comments) and try it out.

Sam
A VM is not necessarily going to be helpful here.
Steven Sudit
@Steven Must admit I've not had much experience with VM's! I suggested it as it *might* be a way to simulate slower hardware (you can limit the available memory and a quick [google says](http://communities.vmware.com/message/1018981) you can throttle the CPU)
Sam
@Sam: The problem is that a VM of a machine does not necessarily have the same performance characteristics as the actual machine: typically, it runs more slowly. So, yes, you can disable memory, disable processors, and lower clock speed. But, realistically, QA will have a few "typical" machines sitting around, and your software isn't necessarily going to run *well* on the very oldest.
Steven Sudit
The VM (generally speaking) shouldn't run more slowly, if you have the resources available. Of course the alternative is to actually purchase all the hardware that you wanted to test.
Martin Murphy
A: 

It depends from the kind of application you are writing. For example a 3d videogame could require DirectX capable hardware. If you are writing an office app (wordprocessors and so on) every modern computer with .NET framework is enough :)

Charlie
Not necessarily, it all depends on what the application does and how well it is written. I've seen some resource hogging .NET applications before and they were not even doing much.
fletcher
+1  A: 

I would suggest setting up a VM with just your software installed and then just alter the ram and processor specs on it and retest.

It will take a little while but this would be a great way to do determine it and see what areas that you application could be enhanced.

Martin Murphy
Again, due to the characteristics of VM's, at best this could establish a ceiling. In other words, if it runs well on a particular VM, then it should run at least as well on a real machine with the same basic numbers.
Steven Sudit
The problem isn't that it runs slower but it isn't an on real time process. So they could be seconds when it is very fast, others one slower. So the same application when launched will take different times to give the same result.
Charlie
@Charlie: I'm sorry, I don't quite understand.
Steven Sudit