Re: How to display single orbits of satellite data in function graphics? [message #84158 is a reply to message #84121] |
Thu, 02 May 2013 07:53   |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
David Fanning writes:
> P.S. Another way to speed this up would be to create your own user
> symbol (circle) and specify PSYM=8 in the call. That way you would avoid
> going into cgSymbol each time and *remaking* the circle there. That is
> probably what is taking much of the time.
This is interesting. Reducing the number of points in my circles from 72
to 36, made about 1 second of difference. Creating my own circle and
passing PSYM=8 made about another second of difference. So, finally, I
tried to get as close to the machine as possible with this code:
n = 793647L
lon = RANDOMU(seed,n)*360
lat = RANDOMU(seed,n)*180
cgLoadCT, 39
cgDisplay
circle = cgSymCat(3)
black = cgColor('black')
white = cgColor('white')
tic
PLOT, lon,lat, PSYM=circle, SYMSIZE=0.2, color=black, background=white
toc
END
This took 19 seconds, compared to my original 25 seconds in a fully
Coyote Graphics format. This seems to correspond pretty well to my rule
of thumb that using Coyote Graphics routines adds about 20% rendering
time to the normal direct graphics time. But, I'm a little bit surprised
direct graphics is this slow here. Using a "dot" instead of a "circle"
can be done in about 8.5 seconds. So, circle rendering seems to be a
slower operation.
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thue. ("Perhaps thou speakest truth.")
|
|
|