PDA

View Full Version : OpenGL slowwww rotating model in texture view



lwn00b
02-24-2010, 08:39 PM
Hi all.

I have had an issue in modeler for awhile now with models exported from Poser.

In modeler, with view mode set to texture, and a single viewport, simply rotating the model would cause huge OpenGL lags.

The models are approx. 200K polys, with many non-planars (but that's another story). :-)

The models use huge (4096x4096) UV texture maps.

So, I tried removing all the textures as a test and saving to a temp model.

Viola, OpenGL rotation is wicked fast (I have a GTS250 1GB).

So, next I added textures back onto the model, one at a time and found the issue! If I add the transparency image maps to the model, OpenGL performance goes back in the toilet.

I have 'Transparency' and 'Transparency Channel' un-ticked in the GL tab of the display options.

Anyone ran into this? Workarounds?

Thank you for reading.

BeeVee
02-25-2010, 01:18 PM
Are you in GLSL mode for Modeler? Try going to Multitexture. It's not as faithful to the textures as GLSL is, but it's much faster. (GLSL is great for Layout though).

B

lwn00b
02-25-2010, 01:44 PM
Are you in GLSL mode for Modeler? Try going to Multitexture. It's not as faithful to the textures as GLSL is, but it's much faster. (GLSL is great for Layout though).

B

Thanks for the reply.

Multitexture mode.

I've been scouring the forums for awhile now, and have tried every combination of options in the GL tab. It seems to me that the OpenGL implementation in modeler has a problem with UV image maps on the transparency channel of the surface.

Sensei
02-25-2010, 10:07 PM
With transparency, displaying routine has to sort polygons in the right order from the farthest and the nearest to camera. That's done by cpu, not by gfx card. Check out cpu usage in Process Manager during spinning viewport. 200,000 elements to sort is damn a lot for any sorting routine, and for sure it'll be done just by one cpu core.

lwn00b
02-26-2010, 10:40 AM
With transparency, displaying routine has to sort polygons in the right order from the farthest and the nearest to camera. That's done by cpu, not by gfx card. Check out cpu usage in Process Manager during spinning viewport. 200,000 elements to sort is damn a lot for any sorting routine, and for sure it'll be done just by one cpu core.

Bingo! Thank you for that Sensei.

Never thought to watch GPU load and CPU load at the same time.

I have a copy of the model, with no transparency. When I rotate that one (it's blazing fast) the GPU load goes up to 30% and there is little to no load on the CPU.

When I rotate the original model with transparency maps, the GPU load stays at 4% and one of my cores on the CPU goes up to 29% the other three stay at 1%.

That brings an interesting question, can polygon sorting with transparency be turned off?

I thought that un-ticking the transparency options would accomplish this:

Sensei
02-26-2010, 11:49 AM
That brings an interesting question, can polygon sorting with transparency be turned off?

Sorting is necessary to get correct image with transparent polygons.

lwn00b
02-26-2010, 01:16 PM
OK, please let me re-phrase.

What does un-checking 'Transparency' and 'Transparency Channel' in the GL tab of the display options in modeler do? I would have thought disabling those two options would solve the issue.

Sensei
02-26-2010, 01:42 PM
As far as I can see, Display Options > Transparency if toggled enables scalar Transparency that you set in general Surface Editor, Transparency Channel is enabling using Transparency Texture image.