Cairo vs drawable

hi,

which one is faster?
on a Gdk::Drawable draw with theese functions? :
http://ruby-gnome2.sourceforge.jp/hiki.cgi?cmd=view&p=tut-gtk2-agtkw-draww&key=draw
or create a cairo context and draw on that with cairo?

in my situation i have a large Gtk::Fixed - about 3500X4500px, 300
rectangles, 500 curves - inside a ScrolledWindow, but its slow on
expose.
i tried double buffering it, but didn’t help.

i’m open to any suggestion.

thanks
Balint