Re: Multiple threads and drawing



Just reply to one and add the others to the CC field (e.g. in the case now i'm replying to you (German), and CCing Klaus and gtkmm-list)

2008/6/18 Germán Diago <germandiago gmail com>:
2008/6/18 klaus triendl <klaus triendl eu>:
> Germán Diago schrieb:
>>
>> Cool framework. I hadn't heard of it. Unfortunately, I'm not going to
>> use it because it adds dependencies and I don't
>> want more dependencies than boost and gtkmm.
>
> sigx++ only needs tr1 and depends on glibmm when using the library. gtkmm
> depends on glibmm, too, so no extra dependencies. tr1 is already available
> with some compilers or it is available in newer boost releases.
>
>> Anyway, the idea is not to make ANY gtk+ code from another thread
>> which is not the GUI thread? In my threads code
>> I use Gtk::Pixbuf::scale_simple to make thumbnails. Does that mean I
>> cannot use it? Because if I can't I cannot make
>> multithreaded code for what I want to.
>> Or maybe I can as long as I don't draw anything in screen, and when the
>> image is
>> calculated I send it through a dispatcher and the GUI thread renders
>> it? Is that the way to do it? Thanks in advance.
>
> You are NOT probibited to call gtk+ code from threads other than the GUI
> thread. The point is to make _access_ to objects (e.g. your Gtk::Pixbuf)
> threadsafe (use a mutex, e.g.) and avoid calling functions of GUI objects
> (like the Gtk::Table or Gtk::Label) from other threads - this will make
> things much easier.
> So, sending the calculated images through a dispatcher to the GUI thread is
> the way to go.
>
>
>
> One question remains though: is sharing a Glib::RefPtr<> between multiple
> threads threadsafe, given that only one thread at a time accesses the actual
> object? Or asked differently: is Glib::ObjectBase::reference() and
> Glib::ObjectBase::unreference() threadsafe?
>
>
> To Germán: please reply to all if you reply to a message...
>
> Klaus
>
I was also thinking about the thread safety of Glib::RefPtr<>. I don't
know if it is or not, and I didnt find anything in the documentation.
When you say I should reply everyone, should I reply to both everyone
and gtkmm-list one by one? Thanks for your time.
_______________________________________________
gtkmm-list mailing list
gtkmm-list gnome org
http://mail.gnome.org/mailman/listinfo/gtkmm-list



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]