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