comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Why is IDLgrSrcDest::Draw so slow when calling IDLgrPolygon::SetProperty?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Why is IDLgrSrcDest::Draw so slow when calling IDLgrPolygon::SetProperty? [message #35096] Tue, 13 May 2003 16:10
Rick Towler is currently offline  Rick Towler
Messages: 821
Registered: August 1998
Senior Member
I am puzzled over why IDLgrSrcDest::Draw is so slow when I call
IDLgrPolygon::SetProperty. Depending on the polygon count I am seeing up to
a 60% drop in frame rates when I change the color of a IDLgrPolygon object
vs. when I don't. This is a real bummer as I am animating 500-1000
IDLgrPolygon objects which present information thru their changing color.

Looking at the output of PROFILER it seems that IDL is spending this extra
time in IDLgrSrcDest::Draw. Knowing that IDL will cache properties of
graphic atoms to speed subsequent draws, I am guessing that these properties
are updated in IDLgrSrcDest::Draw? Venturing further out on the limb, I am
guessing that a call to IDLgrPolygon::SetProperty sets a flag that forces
the atom's cache to be updated when IDLgrSrcDest::Draw is called. If this
is the case, I would think that properties such as COLOR, and LINESTYLE
wouldn't require IDL to re-calculate these properties and I am wondering why
I have to pay this price.

Am I interpreting this correctly or am I crazy?


The only workaround is setting the color thru texturing which for simplicity
and speed's sake I was hoping to avoid.


-Rick
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: dialog_pickfile with multiple_files crashing IDL
Next Topic: Re: satellite data

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sun Oct 12 12:23:36 PDT 2025

Total time taken to generate the page: 0.96192 seconds