[gutsy] image viewers render slowly with compiz normal desktop effects

Bug #132363 reported by Rocko
4
Affects Status Importance Assigned to Milestone
xserver-xorg-video-ati (Ubuntu)
New
Unknown
Unassigned

Bug Description

Binary package hint: compiz

When compiz normal desktop effects are enabled in Gutsy, the image viewers I've tried render images much more slowly, eg

- Eye of Gnome
- gThumbs
- GQView (the slow-down is most noticeable with this one)

They render at normal speed (ie compared to Feisty using the fglrx driver) with desktop effects turned off.

lspci shows my video card as:

ATI Technologies Inc RV350 [Mobility Radeon 9600 M10]

and glxinfo shows:

name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
    GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control,
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
client glx vendor string: SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory,
    GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control,
    GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control,
    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
    GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap
GLX version: 1.2
GLX extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method,
    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
OpenGL vendor string: DRI R300 Project
OpenGL renderer string: Mesa DRI R300 20060815 AGP 4x x86/MMX/SSE2 TCL
OpenGL version string: 1.3 Mesa 7.0
OpenGL extensions:
    GL_ARB_fragment_program, GL_ARB_imaging, GL_ARB_multisample,
    GL_ARB_multitexture, GL_ARB_texture_border_clamp,
    GL_ARB_texture_compression, GL_ARB_texture_cube_map,
    GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
    GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3,
    GL_MESAX_texture_float, GL_ARB_texture_mirrored_repeat,
    GL_ARB_texture_rectangle, GL_ARB_transpose_matrix,
    GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_window_pos,
    GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
    GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint,
    GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_copy_texture,
    GL_EXT_draw_range_elements, GL_EXT_gpu_program_parameters,
    GL_EXT_histogram, GL_EXT_packed_pixels, GL_EXT_polygon_offset,
    GL_EXT_rescale_normal, GL_EXT_secondary_color,
    GL_EXT_separate_specular_color, GL_EXT_stencil_two_side,
    GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,
    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,
    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,
    GL_EXT_texture_mirror_clamp, GL_EXT_texture_object,
    GL_EXT_texture_rectangle, GL_EXT_vertex_array, GL_APPLE_packed_pixels,
    GL_ATI_blend_equation_separate, GL_ATI_texture_env_combine3,
    GL_ATI_texture_mirror_once, GL_IBM_rasterpos_clip,
    GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate,
    GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_MESA_window_pos,
    GL_NV_blend_square, GL_NV_light_max_exponent, GL_NV_texture_rectangle,
    GL_NV_texgen_reflection, GL_NV_vertex_program, GL_OES_read_format,
    GL_SGI_color_matrix, GL_SGI_color_table, GL_SGIS_generate_mipmap,
    GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp,
    GL_SGIS_texture_lod

   visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
 id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x23 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x24 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x25 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x26 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x27 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x28 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x29 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x2a 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x2b 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x2c 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x2d 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x2e 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x2f 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x30 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x31 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x32 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x4b 32 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 Ncon

Tags: likely-dup
Revision history for this message
Travis Watkins (amaranth) wrote :

I cannot reproduce this, they work just as fast with compiz as without here.

Changed in compiz:
importance: Undecided → Low
Revision history for this message
Rocko (rockorequin) wrote :

I've attached a low-res video demonstrating the slow rendering under compiz, using gqview because it is the best example.

Compiz normal effects are on to start with.

In the video:

1. I open the image. It takes a few seconds to render.

2. I close the image and turn off compiz effects.

3. I re-open the image. You can see it renders much faster - within a second.

It doesn't matter which order I do the test in (ie there isn't any caching going on that could speed things up the second time you open the image). I've done it in this order because switching from no effects to normal effects takes a few seconds.

Note that:

* It is less noticeable with other viewers like eog because they render faster to begin with.

* It is more noticeable when rendering large files. This particular example is a 1 MB jpeg.

Revision history for this message
Rocko (rockorequin) wrote :

The speed is _much_ better now in full-screen mode in GQView, which is nice, although the performance issue is still there otherwise.

Revision history for this message
Travis Watkins (amaranth) wrote :

The issue that you reported is one that should be reproducible with the live environment of the Desktop CD of the development release - Hardy Heron. It would help us greatly if you could test with it so we can work on getting it fixed in the actively developed release. You can find out more about the development release at [WWW] http://www.ubuntu.com/testing/

Changed in compiz:
status: New → Incomplete
Revision history for this message
Rocko (rockorequin) wrote :

I just tried the latest Hardy release, and the problem is still there (ie slow rendering in gqview with compiz turned on using the default open-source ATI driver). It renders nice and fast though with the fglrx driver (Catalyst 8-2), or with compiz turned off.

Version info:

ii xserver-xorg-video-ati 1:6.7.197-1ubuntu1 X.Org X server -- ATI display driver

ii compiz 1:0.7.0-0ubuntu3 OpenGL window and compositing manager
ii compiz-core 1:0.7.0-0ubuntu3 OpenGL window and compositing manager
ii compiz-fusion-plugins-extra 0.6.99+git20080213-0ubuntu2 Collection of extra plugins from OpenComposi
ii compiz-fusion-plugins-main 0.6.99+git20080214-0ubuntu2 Collection of plugins from OpenCompositing f
ii compiz-gnome 1:0.7.0-0ubuntu3 OpenGL window and compositing manager - GNOM
ii compiz-plugins 1:0.7.0-0ubuntu3 OpenGL window and compositing manager - plug
ii compizconfig-backend-gconf 0.6.99+git20080210-0ubuntu1 Settings library for plugins - OpenCompositi
ii libcompizconfig0 0.6.99+git20080215-0ubuntu1 Settings library for plugins - OpenCompositi

glxinfo:

display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2

Revision history for this message
Travis Watkins (amaranth) wrote :

Ok then, since it works fine with fglrx it appears to be a driver thing, reassigning.

Changed in compiz:
importance: Low → Unknown
status: Incomplete → New
Revision history for this message
Felipe Figueiredo (philsf) wrote :

Just a long shot: The speed bump could be due to caching.

If you invert the order of the tests (without compiz, THEN with compiz), do you get the same results?

Revision history for this message
Rocko (rockorequin) wrote :

I did check for caching - it doesn't make any difference which order you run the tests in. (I only showed it in that order for the video demo - ie with compiz then without - because it was quicker and therefore used less space.)

Revision history for this message
Sergio Zanchetta (primes2h) wrote :

Could it be a dup of Bug #132707?
In that bug there is a possible workaround, enable EXA and MigrationHeuristic=greedy in xorg.conf.

Revision history for this message
feedfish (anonymous4478) wrote :

This bug is considered as a duplicate but it's status is 'New'. Is it logical?

Revision history for this message
Tormod Volden (tormodvolden) wrote :

Once it is a duplicate, the status does not matter. That is why the whole task line including the status field is grayed out.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.