Re: Does Cairo Use Hardware Acceleration?
Anthony Walter <[email protected]>
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <CAHmPLWXJc7JEX8Zb8=8xYF_01u2sMPdKzzmnzKwXZNrR41MRLg@mail.gmail.com> |
Thank you for that useful information. It's interesting that you mention cairo_gl_surface. I did some google searching on that function and found little information about it. I've done a bit of OpenGL development before including creating and managing GL contexts, so some of what you mentioned is familiar to me. My source code Cairo import unit doesn't define any OpenGL related routines. I am going to go ahead an assume I would need to build Cairo from source with the proper flags to enable an OpenGL render path. Can you tell me if the Cairo OpenGL render path would work on Windows and OSX in addition to Linux? Also, when building Cairo is the result and only dependency I need either libcairo.so or libcairo.a or a static lib on Linux, and libcairo.dll on Windows? Also, I am using Pango with the Pango-Cairo bridge functions such as "pango_cairo_create_layout". Does Pango work equally well with an OpenGL based Cairo context? As for my current work, so far I am using a Gtk+ window and creating a cairo context with the GdkDrawable* passed to the expose event like so: cr = gdk_cairo_create(drawable); //.. cairo draw code here cairo_destroy(cr); Or alternately painting to the window using a loop where I invoke code similar to the following: GdkRegion* region = gdk_drawable_get_clip_region(drawable); gdk_window_begin_paint_region(drawable, region); gdk_region_destroy(region); cr = gdk_cairo_create(drawable); //.. cairo draw code here cairo_destroy(cr); gdk_window_end_paint(drawable); I am running Ubuntu 12.04 with compositing effects on and proprietary drivers installed. My test laptop has an Nvidia 8600M video card in it, which was a mid range mobile graphics card in 2008. The rendering seems to vary with scene complexity and some effects or rendering types seem to slow down the render more than others. From what you said, it sounds like possible hardware is not being used with approach, but maybe it is? Could anyone shed a more definitive light on the two paths I described above? Thanks again. -- cairo mailing list [email protected] http://lists.cairographics.org/mailman/listinfo/cairo