GsoC: OpenGL viewport optimization!

I think that if you go outside the graphic memory the system crashes.
I have tried with a card with 512 mb,and copying a mesh with 1 million for 3 time works,4 times not(blender with 4 copied meshes gives me 1.1 gigabyte/800 megabyte).
In wireframe it doesn’t crash(as it’s not implemented).
This is important,even if it’s really fast,I hope that this vbo will allow to work on scene as complex as it’s now,as it seems that if you go outside video memory it crashes.
P.S
Blender 2.49 can handle easily 4 copy of 1 million mesh,it’s slow but it doesn’t crash.

i just found out that my card only supports open gl 1 . (1,2,3,4) and some features of open gl 1.5 so

Hope there would be backwards compatibility in 2.5 so that people who have unsupported cards can still use blender without, Vertex buffer Objects(vbo) tooo

As I promised I post a little test-video with comprasion between 2.49 a gsoc performance:

@superhero I hope Lukas introduce also vertex arrays for users uses old graphic cards, even with that technique the 3dview should be faster.

Very nice indeed. I already tested it but I hope there is even a better improvement. Well GSoC isn’t finished yet. Let’s see what this bringts. No matter what. It’s already great to have these improvements! Thanks a lot to the coder!

Wow, that’s a significant difference already! Great work, Lukas!

He’s at it again, he has now implemented support for rendering using vertex arrays (old style, compatible with nearly all the old video cards) and vertex buffer objects (like in the current testing build, which can be much faster if your card supports it).

http://cia.vc/stats/project/Blender/.message/12c45ff
http://cia.vc/stats/project/Blender/.message/12c49af

When I back home, I’ll post new builds on graphicall(including gsoc raytrace optimization)
Can’t wait to test it myself!

wow very nice work!

Im looking forward to this feature the most :smiley:

I uploaded a fresh build at graphicall.

I did some more research:
I did a little camera animation with 2 milion polys(http://www.youtube.com/watch?v=3SKgzW7Z2zA)

My videocard is Ati moblility 2600

Time to render 200 frames animation(in 3dview):
blender 2.49 - 1min 42sec
gsoc - 14.9s(!)

I feel sad that this project wasn’t integrated in 2.4x, Is there any possibility to create patch from branch and compile it in hmmm optimized 2.49? This combination would ROCK!

Thank for your work Lukas!

Would you mind to uploaad your scene? How did you try to animate it? Did you only press alt+a and counted the seconds?

Yep I just pressed alt-a and counted seconds using stop-watch :yes:
I probably don’t upload my scene(cuz It’s not finished) but If you want you can create your scene with some subdivided cubes for example

Cheers

Do you have some time to create such a scene? Don’t want to start a my-graphics-card-is-better-then-yours-kind-of-thing. But I would like to compare your ATI against my Nvidia 8600m GT as they should be very similar in speed I think?

how to use it?

here is nothing different with 1800k model
very slow
I use 7800GTX card

+1 for benchmarks that show frame rate difference.

+1 I’m curious as well…who isn’t.

Got exploding geometry in some scenes, and some crashing in others. Some work just fine, though.

Just wanted to bump up thread
Most bugs are now fixed now, if someone want to try it out then check graphicall.org :slight_smile:
Still a sculpt mode doesn’t work properly but belive it will be soon fixed.

btw. Some documentation: http://wiki.blender.org/index.php/User:Imbusy1/User_specs_for_Viewport_performance_improvement

I tried to run the BBB benchmark but the script wont run, so i just did a quick 31k Suzanne and rotated it around the view port manually

In 2.49 im getting around 28-30 fps
In 2.5 im getting around 50-57 fps

Im trying to figure a better way to compare the two scenes but if i set up an animation so that Suzanne rotates around the viewport, 2.5 actually runs slower than 2.49.

Does anyone have any idea how i could make the BBB benchmark run in 2.5?
Im getting this “Import Error: No module named Blender”
Im guessing that they have not implemented all the scripting stuff yet?

As far as I know, only the bpy namespace is available in 2.50 (ie. the new API, “Blender” is old). You can port the script by reading the documentation.

Cool i shall give it a go later :slight_smile: