StressTest

mdoyle

New member
Ok folks.

Here is the stress test. I forgot to put it up a before as I have been quite busy. This is by far no means the best stress test for shockwave 3d as there are a few things missing and its perhaps not the most user friendly but it does the job I need it to do for a rough benchmark results and perhaps u lot can find use for it too.

Here is a wee explanation on how to use it, and what it does. The fps is frame based so it will speed up and slow down depending where you are looking but it was to try and get a more accurate fpr. THe controls are WASD for walking and u can move the mouse to look around. PLease allow the mouse extra to install if you don't have it already installed. By left clicking the mouse your view will change to a full outside view so all objects can be seen and rendered by the camera. By clicking this it just toggles back and forward.

First of all to start the base world is of about 3170 polys and a couple of textures but as you can see these are listed at the bottom already. There is physics applied across 2278 polygons for the floor, walls and pillars (concave). THis is where the stress test is not the best as I can't change what kind of physics or across which objects. But as a rule of thumb I normally put as little physics as possible anyway for speed and usuability

Keys

WASD + mouse Walk/look about the world

Left click Change camera view

Alt F4 Quit from the world.

F Will reset the frame rate quickly to its current rate without having to wait for it to balance.

Model 01
By pressing (m) on the keyboard it imports a shpere of 980 polys. By continuing to press it will import up to 100 of these spheres. By pressing shfit+m (M) it will take away the last sphere you imported.

Textures
By pressing (y) you will import a new texture (512x512) onto all of the current Model 01's. If you press (y) again it will import another texture and apply it to 50% of current model 01s. So half will have texture 1 and half will have texture 2. By pressin (y) this will continually add a new texture and split it evenly over the Model 01's (up to 100 textures)

Model 02
This will work like model 01 but instead it imports a sphere with a quarter segment cut out of it. This was to test the difference of double sidedness etc. It was also the model I decided to test alpha maps on as it was easier than trying to get it working with model 01. So again by using the keys (j/J) you will add take away one of these models. By pressing (l/L) it will toggle double sided on these objects.

Model 03
This is the same as model 02 except that it is really double sided with actual geometry. Again you add and remove the models in the same way.

Between model 02 and 03 you can only have up to 95 of these models together. So you can have either all real double sided or not or an in between. For coding purposes or just to get it done quickly the (L) and the (J) button does the same job. It just removes the last one of these models which was imported. So it could either be model 02 or model 03 if that makes sense.

I kind of decided myself that I would normally have not much more than 10 alpha maps in a world in one area. Whether that would be plants or fences etc. So the textures in this area will add an alpha map across the models (02/03) in the same way the textures were added for model 01. There are only up to 10 alpha maps which can be used here.

TV Screens.
This was to test how much animated texture maps takes from a machine. Again use (z/Z) keys to add remove screens. THere is a maximum of 10 screens here. They are static textures on them when you first load them.

Cached and non cached textures
This is basically adds animated textures to the TV screens in either a cached format or kind of streaming format. This works in teh same fashion as the model 02/03 idea. ie u can have both types but the (X or C) just removes the last one added.

Render format.
It changes how it is rendered.

Render Type
WIll toggle between direct x and open gl etc

Characters.
This imports up to a maximum of 8 characters. The characters have the same mesh and texture map but there is a total of 3 different animations. So for example if all 8 characters where imported then the 3 animations would be split between them.

Shadow maps
I didn't have time to create proper shadow maps across the place. So i just used a basica number map which is coded and works like shadow maps. The shadows are applied across Model 01. By pressing (b) it will just split 10 shadow maps across the current number of model 01's you have.

At the very bottom is the amount of polys and textures currently in the world.

Oh and I almost forgot the link. Here it is

http://www.junction-18.com/ldbstresstest/

Just wanted to say its not the most accurate and I will probably change a few things in the future when I realise I am adding things in the world which are not stress tested in this. If its of any use and people are looking for small additions or anyways to make it easier to use or better ideas let me know and will get a new one done.

Cheers
M
 

mdoyle

New member
Just found out there is a problem with the cache or something on my ftp.

If the link doesn't work can you press F5 or ctrl F5 once the link is opened and it should work properly.
 

MentalFish

LScript minion
I just ran the test on my Dell computer and I got an average of 77 fps, with a lot of other applications running in the background, running the test at full screen and no change in test settings.

2.0 GHz Intel Centrino
2 GB RAM
128 MB Radeon 9700
running at 32 bit 1920 x 1080 resolution

When I set all on full, it halts down to around 1 fps :)

I have done some similar test runs lately with an asteroid field, and found a border value of around 100 models being the most that is managable for the shockwave engine, regardless of CPU, RAM and graphics card.

My aim is to make any realtime 3d run nicely on a PIII 800 MHz+, 256 MB RAM and 32 MB gfx card at around 800 x 600 resolution and up, and it isnt that difficult. So far my old Dell Inspiron 8100 seems to take most of the stuff I throw at it.
 

mdoyle

New member
The minimum spec I am working with just now is a

PIII 1ghz
Windows 2000
128 meg of ram
32 Meg gfx card (internal..... which means needs to run at 16 bit colour most of the time cos 24 bit switches the shockwave engine in these cards to software render)
800x600

We have a minimum spec and a maximum spec just now and with these test results etc we should be able to find out what pc the user is using and let them play the low/high/med version of the interactive.
Its just starting just now and as I said am creating this tool that will be very easy just to drop on level of detail meshes textures and set varying levels of banding across each set of objects. Hopefully it will work out.
 
Top Bottom