Polycount question. . .
by James Polston · in Torque Game Engine Advanced · 06/27/2005 (5:48 pm) · 12 replies
Indeed I do know that polygon limit depends on the quality of video card you have. But taking into account that TSE needs a card that supports minimal of pixel shader 1.1 ( I think ) what would be a good polycount limit for TSE? I read somewhere that characters could possibly go up to 4500 polys? For example, here is a wireframe shot of guild wars ( which IMHO is quite impressive ) Would TSE be able to handle something like this?
-thx in advance for any feedback.
and I apologize in advance for those on 56k!!
http://www.gwforum.ca/img/x800/0265.jpg
http://www.gwforum.ca/img/x800/0266.jpg


-thx in advance for any feedback.
and I apologize in advance for those on 56k!!
http://www.gwforum.ca/img/x800/0265.jpg
http://www.gwforum.ca/img/x800/0266.jpg


#2
2 - 3K models shouldn't be a problem, but 100's in a single area could be.
The models in GW have several LOD meshes to ease the burden on the renderer and, IIRC they possess several more levels of detail than say, your average FPS model.
In other words, the answer to your question would still be the infamous "depends". =\
06/28/2005 (8:40 am)
A few things you need to bear in mind about those images (yes, GW rocks)... optimization.2 - 3K models shouldn't be a problem, but 100's in a single area could be.
The models in GW have several LOD meshes to ease the burden on the renderer and, IIRC they possess several more levels of detail than say, your average FPS model.
In other words, the answer to your question would still be the infamous "depends". =\
#3
Even so that does look like a lot of characters, how many polys does the entire scene have? and what would your target platform be?
06/28/2005 (9:10 am)
I think the number of characters might be a problem, but the scenery doesn't have to be. The biggest problem with characters isn't always the number of polys or textures, but bones and vertex weights. Vertex weighting and bones are often calculated on the CPU, the last engine I used that could do this via hardware could only handle 2 bones per weighted vertex which isn't always enough for sophisticated solutions. I'm not sure what torque does, but from other posts I have read recently it looks like its handled by the CPU. Even so that does look like a lot of characters, how many polys does the entire scene have? and what would your target platform be?
#4
Say there's 200.000 polygons in that scene (just a rough, rather pessimistic estimate/guess. There's probably fewer than that). At 30 fps that would be 6.000.000 polygons a second. That should really be no problem at all for any modern gfx card.
I'd say we should worry about other things than poly counts...
06/28/2005 (9:44 am)
Is polygon count _really_ that much of a problem anymore?Say there's 200.000 polygons in that scene (just a rough, rather pessimistic estimate/guess. There's probably fewer than that). At 30 fps that would be 6.000.000 polygons a second. That should really be no problem at all for any modern gfx card.
I'd say we should worry about other things than poly counts...
#5
@ Kirby, You are right, GW does have quite a bit of LOD meshes, I also read ( somehwere ) that GW characters other than your own, have half the texture size. for ex. your char has 1 texture sheet, 1024x1024, that means all other players would have 512x512. I think this may be a good idea. . .
@ Adrian, you also make a good point, I wasn't thinking of vertex weighting and bones,
@ Magnus, you make a very good point, you stated some stuff that I wasn't taking into account.
thx. to all of u.
06/28/2005 (11:05 am)
Thx guys, I see what you all mean.@ Kirby, You are right, GW does have quite a bit of LOD meshes, I also read ( somehwere ) that GW characters other than your own, have half the texture size. for ex. your char has 1 texture sheet, 1024x1024, that means all other players would have 512x512. I think this may be a good idea. . .
@ Adrian, you also make a good point, I wasn't thinking of vertex weighting and bones,
@ Magnus, you make a very good point, you stated some stuff that I wasn't taking into account.
thx. to all of u.
#6
Like Kirby and Adrian pointed out, characters are more expensive to render than say static scenery. In Torque and TSE, the verts for skinned objects are more expensive because they are calculated on the CPU and updated to the video card every frame.
It also depends on what those verts are doing. If you put a decent size vertex shader on them, they can get expensive very fast. Vertex size can also make a difference on performance.
06/28/2005 (11:36 am)
You can't always go by polycounts. If you do, make sure you are comparing apples to apples. Like Kirby and Adrian pointed out, characters are more expensive to render than say static scenery. In Torque and TSE, the verts for skinned objects are more expensive because they are calculated on the CPU and updated to the video card every frame.
It also depends on what those verts are doing. If you put a decent size vertex shader on them, they can get expensive very fast. Vertex size can also make a difference on performance.
#7
If you have LODs already you can always give the user the option of turning the triangle count down (when turned down you just don't use the highest LODs) if they have old hardware. Same could be done with textures, if the user choose to use "low" textures you scale them all down.
06/28/2005 (11:36 am)
Just for reference, the Nvidia TNT(1) was advertised as being able to handle 6 million triangles per second. Not sure what it's up to now at current hardware. It's in either case over 100 million... (of course these are "theoretical" numbers... but still)If you have LODs already you can always give the user the option of turning the triangle count down (when turned down you just don't use the highest LODs) if they have old hardware. Same could be done with textures, if the user choose to use "low" textures you scale them all down.
#8
06/28/2005 (12:09 pm)
I am pretty sure GW also uses impostor sprites for a lot of the static models. If you watch closely you can watch them switch over. I am sure those are helping a bunch.
#9
@Brian: What do you mean by the size of the vertex shader? I have yet to buy TGE and TSE ( saving for it now )?
@Marc: impostor sprites? I have never heard of these, can you go into more depth on these please?
--
@Magnus: thats some interesting numbers, and thx for the idea of letting the use choose their lod, good idea!
-thx
06/28/2005 (12:33 pm)
Wow, thanks for all the help. I am learning quite a bit. Heres a couple of questions.@Brian: What do you mean by the size of the vertex shader? I have yet to buy TGE and TSE ( saving for it now )?
@Marc: impostor sprites? I have never heard of these, can you go into more depth on these please?
--
@Magnus: thats some interesting numbers, and thx for the idea of letting the use choose their lod, good idea!
-thx
#10
Those are *marketing* numbers. You can achieve those polycounts only in super optimized untextured demos that wholly focused on rendering and even then they can be hard to reach. You'll note that they are often call *theoretical* throughput. In real games the "maximum" polycount is far, far lower.
06/28/2005 (3:30 pm)
Magnus,Those are *marketing* numbers. You can achieve those polycounts only in super optimized untextured demos that wholly focused on rendering and even then they can be hard to reach. You'll note that they are often call *theoretical* throughput. In real games the "maximum" polycount is far, far lower.
#11
Still, there really shouldn't be any problems pushing roughly 6 million triangles per second (for real I mean) with current hardware should it?
I took a look at ATIs site and choose a couple of random cards;
RADEON 7000: 21 MTriangles
RADEON 9800 PRO 256MB: 380 MTriangles
RADEON X850 XT PLATINUM EDITION PCI EXPRESS: 810 MTriangles
Yes, they're the "marketing" values, but if by "far, far lower" you ment hundred times lower I assume you would have said so. =)
06/28/2005 (4:01 pm)
Matthew, yes. That's exactly what I said wasn't it? =)Still, there really shouldn't be any problems pushing roughly 6 million triangles per second (for real I mean) with current hardware should it?
I took a look at ATIs site and choose a couple of random cards;
RADEON 7000: 21 MTriangles
RADEON 9800 PRO 256MB: 380 MTriangles
RADEON X850 XT PLATINUM EDITION PCI EXPRESS: 810 MTriangles
Yes, they're the "marketing" values, but if by "far, far lower" you ment hundred times lower I assume you would have said so. =)
#12
TSE has a bit more optimized rendering so it might push double or triple that but it also has more advanced effects (shaders) which tends to keep the maximum limit pretty much the same.
There is a lot more going on in a real game/engine than just rendering (simulation, networking, input, ai, visibility determination, sound, collision, physics) all of which cut directly or indirectly into the max polycount.
06/28/2005 (5:08 pm)
An average camera angle in the starter.fps mission in TGE (Stronghold) only shows 6,000-12,000 triangles and runs at 120 fps on high end cards (X800) which suggests that your maximum for the scene would at most be 100,000-120,000 triangles (something similar to the screenshot above). This is *way* lower than 810M triangles.TSE has a bit more optimized rendering so it might push double or triple that but it also has more advanced effects (shaders) which tends to keep the maximum limit pretty much the same.
There is a lot more going on in a real game/engine than just rendering (simulation, networking, input, ai, visibility determination, sound, collision, physics) all of which cut directly or indirectly into the max polycount.
James Polston