Hello,

i've been looking through the archives but didnt find anything effectively 
related and i really hope this wasnt just because of my potentially bad enquiry 
skills.

So, why i'm querying you is because im working on an application whose core is 
a multiserver-vnc connection module. This means i've built the application on 
the libvncserver package for the vnc functionality and gtkmm for gui purposes. 
But with the later i've run into some severe performance issues when it comes 
to 10 or more connected servers. The performance issue seems to be with the 
drawing of the frame buffer data on the clients. I've been trying to get it 
done with Images and the drawing area, but both seem to be either not used 
correctly or just not appropriate. I convert the frame buffer the vnc library 
supplies into a pixbuffer and then rescale the pixbuffer to fit the desired 
display size. The drawing area seems to have the advantage that i can send the 
update rectangles (converted to appropriately resized pixbuffers) directly to 
the inital pixbuffer and then just call the queue are redraw method on the 
drawing area. But by doing so i run into a lot of segfaults and strange error 
messages that dont make sense to me. The point where it fails seems to be deep 
inside the gtkmm routines, though its most likely started in my own code. 

Again, im sorry for this big introduction, the proper question i wanted to ask 
you is what approach you would suggest, since the documentation didnt help me 
much.
Were talking about 10 updated per second from the vnclibrary which have to be 
handled. What class would be the best to use for displaying purposes? 

If anyone of you has the time and feels like taking a look,
http://132.230.4.14/projects/pvs
is the url to the associated trac/svn. All related code is found in the 
ConnectionFrame Class (src/gui/connectionFrame.cpp\h) and though im german all 
code comments are in english. I didnt check in the latest changes, so while im 
writing this theres just a timed update of the whole picture instead of a 
consecutive update update-rectangle by update-rectangle (which are triggered by 
the vnclib but are just ignored in the current, checked in version).
You need the libvncserver0 (and the corresponding -dev) package (its in most 
debianbased repositories) to compile it.

Thanks in advance for any helpful or at least empathetic answers,

Simon
_______________________________________________
gtkmm-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to