| View previous topic :: View next topic |
| Author |
Message |
Podj
Joined: 18 Dec 2005 Posts: 3
|
Posted: Sun Dec 18, 2005 3:00 pm Post subject: Envmap performance way below par |
|
|
So this 33 million flat unlit polys / second statistic is repeated everywhere.
Trying to get an idea of what homebrew can do, I bumped up the number of rows & slices in the gu\envmap sample to 96. Meaning there should be approx 100*100*2 (20000) tris in that torus. And the framerate drops to 40. Add another torus, the framerate drops to 20. 100*100*2*40 is a mere 800,000.
I didn't expect this sample to be fast but I didn't expect it to be that slow, either.
I turned off the lighting and texturing - no difference.
So what's the bottleneck? |
|
| Back to top |
|
 |
ector
Joined: 12 May 2005 Posts: 195
|
Posted: Sun Dec 18, 2005 4:31 pm Post subject: |
|
|
Been a while since I looked at that sample, is it using a swizzled and mipmapped texture? If not, the texture cache is most likely destroying the performance. _________________ http://www.dtek.chalmers.se/~tronic/PSPTexTool.zip Free texture converter for PSP with source. More to come. |
|
| Back to top |
|
 |
ufoz
Joined: 10 Nov 2005 Posts: 86 Location: Tokyo
|
Posted: Sun Dec 18, 2005 4:55 pm Post subject: |
|
|
Um, he says he turned off the texturing.
Maybe the geometry should be in VRAM or something? That ought to speed things up a bit. |
|
| Back to top |
|
 |
gr8dane
Joined: 18 Aug 2005 Posts: 16
|
Posted: Sun Dec 18, 2005 7:06 pm Post subject: |
|
|
Just going off memory here since I do not have that sample within reach.
1/
The sample uses X,Y,Z and Normals as floats. To increase performance they could be cut to bytes which would yeild a savings of 18 bytes per vertex.
2/
The sample furthermore does not do any form of tri-stripping. Doing tri-stripping would yeild a great performance boost. It will cut the number of vertices needed to be fed to the hardware.
3/
The sample uses indexed vertices. Indexed vertices on the PSP is very very bad. Use only a triangle list, or even better, non-indexed triangle stip(s) for more performance. |
|
| Back to top |
|
 |
Dr. Vegetable
Joined: 14 Nov 2005 Posts: 171 Location: Boston, Massachusetts
|
Posted: Sun Dec 18, 2005 7:49 pm Post subject: |
|
|
| Although if I understand what you both are saying, doing (2) tri-stripping would remove surfaces from the test. It seems that the goal is not to optimize rendering of these torus examples, but to benchmark the PSP's rendering performance. |
|
| Back to top |
|
 |
ector
Joined: 12 May 2005 Posts: 195
|
|
| Back to top |
|
 |
Dr. Vegetable
Joined: 14 Nov 2005 Posts: 171 Location: Boston, Massachusetts
|
Posted: Mon Dec 19, 2005 3:55 am Post subject: |
|
|
| ...Good tip in general, though. |
|
| Back to top |
|
 |
Podj
Joined: 18 Dec 2005 Posts: 3
|
Posted: Mon Dec 19, 2005 4:08 am Post subject: |
|
|
| Why is indexed bad? Is it doing it in software? |
|
| Back to top |
|
 |
Jabberwocky
Joined: 03 Aug 2005 Posts: 43
|
Posted: Fri Dec 23, 2005 1:07 am Post subject: |
|
|
| With indexed you have to read the index, then the vert (done by hardware). In non-indexed, you just read the vert. So, basicly, you have an extra read involved with indexed mode. If space is your concern rather than speed, indexed can be good, otherwise it's bad... ;o) |
|
| Back to top |
|
 |
|