PDA

View Full Version : TBGL, whats in the kitchen ?



Petr Schreiber
28-03-2008, 15:07
Hi,

as there were no messages from TBGL world, you might be curious what is going on.
First thing is that I have a bit busy time, but second is that I am prepairing quite big performance jump for TBGL.

While display lists always provided very good performance, the pure model rendering was not that fast.
On onboard GeForce6150 LE ( yes, that LE stands for low end :) ) it usually rendered about 70 000 polygons at 25FPS, but not more.

As I am reworking the bone system, I am doing some change in the way models are handled. Here I managed to achieve 2 goals so far - increase efficiency of model storage and increase speed.

The model rendering code has passed phase 1 of optimization, which targeted on minimizing traffic between program and graphic driver. Results are very promising so far - for models with more textures the speed gain is about 2x, for single texture models up to 2.8x.

On my particular PC it means jump from ~70 000 polygons to up to 210 000 polygons at 25FPS in ideal case, which is a budget you can build a solid detail on.

I attach two screens of the same scene - it is about 226 models rendered at 30FPS with TBGL I have in the works. Current TBGL would do the same scene at framerate about 10, which is not good :)

I still have to do all possible checking with older scripts to make sure this new optimization is possible, but I think you can look forward to hi-speed version in time horizon of 1 or 2 weeks.

The animation part will take some time still, but I am working on that in parallel too.


Bye,
Petr

ADDED COMPARSION OLD-NEW TO THIS POST + choice of number of humans to not torture cards too much

ErosOlmi
28-03-2008, 15:12
emmmm .... better I stay calm ...

where is my blue pill? oops, sorry, red pill!

;D

Petr Schreiber
28-03-2008, 15:36
;D

Here I attach EXE of the new "technology", not a DLL yet as it is not ready to ship, that will come later as I said :)
Eros, you do not need pills to enter the Matrix, so do not play tricks on us :D

Just use arrows to rotate camera, and F1 key will tell you how much polygons you would be able to spit at 25FPS.


Petr

Attachement removed, please see new one in the first post of the thread

Michael Clease
28-03-2008, 15:37
thanks for the information.

I was thinking that seeing as you are optimising and improving your code it would be a good idea to have a new standard script with a standard model do to bench marking with, if we had it before you release the new version we could supply our result to you for comparison.

It could include the processor type and speed and the graphic card details.



USES "Registry"
DIM CPUid AS STRING
DIM CPUSpeed AS DWORD
DIM sMsg as STRING

CPUid = Registry_GetValue("HKEYLM", "HARDWARE\DESCRIPTION\System\CentralProcessor\0", "ProcessorNameString")
CPUspeed = Registry_GetDWORD("HKEYLM", "HARDWARE\DESCRIPTION\System\CentralProcessor\0", "~MHZ")

sMsg += "CPU type" + $TAB + CPUid + $CRLF
sMsg += "CPU speed" + $TAB + STR$(CPUspeed) + $CRLF

MSGBOX 0, sMsg

Petr Schreiber
28-03-2008, 15:49
Hi Abraxas,

you read my mind :)

Current TBGL_Benchmark is good to differentiate cards, but it does not show many improvements between versions on the same PC as it is based on bottlenecking the card by rebinding texture each 4 vertices.

For testing now I use that guy ( single texture, ~800 polys ) and also model of turtle ( 5000 polys, 4 textures, all types of polygons ).

I was thinking the benchmarks could be separate for model rendering speed, animation, ...

Thanks a lot for your CPU info code, it is really good! I did know there is a info in registry but did not know where :)

Here is the code for comparsion with current TBGL attached.


Petr

Attachement removed

ErosOlmi
28-03-2008, 15:54
I get around 15 FPS from the EXE version.

Petr Schreiber
28-03-2008, 16:05
My brother can see weak performance and my friend too - all have ATi Radeons.

I am afraid my "great" optimization is GeForce only - I get 30 FPS on very slow GeForce.

And I was not using specific extensions, just vertex arrays in special way, which is OpenGL 1.1.

Why ATi, why :D


Thanks,
Petr

Michael Clease
28-03-2008, 17:20
on my work computer its around 3-5 fps for both versions

matthew
28-03-2008, 17:30
I get around 15 FPS from the EXE version.





on my work computer its around 3-5 fps for both versions


Lol, on my new computer I get 1.72 FPS. :D

Michael Clease
28-03-2008, 17:33
whats the spec on that monster matthew? :D

Petr Schreiber
28-03-2008, 17:46
Matthew,

your result is value I will use in all advertisment texts :D

I did one tweak more, and now the crows is 20-30 FPS even on brothers Radeon 9600, could you try the attached version?

I am really sorry to bother you with testing, but I hope in the end we all can benefit from it.


Petr

matthew
28-03-2008, 17:59
whats the spec on that monster matthew? :D


The card is better than the one in my old computer but it's held back by the crappy Intel drivers. :D

Okay Petr I've tested the new script just like I tested the previous one.

I turned off all the other programs running on my computer, like my web browser & video player but I only got 1.56 FPS. ???

Petr Schreiber
28-03-2008, 18:04
Ok last version added to the title,

less humans to make situation easier for Intel based solutions.

Added new version again :P, in that the GeForces still lead, but Radeons improved a lot, Intels ... I am desperate from those, but will see what I can do.

That new version contains 2 exes, marked as "old" and "new", so easier to compare.


Thanks to ALL!,
Petr

Michael Clease
28-03-2008, 18:20
work computer

old 9.96
new 8.36

???

ErosOlmi
28-03-2008, 18:29
Old: 32 FPS
New: 75 FPS

Petr Schreiber
28-03-2008, 18:30
Thanks Abraxas,

the "real" limit on Intels seems to be somewhere around 20 000 polygons, both old/new versions use scene with about 70 000.

So I am curious how it will scale up on Eros Radeon.

The Intel version I will optimize once the publicable tweaked TBGL will go out in preview.

I am very confused about how Intel cards work inside... sometimes using recommended techniqes results in worse performance.
Would it be possible to test on your GF6800 too when you will have time?


Thanks,
Petr

Petr Schreiber
28-03-2008, 18:33
Aaa,

thanks Eros!

You got almost the same FPS as me :) ... but as usual a bit ahead.
But not that much considering I have low end card and you own a beast - I think with the advanced optimizations I entered area where ATi and NVIDIA OpenGL drivers really start to differ.

I am curious about Kents GeForce 8800...


Petr

Michael Clease
28-03-2008, 23:30
Laptop:

old = 13.9
new = 16.8

main Desktop:

old = 40
new = 18

My mainpc seems slow since I replaced the HDD, I think its a driver issue but I use my laptop more often.

hope this helps.

Petr Schreiber
28-03-2008, 23:51
Hi Mike,

the desktop results make me a bit nervous...

You have a accelerator I can envy you ( high end model, I have the lowest end possible in the series )
Maybe you could try to get latest WHQL drivers from NVIDIA, they should still support our beloved 6th serie :)
It should be 169.21 release (http://www.nvidia.com/object/winxp_169.21_whql.html).

Regarding that new HDD, isn't it SATA drive? I have some hell setting it up on my brothers PC, and in those esoteric moments it works, the PC is like after some injury :).

Intels are my nightmare, but we have laptop with Intel graphics at home, so maybe I should do tests on it more often.


Thanks for the help,
Petr

Michael Hartlef
29-03-2008, 01:18
Hi Petr,

the old exe showed around 33 FPS, the new exe around 52. The latest script version around 13 FPS.

Petr Schreiber
29-03-2008, 10:34
Thanks Mike,

that is good, but still ... I thought this update will be a bigger bomb :D
Back to the drawing board :)


Petr

Petr Schreiber
29-03-2008, 11:01
Added slightly modified version to the first post,

I think the sphere on the background was interfering somehow ( primitives not optimized yet, but will be too in future ).
I also added switch highpoly / lowpoly, so I think Intels could finally catch up.


Thanks,
Petr

ErosOlmi
29-03-2008, 11:21
OLD2 (high poly): 35 FPS
NEW2 (high poly): 78 FPS

OLD2 (low poly): 122 FPS
NEW2 (low poly): 240 FPS

Petr Schreiber
29-03-2008, 15:11
Thanks Eros,

nice double difference!
I downloaded new drivers for my card, the FPS dropped down a bit in both cases, but the ratio is still the same.


Petr

Michael Hartlef
29-03-2008, 15:32
Low amount of models->

OLD: 104-116 FPS
NEW: 175-225 FPS

High amount of model->

OLD: 34-36 FPS
NEW: 51-54 FPS

Petr Schreiber
29-03-2008, 15:54
Thanks Mike,

I completely forgot you are running ATi now, I had associated GeForce 5 series with you :)
Thanks for the results!


Petr

Petr Schreiber
04-04-2008, 15:19
I am still investigating ;D,

problem could be in pointer error, which could also explain a different behaviour on different machines ( as GPF and its friends do like to behave ).

Stay tuned.


Petr

Michael Hartlef
04-04-2008, 17:34
No problem, take your time.

Petr Schreiber
04-04-2008, 19:13
Hi,

I already got significant improvement even on Intel GM onboard solution.
But still have to check the latest generations of accelerators.


Petr