#51937 - Hylian Hero - Wed Aug 24, 2005 9:13 pm
So, the limit is about 4000 polys for a 30fps game and about 2000 for a 60fps game, right? Well I was playing Metroid Prime Hunters the other day and that just did not seem right.
I was looking really hard at the character models and they have to be at least 3 to 4 hundred polys. Having 4 of those on screen would account for at least 1000 polys by itself and theres NO WAY the level is less than a thousand.
Am I wrong? Does someone have actual data from that level dump that was done on MP:H?
#51940 - Dwedit - Wed Aug 24, 2005 9:23 pm
http://forum.gbadev.org/viewtopic.php?t=6361
According to the first screenshot, she has 406 faces and 704 vertices.
There is also a higher detail model with 662 triangles.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#51941 - Hylian Hero - Wed Aug 24, 2005 9:29 pm
Thanks
#51955 - cybereality - Thu Aug 25, 2005 12:40 am
Hero: you have to take into account any dynamic backface culling and portals that the Metroid engine may be using. Lets just say all the estimates are correct. For for a 60fps game you have a total of 2000 faces on screen at once. Lets say there are 4 samus characters on screen at standard LOD of 400 faces. So 1600 faces are already used up without backface culling. Factor that in and its maybe half, only 800 faces for the character models. So theoritically there are only 1200 faces left. But that is NOT for the entire level. That is only 1200 visible faces. The levels models are fairly simple, mostly hexagon rooms and square platforms to jump on. So we are talking about 1200 visible faces per room, which is really about 2400 total faces when you take into account the backface culling. 2400 faces is enough to model most of the rooms in the demo. Then when you go to open a door it will cache the next room and start removing polys. I am not sure if they do this technique exactly, but they are definately doing some sort of 3d optimization to get those speeds.
// cybereality
#51957 - M3d10n - Thu Aug 25, 2005 1:49 am
Also MP:H runs at 30fps, not 60 (unless they change it in the final build, but I doubt it - I hope they use anti-aliasing instead), so with 4 on-screen Samus models, you get something in the likes of 3000 triangles left for visible level geometry.
Now some newb-ish question: where exactly does this polygon/vertex limit comes from? It is very low when you consider the avaliable fillrate. Is it a limit on the size of the buffer where all the geometry must be stored into in order to draw each scanline (some sort of deferred rendering)?
If that's so (*maybe talkin out of my arse*), in theory one could upload new polygons mid-frame, and get more polygons drawn, as long as the amount of polygons on a single scanline is kept within the limit? It could be used on a few kinds of games, where strict camera angles apply.
#52005 - Mr Snowflake - Thu Aug 25, 2005 1:35 pm
According to some duscussion on this forum, the max polies in one frame is 2048. And it doesn't matter if it's 30fps or 60fps, the max polies stays.
#52034 - M3d10n - Thu Aug 25, 2005 6:26 pm
I was under the impression that it is possible to double the polygon limit by cutting the framerate in half (from 60fps to 30fps), but right now it's only possible with the official SDK, since the required funcitonality (something to do with drawing in two passes or something like that) isn't avaliable in DSLib yet.
If halving the framerate couldn't do any good against the polygon limit, then there should be no reason for many commercial 3D DS games to run at 30fps (or lower, in some cases) instead of full 60fps, unless they had some really complex game logic/physics/collision.
#52059 - Volta - Fri Aug 26, 2005 12:35 am
M3d10n wrote: |
If halving the framerate couldn't do any good against the polygon limit, then there should be no reason for many commercial 3D DS games to run at 30fps (or lower, in some cases) instead of full 60fps, unless they had some really complex game logic/physics/collision. |
Even for a game company, the console is new. You can make a parrallel with the ps3: even if it has 7 cores, don't expect to see games running the full power of the box.
#52075 - LunarCrisis - Fri Aug 26, 2005 5:10 am
I wrote a simple program a while back to test the poly limits of the hardware, and came out with 2048 tris per frame or 1536 quads per frame, which both match up to 6*2^10 vertexes.
I'll link the program with source, check the source for the buttons because I can't remember them =P.
http://topoi.pooq.com/h4/ds/polypusher.tar.gz
PS.: Feel free to tell me if there is something wrong with the program, although I already know the results are a little strange for poly strips.
_________________
If a tree falls in the forest and no one is there to hear it, why the heck do you care?
#52215 - Sylfurd - Sun Aug 28, 2005 1:52 pm
LunarCrisis wrote: |
I wrote a simple program a while back to test the poly limits of the hardware, and came out with 2048 tris per frame or 1536 quads per frame, which both match up to 6*2^10 vertexes.
I'll link the program with source, check the source for the buttons because I can't remember them =P.
http://topoi.pooq.com/h4/ds/polypusher.tar.gz
PS.: Feel free to tell me if there is something wrong with the program, although I already know the results are a little strange for poly strips. |
What happens on hardware if you reach the 2048 tris per frame ?
#52233 - LunarCrisis - Sun Aug 28, 2005 4:15 pm
Sylfurd wrote: |
What happens on hardware if you reach the 2048 tris per frame ? |
Nothing interesting, it just seems to ignore all new vertices after that.
_________________
If a tree falls in the forest and no one is there to hear it, why the heck do you care?
#52749 - 128MB - Fri Sep 02, 2005 6:41 pm
when u look at the full version of MPH it looks much better gfx than the demo
i'm gonna get it right away! maybe even import it ( i live in eu)