[SciPy-dev] Tkinter/OpenGL version of Chaco/Kiva status and request for help

David C. Morrill dmorrill at enthought.com
Tue Nov 19 17:10:12 CST 2002

First the good news: The Tkinter/OpenGL based version of Chaco/Kiva is very near completion.

The major remaining work items are:

1) Convert Eric's wxPython based FreeType Kiva code to work with the OpenGL based version of Kiva.

2) Improve overall performance dramatically.

Some people voiced a concern that the wxPython based version of Chaco seems a little slow. Well, compared to the current OpenGL version, it hums like a well oiled machine :-(

Hence the request for help...

Most of the performance issues with the OpenGL version of Chaco have to do with interactive operations, like drawing the cursor crosshair lines or the graph and axis selection regions.

In the wxPython version, we maintain an off-screen bitmap of the PlotWindow contents and either xor the cursor or selection regions into the screen or blit the off-screen bitmap onto the screen (e.g. to refresh the window when a region of the PlotWindow is exposed).

Being fairly inexperienced with OpenGL I have not been able to find a way to do something equivalent in OpenGL:

- The OpenGL 'overlay' buffers do not appear to be supported by the version of 'togl' supplied with the current PyOpenGL package. 

- Trying to do a glReadPixels(...) call to read the contents of the OpenGL buffer seems to take about a second on a >1 GHz processor (hardly useful for interactive work).

So the question is:

Does anyone know how to efficiently 'rubberband' things in OpenGL? 

If the asnwer is to use the overlay buffer, does anyone know how to get it to work with a Tkinter based OpenGL widget?

Thanks in advance for any help...

Dave Morrill

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://projects.scipy.org/pipermail/scipy-dev/attachments/20021119/6649b7c6/attachment.html 

More information about the Scipy-dev mailing list