Brian J. Tarricone wrote:
> Michael McCann wrote:
>   
>> Michael R. Head wrote:
>>     
>>> Does your special function take time to do its job? If so, then that
>>> would be why. For example:
>>>
>>> ...
>>> while(1) {
>>> gdk_threads_enter();
>>> sleep(1)
>>> gdk_threads_leave();
>>> sleep(10)
>>> };
>>> ...
>>>
>>> you'd freeze your app for a second every 10 seconds.
>>>       
>> Ahh, ok. How else can I accomplish my goal, then? I need to give GTK the 
>> lock, as I'm calling GDK from another function not in the main GTK loop. 
>> I tried leaving out gdk_threads_enter()/leave() in the CPU-intensive 
>> function, but X gives me errors.
>>     
>
> Don't use gdk in the CPU-intensive function:
Unfortunately, the GDK calls _are_ what is CPU-intensive. I believe the 
gdk_pixbuf_get_from_drawable() call is the most intensive. None of my "regular" 
code is CPU-intensive.

Of course, if I clocked my CPU back up to 3.2GHz, this wouldn't be a problem. 
;D However, I can't count on my users having a fast CPU.

I'll try out that g_idle_add() method tomorrow...


_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to