Portál AbcLinuxu, 13. srpna 2025 18:47
bool MyWin::on_area1_expose_event(GdkEventExpose *ev) { Glib::RefPtr<Gdk::Window> window = area1->get_window(); Glib::RefPtr<Gdk::GC> gc = Gdk::GC::create(window); Gdk::Rectangle area; area = Gdk::Rectangle(&ev->area); window->begin_paint_rect(area); window->draw_pixbuf(gc, pixbuf, area.get_x(), area.get_y(), area.get_x(), area.get_y(), area.get_width(), area.get_height(), Gdk::RGB_DITHER_NORMAL, 0, 0); window->end_paint(); return true; }pixbuf je nějaký naloadovaný obrázek. Dělám něco špatně/neefektivně?
Je GTK+ alespoň pod Win32 rychlejší?Není. Zkoušel jsem aplikaci s GTK+ 2.6 ve Windows XP, a oproti tomu je verze pro Xka ještě celkem svižná. Změna velikosti okna je totálně strašná (obsah vůbec nereaguje dokud nepřestanete měnit velikost), vykreslování jednotlivých oken je viditelně pomalé (windowsové GUI se na obrazovce objeví okamžitě a celé, v GTK+ často vidím jak se okno postupně na obrazovku vykreslí), stejně tak překreslování (např. když přes okno s GTK+ aplikací přejedete jiným oknem, to se nedá s nativním Windows GUI ani trochu srovnat), při přepínání záložek vidím jak se postupně vykreslují jednotlivé prvky v záložkách a vůbec to má všechny ty atributy pomalosti jako v Xkách - běžné věci jako otevření menu (při kliknutí pravým tlačítkem, otevření combo boxu atd.) nebo položky v TreeView atd. prostě žerou několikanásobně víc výkonu procesoru než nejen windowsové GUI, ale i třeba Qt. A to jak ve Windows, tak i Linuxu či BSD.
No, a i kdyby ne, tak ty je v tom rád zastoupíš...To naštěstí nemusím, protože to takhle prostě je. Stačí si projít třeba jakoukoli diskusi o GTK+ nebo GNOME na osnews.com atd.
[14:01:35] mrdocs: ishmal: did you know Franz ported Scribus to use cairo as a render ? [14:02:21] Jizzbug: So I guess libart is dead, huh? [14:02:41] Jizzbug: libart_lgpl is dead! Long live libart_lgpl! [14:04:11] ishmal: really? cool [14:04:31] mrdocs: ishmal: took him half a day [14:04:57] mrdocs: and we sent the patches to cworth to let him play [14:05:13] mrdocs: the big holdback is performance [14:05:34] mrdocs: display was almost 100% correct right out of the box [14:06:45] mrdocs: and as cairo matures, it still will be possbile to graft it in later.. Franz liked the API and ease of using :)
anebo: mailing list
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.