Why Its a "Resource Hog"....
Just to provide a little context:
All 3D games/applications are "resource hogs". Displaying 3D objects is a very, very mathematically intense process. The faster the CPU & Graphics card, the more calculations it can perform per second. The more RAM you have, the more textures it can store and the more calculations the system can "remember" or "refer to" at the same time.
Here's just a little overly-simplified sample of what it takes to view a 3d object - in this case a simple flat triangle (not even a pyramid - a simple triangle):
1) Gather data about where the "points" of the triangle are, relative to each other.
2) Gather data about where the "viewer" or "camera" is that's looking at the triangle.
3) Calculate the "volume" or "area" that can be seen by the camera.
4) Check to make sure the triangle is visible within that area. If it is partly out of view, some modifications may need to be made (this is called "clipping"

.
5) Calculate the orientation of the triangle relative to the "world" it is in - this requires doing complex math (called "Matrix Math"

for all 3 axes on all 3 "points" of the triangle.
6) Calculate the orientation of the camera relative to the "world" it is in. This requires the same sort of calculations as in Step 5.
7) Combine the results of Steps 5 and 6 so that the triangle "appears" in the proper spot in the camera's "eye".

Calculate how the triangle should "look" to the camera, based on its "lens" (i.e. viewing width, perspective effects, etc).
9) Convert the coordinates from Steps 7 and 8 into 2d coordinates on the Computer Monitor - so the individual pixels (the little dots that make up the screen) can be filled in.
10) Examine the "texture" and color of the object, to calculate what color to make each and every pixel, before it is drawn on the computer monitor.
11) To each pixel, add in the effects of any colored lights or overlapping "transparent" objects, before drawing each and every pixel.
12) Actually draw the pixels.
13) Send all of the pixel-data to the computer monitor so the user can see it.
14) Blank the "screen" and start again. (In reality, there are usually 2 or 3 virtual screens, and the computer "flips" through them when each one is ready to view - sort of like an old reel of film).
Now, in the "real" game, everything is made up of little triangles (for a number of technical reasons, the triangle is the basic element in 3d rendering). So a standard "box" prim is actually 12 triangles - where each pair of triangles makes up one "side" of the box. The land is also made up of little triangles - as are your Avatars.
As you can imagine, at any given moment you may be seeing
tens of thousands of triangles on the screen at the same time! The Steps described above must be repeated for
each and every one. There are optimizations and shortcuts for some of the steps - but many of them, like the tough "Matrix Math", cannot be avoided.
And all of the above
completely ignores processing things like mouse-movements, keyboard-strokes, sounds, other programs, etc. etc.
BTW, if you want an illustration of what I talked about with all the triangles being drawn, start up SecondLife. Press "ALT-1" to bring up the stats-window.
Click on the "Advanced" section and then "Render". You should see 2 bars, saying "KTris Drawn". The top one tells you how many
thousands of Triangles are being drawn each time your computer-screen is refreshed. The bottom one tells you how many are being drawn per second.
I'm attaching a screenshot of my stats-bar. Notice my machine is having to draw
16,200 traingles every frame (over a
million every second) - and that's just staring at an empty section of beach & water at medium graphics settings!
So hopefully this gives you an idea of why 3D graphics programs require "so much hardware & resources".

Take care,
--Noel "HB" Wade
(Tread Whiplash)