hhmmmm.... That is a very VERY large data set. 1 million points! And the user needs to interact with all these points? Have you tried coming up with a clipping volume application side, which would reduce the number of points to render? If the vectors are static around the origin, then the compilation should work, since all the rotation and translation would be applied globally . If the vectors are moving independently and change in respect to each other, then you are right compiling will not help. Compiling si good for rigid structures NOT fluid, as you have to recompile every time you make changes to the model. I guess my next question would be why, this intensive an application, would you use a GUI anyway? For these many vectors you need LOTS of memory, and some power full CPU/GPU combination (optimization at the GPU level, really comes from drawing triangular surfaces, as they have hardware matrix calculators build in, more importantly the line cal is done hardware side). And why consume all that memory, with a windowing system. IMHO, all that many points are no good, unless it is full screen, so drop the gtkmm re-write in C, using the direct OpenGL libraries using platform specific. I think you will see performance drastically improve ( -GUI). just my MHO, hope it helps. Shawn
Date: Wed, 10 Feb 2010 10:59:10 +0000 From: harg pml ac uk To: gtkglext-list gnome org Subject: Re: [GtkGLExt] Is it possible to use overlays with gtkglextmm? Hi Shawn, Unfortunately, I do not think that will work for me. I am dealing with something of the order of 100 million points or more, and I tried to use display lists previously. If I remember correctly, the reason I stopped using them was because they used up a huge amount of my memory when created (I do not know whether they always do this or if it was some sort of excess after the graphics card memory had been filled). That was a couple of months ago. Since then the program has been changed so that now the points move (change vectors, I presume) around the origin as, before, there were precision problems relating to OpenGL's conversion of doubles to floats. As it is, the program is pretty quick in most situations except when we are using the hard drive to store data and caching it (we do this because the data can, on occasions, be 10 GB or more), and I do not see how display lists can be used with caching. For that reason I want the facility to write to different "layers" independently, such as the overlay facility, if it possible. Currently I am attempting to fiddle with the front and back buffers, copying from one to the other, but I would rather try the overlays (which my graphics card says it can handle) which I believe would be easier to understand and maintain. So, can I do this in gtkglextmm, and how? As I said, Gdk::GL::Config::get_layer_plane() appears to return the number of a layer, but I do not know what to do with it. Do I somehow create a new context for each layer? Regards, Haraldur On 10/02/10 01:46, Shawn Bakhtiar wrote:
Plymouth Marine Laboratory Registered Office: Prospect Place The Hoe Plymouth PL1 3DH Website: www.pml.ac.uk Registered Charity No. 1091222 PML is a company limited by guarantee registered in England & Wales company number 4178503 PML is a member of the Plymouth Marine Sciences Partnership Website: www.pmsp.org.uk Please think before you print. This e-mail, its content and any file attachments are confidential. If you have received this e-mail in error please do not copy, disclose it to any third party or use the contents or attachments in any way. Please notify the sender by replying to this e-mail or e-mail forinfo pml ac uk and then delete the email without making any copies or using it in any other way. The content of this message may contain personal views which are not the views of Plymouth Marine Laboratory unless specifically stated. You are reminded that e-mail communications are not secure and may contain viruses. Plymouth Marine Laboratory accepts no liability for any loss or damage which may be caused by viruses. |