New instancing demo

Humus

Crazy coder
Veteran
A new demo is up on my site that implements various ways to draw a particle system. Use the 1-5 keys to select between the different draw methods.

1 - Instancing
2 - Vertex shader constant instancing.
3 - Vertex buffer copy
4 - User pointer vertex array
5 - One call per particle

Approximate performance numbers on my system:
1 - 400fps
2 - 365fps
3 - 330fps
4 - 120fps
5 - 55fps

Runs on 8500 and up and GF3 and up. Paths are available as supported by the cards.

instancing.jpg


http://esprit.campus.luth.se/~humus/
 
Cool demo (as always) Humus, it works on my main setup (9800pro), but it crash on my other PC (GF3).

Code:
(6): error X4512: cannot access w component from texcoord in general expression

Hope it helps.
 
cool :)

Option 2 makes my PSU give out a faint but high pitch noise, and option 4 gives out a lower pitch and sounds a bit like white noise. More fascinating that instancing itself. :LOL:
 
Humus said:
Approximate performance numbers on my system:
1 - 400fps
2 - 365fps
3 - 330fps
4 - 120fps
5 - 55fps

Approximate numbers on my system (Athlon XP 2000+, GeForce 6800):
1 - 202 fps
2 - 186 fps
3 - 207 fps
4 - 87 fps
5 - 38 fps
 
euan said:
cool :)

Option 2 makes my PSU give out a faint but high pitch noise, and option 4 gives out a lower pitch and sounds a bit like white noise. More fascinating that instancing itself. :LOL:
What are your systems specs Euan?

(Same Euan as that other place I got perma-banned from BTW? If so, HI EUAN!!!!!!!!! )
 
DirectX 9.0b

Radeon 9800

Catalyst 4.8



Is the DirectX version the issue (not c version) ?

I guessed that... hopefully they release SP2 with DirectX 9.0c on Windows Update soon... hehe, I upgrade through that site (I do not use Beta versions or Service Packs released from secondary websites) normally for things like Service Packs and DirectX.
 
Vysez said:
Cool demo (as always) Humus, it works on my main setup (9800pro), but it crash on my other PC (GF3).

Code:
(6): error X4512: cannot access w component from texcoord in general expression

Hope it helps.

Crappy HLSL compiler. It should compile just fine to ps1.1, if it wasn't for that the support for ps1.x has been crappy since start, and never really improved since. Anyway, I uploaded a new version that should compile fine on ps1.x too.
 
Rough averages for the first three (last two are pretty constant)...

1 - 275fps
2 - 250fps
3 - 220fps
4 - 99fps
5 - 51fps

Mobile Athlon XP 2500+ @ 2.4GHz (1.65v)
Abit NF7-S
2 x 512MB Samsung PC3200
Radeon 9500 Pro (stock clocks)

Neat demo Humus :)
 
Humus said:
Crappy HLSL compiler. It should compile just fine to ps1.1, if it wasn't for that the support for ps1.x has been crappy since start, and never really improved since. Anyway, I uploaded a new version that should compile fine on ps1.x too.

Yep, the w component error is gone, but i still got an error (unspecified).
And yes, I have DirectX9.0c installed.
No problem with the 9800pro, though.
 
Chalnoth said:
Humus said:
Approximate performance numbers on my system:
1 - 400fps
2 - 365fps
3 - 330fps
4 - 120fps
5 - 55fps

Approximate numbers on my system (Athlon XP 2000+, GeForce 6800):
1 - 202 fps
2 - 186 fps
3 - 207 fps
4 - 87 fps
5 - 38 fps

Hmm.. Interesting.
On my system the number is somewhat different.

P4 2.1Ghz, GeForce 6800 GT
Win XP sp2, DX 9.0c , 61.77 NV driver

1 - 172 fps
2 - 225 fps
3 - 176 fps
4 - 80 fps
5 - 47 fps

VS 2.0 path (#2) seems best on my system.
Any guess ?
 
Now this thing will make games look 5 times richer with objects and with no performance hit. Sweet. Can't wait to see it in real games :) This is even better then early Z Ocllusion Culling :)
 
ATI demo don't work right on Nvidia cards... Surprise! :p

mode

x800
fastest - 1-2-3-4-5 - slowest

6800
fastest - 2-3-1-4-5 - slowest

Optimized for official dx9 spec Geometry Instancing under SM3.0? Nope.

Optimized for ATI cards and their brand of instancing? Yep.
 
Ruined said:
ATI demo don't work right on Nvidia cards... Surprise! :p

mode

x800
fastest - 1-2-3-4-5 - slowest

6800
fastest - 2-3-1-4-5 - slowest

Optimized for official dx9 spec Geometry Instancing under SM3.0? Nope.

Optimized for ATI cards and their brand of instancing? Yep.

And you know this how?

Although I've never done any 3D programming, I've done enough to programming to somewhat understand what's being done, and Humus' program seems pretty similar to what nvidia did for their Asteroid instancing demo.
 
Chalnoth said:
Humus said:
Approximate performance numbers on my system:
1 - 400fps
2 - 365fps
3 - 330fps
4 - 120fps
5 - 55fps

Approximate numbers on my system (Athlon XP 2000+, GeForce 6800):
1 - 202 fps
2 - 186 fps
3 - 207 fps
4 - 87 fps
5 - 38 fps

you think the cpu makes a big difference?
 
Ruined said:
ATI demo don't work right on Nvidia cards... Surprise! :p

mode

x800
fastest - 1-2-3-4-5 - slowest

6800
fastest - 2-3-1-4-5 - slowest

Optimized for official dx9 spec Geometry Instancing under SM3.0? Nope.

Optimized for ATI cards and their brand of instancing? Yep.

Does the source code back up your statement or are you shooting from the hip?
 
Back
Top