Why are iTools so slow? [message #41133] |
Wed, 29 September 2004 17:05  |
Mark Hadfield
Messages: 783 Registered: May 1995
|
Senior Member |
|
|
The subject line says it, really.
I kind of like the idea of iTools, and I'd like to tap into the
framework for my own tools. (I've started to use property-sheet widgets,
but nothing else.) If I do
IDL> fsc_surface, dist(100)
or
IDL> mgh_new, 'mgh_surface', dist(100)
I can rotate the surface with the mouse smooth and fast (I'm guessing 20
or more redraws per second). But if I do
IDL> isurface, dist(100)
and choose the little rotate button then rotate the surface, each redraw
takes ~ 1 second. A surface with more points than that is unusable.
(Actually, cancel that last thought, I'm not sure if iTool speed
generally does deteriorate very fast with the number of vertices or
pixels in the graphic. Which is interesting.)
I thought it might be something to do with drag quality, so I reduced
the "Default Drag Quality" (in "File/Preferences") to "Low". So now the
surface goes wire-frame when I drag it. But it's still really slow.
Is it slow for you too?
Why?
--
Mark Hadfield "Ka puwaha te tai nei, Hoea tatou"
m.hadfield@niwa.co.nz
National Institute for Water and Atmospheric Research (NIWA)
|
|
|
Re: Why are iTools so slow? [message #41252 is a reply to message #41133] |
Mon, 04 October 2004 17:29  |
Mark Hadfield
Messages: 783 Registered: May 1995
|
Senior Member |
|
|
Thanks for all the feedback, guys.
You may recall that my original posting said that the iTools system on
my machine was very slow.
Marshall Perrin and David Fanning said, no, it wasn't slow for them, and
perhaps it was a hardware renderer issue. (How many times has that
advice been given on this newsgroup?)
Well it turned out to be good advice again. I changed the default Object
Graphics renderer (in File/Preferences/Graphics) to "Software" and
iTools speed improved drastically. So there is a hardware problem of
some sort (I have an Asus 8170 adpapter with an NVidia GeForce MX 440 chip.)
Rick Towler said that GeForce MX chips suck. Jim Pendleton (in email)
suggested upgrading to the latest driver.
I'm still puzzled, because with this graphics card (which admittedly
sucks) I generally find OG redraws are somewhat faster with the hardware
renderer than with the software one. Not *much* faster, as one might
hope, but definitely not slower, as the iTools suggest.
I did a bit of profiling and found most of the time is being taken in
line 625 of idlgritscene__define, which is
self->IDLgrScene::Draw, oDest
That line is already surrounded by some timing code, so I added a
statement to print out the time. With the software renderer, the drawing
time for my 100 x 100 surface is 0.03-0.06 seconds; with the hardware
renderer it is 0.015 seconds (the granularity of the Windows timer) but
occasionally much more, up to 1 second. And here's the other funny thing
with the hardware renderer: if I sit there twirling the scene around
with the mouse, the redraws eventually become consistently fast! And
that lasts (as far as I can tell) for the remainder of the IDL session.
Some sort of caching is involved here, I guess.
So I was sitting there twirling my itool around, when I got a
black-screen crash, something I've never encountered with this machine
in 2 years. Ouch!
I did try upgrading to the latest driver. This produced no improvement,
I started getting floating-point exceptions as I moved the mouse
around over the iTool background and I got another black-screen crash.
So I reverted to the old driver and decided to stick with the safe,
slowish, predictable IDL software renderer in future.
--
Mark Hadfield "Ka puwaha te tai nei, Hoea tatou"
m.hadfield@niwa.co.nz
National Institute for Water and Atmospheric Research (NIWA)
|
|
|
|