Polygon Benchmarking

Blitz3D Forums/Blitz3D Programming/Polygon Benchmarking

Bailius Maximus(Posted 2004) [#1]
Does anyone have a benchmark/maximum for the number of polygons that one should try to achieve/not exceed for today's games on today's average computers?

By average, I mean computers that games are typically marketed for with respect to CPU, RAM, VRAM, etc.

Any enlightenment in this area is most appreciated.

Thanks,
Joe
818-300-4756


Boiled Sweets(Posted 2004) [#2]
Its not ya polygons that will get you, it's more likely the number of surfaces...


Bailius Maximus(Posted 2004) [#3]
Thanks Boiled Sweets! Congrats on your latest production!

Do you or anyone else know how the number of relevant surfaces get counted?:

1) Is it based on the number of entity surfaces not hidden in the 3d world?
2) Is it based on the number of entity surfaces shown by the camera?
3) Does the current camera zoom impact the number of surfaces?
4) I assume each separate model attached to each entity counts as at least one surface?
5) etc...


Bailius Maximus(Posted 2004) [#4]
Thanks Boiled Sweets! Congrats on your latest production!

Do you or anyone else know how the number of relevant surfaces get counted?:

1) Is it based on the number of entity surfaces not hidden in the 3d world?
2) Is it based on the number of entity surfaces shown by the camera?
3) Does the current camera zoom impact the number of surfaces?
4) I assume each separate model attached to each entity counts as at least one surface?
5) etc...


@rtur(Posted 2004) [#5]
Does ActiveTextures() command returns amount of used surfaces?


Bailius Maximus(Posted 2004) [#6]
I just tested ActiveTextures() (which I didn't even know about) and it returns I think only the textures that have been loaded and not the total number of surfaces.


big10p(Posted 2004) [#7]
ActiveTextures??? When did that command show up? Not long ago, I guess, as there's no help file entry.


Damien Sturdy(Posted 2004) [#8]
..Activetextures????


Dreamora(Posted 2004) [#9]
ActiveTextures() is an uncommented command.


maximo(Posted 2004) [#10]
What's it good for?


Dreamora(Posted 2004) [#11]
It returns the number of used textures.
But it is simpler to use the graphics memory commands to find out how many memory they use, because the number of textures is a quite useless information. ( this might be the reason why it is a uncommented command )


Ross C(Posted 2004) [#12]
Basically, each texture equals a surface. To many of them and blitz will crawl along. That is why single surface particle system have been developed, to reduce the surface count. Some advice given previously was around 50-100 surfaces maximum. I'm using around 37 personally as a rough guildline. And around 40,000 polys per frame.

Any surfaces which aren't showing at all, aren't rendered, so don't count. But, if even the smallest part of a mesh is in view, the whole mesh is rendered, along with how ever many surfaces it will contain. So, you don't need to worry about hiding entities that aren't in view. But, if you do hide an entity, no collision detection will be performed on it, which can speed up things :)

Each mesh has at least one surface. Also, if you have a mesh that is completely covered by another, and both are in view, they both will be rendered. It's up to you to do any processing if you want :o)

I'd imagine that if you used camera zoom, and entities went out of view, they wouldn't be rendered.

Another thing that might slow stuff down is fill rate. I'm not 100% sure, but i think it's when say, you run up to a textured mesh, and it fills the screen. There's overdraw too, which is when you have alot of entities that have alpha applied to them. Again, i'm not 100% sure on that :o)


Bailius Maximus(Posted 2004) [#13]
Thanks Ross for all the details...very helpful.

It does seem though that even if the entities are in the camera, they still hinder the FPS, but not as much as if they were in view.