[MPlayer-users] ssa/ass rendering uses lots of cpu with -vo gl

Vladimir Mosgalin mosgalin at VM10124.spb.edu
Sun May 1 22:30:09 CEST 2011


Hi Reimar Döffinger!

 On 2011.05.01 at 22:07:04 +0200, Reimar Döffinger wrote next:

> >>>>    14.47%  mplayer  libfreetype.so.6.6.0          [.] 0xfae6          
> >>>>    14.40%  mplayer  r300_dri.so                   [.] 0x416be         
> >>>>    11.17%  mplayer  [radeon]                      [k] radeon_dvi_detect
> >> 
> >> Forgot to say: you probably need r300_dri.so and radeon kernel module
> >> debug symbols to get more detail.
> >> At least I very much hope that the radeon_dvi_detect isn't correct,
> >> because otherwise it would mean that the kernel module spends more
> >> time probing the DVI port than MPlayer uses for all of decoding
> >> and (de)noising together.
> > 
> > Well okay. Here are same reports with installed debuginfo to kernel,
> > mesa, libdrm, freetype and glibc:
> > I remade test to make sure window in window test is as wide as full
> > screen; it was *almost* as wide in last test, like 80%, now should be
> > more correct. But yes, freetype consumes insane amount of CPU in
> > fullscreen, compared to almost none for the window of same size.
> 
> Hm, could you please run with -aspect set to your monitor's aspect so
> that fullscreen has no black borders?
> It looks like the driver spends a lot of time allocating memory, which can
> happen once the subtitles get too large and that bit of extra space might
> make the difference. I guess nobody optimised allocating memory for textures.

o.O there seem to be no problems if -aspect 4/3 is added.

perf reports in fullscreen seem to be close to window mode now.

So, hm, I must add expand filter to everything to fix this?.. or there
is some other solution?


$ perf report --showcpuutilization  -k /usr/lib/debug/lib/modules/2.6.38.2-11.fc15.x86_64/vmlinux -m -i perf-aspect-fs.data --sort comm,dso
# Events: 1K cycles
#
# Overhead  sys    us    Command             Shared Object
# ........  .......  ........................
#
    57.57%     0.00%     0.05%  mplayer  mplayer                 
    13.67%     3.16%     0.00%  mplayer  [kernel.kallsyms]       
    12.04%     0.00%    12.04%  mplayer  r300_dri.so             
     5.69%     0.00%     5.69%  mplayer  libc-2.13.so            
     2.86%     2.86%     0.00%  mplayer  [radeon]                
     2.39%     0.00%     2.39%  mplayer  ld-2.13.so              
     1.08%     0.00%     1.08%  mplayer  libfreetype.so.6.6.0    
     0.83%     0.00%     0.83%  mplayer  libdrm_radeon.so.1.0.0  


$ perf report --showcpuutilization  -k /usr/lib/debug/lib/modules/2.6.38.2-11.fc15.x86_64/vmlinux -m -i perf-aspect-fs.data 

# Events: 1K cycles
#
# Overhead  sys    us    Command             Shared Object                                        Symbol
# ........  .......  ........................  ............................................
#
    27.73%     0.00%    27.73%  mplayer  mplayer                   [.] deNoise
     3.67%     0.00%     3.67%  mplayer  mplayer                   [.] ff_h264_decode_mb_cabac
     3.09%     0.00%     3.09%  mplayer  mplayer                   [.] decode_significance_x86
     2.49%     0.00%     2.49%  mplayer  mplayer                   [.] ff_put_h264_chroma_mc4_ssse3
     2.38%     0.00%     2.38%  mplayer  r300_dri.so               [.] do_memcpy
     2.31%     0.00%     2.31%  mplayer  mplayer                   [.] lineNoiseAvg_MMX
     2.18%     0.00%     2.18%  mplayer  mplayer                   [.] get_cabac_noinline
     2.05%     0.00%     2.05%  mplayer  mplayer                   [.] decode_cabac_residual_nondc_internal
     1.99%     0.00%     1.99%  mplayer  libc-2.13.so              [.] __memcpy_ssse3
     1.82%     0.00%     1.82%  mplayer  mplayer                   [.] fill_decode_caches
     1.51%     0.00%     1.51%  mplayer  libc-2.13.so              [.] __strcmp_sse42
     1.30%     1.30%     0.00%  mplayer  [kernel.kallsyms]         [k] update_cfs_shares
     1.25%     0.00%     1.25%  mplayer  ld-2.13.so                [.] do_lookup_x
     1.13%     1.13%     0.00%  mplayer  [kernel.kallsyms]         [k] put_page_testzero
     1.12%     0.00%     1.12%  mplayer  ld-2.13.so                [.] _dl_load_cache_lookup
     1.10%     0.09%     0.00%  mplayer  [kernel.kallsyms]         [k] __wake_up_bit
     1.06%     0.00%     1.06%  mplayer  mplayer                   [.] fast_memcpy
     1.04%     1.04%     0.00%  mplayer  [kernel.kallsyms]         [k] atomic_inc
     0.91%     0.00%     0.91%  mplayer  mplayer                   [.] put_h264_qpel8or16_v_lowpass_sse2
     0.84%     0.00%     0.84%  mplayer  mplayer                   [.] decode_cabac_mb_mvd
     0.79%     0.00%     0.79%  mplayer  r300_dri.so               [.] r300_emit_draw_arrays_immediate
     0.61%     0.61%     0.00%  mplayer  [kernel.kallsyms]         [k] copy_user_generic_string
     0.55%     0.00%     0.55%  mplayer  mplayer                   [.] put_h264_qpel16_h_lowpass_l2_ssse3
     0.54%     0.54%     0.00%  mplayer  [xhci_hcd]                [k] xhci_irq
     0.51%     0.00%     0.51%  mplayer  mplayer                   [.] hl_decode_mb_simple
     0.49%     0.00%     0.49%  mplayer  libc-2.13.so              [.] _int_malloc
     0.46%     0.46%     0.00%  mplayer  [radeon]                  [k] r100_mm_rreg
     0.43%     0.00%     0.43%  mplayer  libfontconfig.so.1.4.4    [.] 0x5a20          
     0.43%     0.00%     0.43%  mplayer  r300_dri.so               [.] _mesa_update_texture
     0.42%     0.42%     0.00%  mplayer  [radeon]                  [k] radeon_cs_parser_relocs
     0.39%     0.10%     0.00%  mplayer  [kernel.kallsyms]         [k] __list_del_entry
     0.38%     0.00%     0.38%  mplayer  mplayer                   [.] put_h264_qpel8or16_hv_lowpass_ssse3.clone.35
     0.37%     0.00%     0.37%  mplayer  r300_dri.so               [.] vbo_save_playback_vertex_list
     0.37%     0.00%     0.37%  mplayer  libc-2.13.so              [.] __malloc
     0.36%     0.00%     0.36%  mplayer  r300_dri.so               [.] r300_update_derived_state
     0.36%     0.00%     0.36%  mplayer  mplayer                   [.] await_references
     0.36%     0.00%     0.36%  mplayer  mplayer                   [.] prefetch_mmx2
     0.36%     0.00%     0.36%  mplayer  r300_dri.so               [.] vbo_exec_fixup_vertex.clone.2
     0.35%     0.00%     0.35%  mplayer  mplayer                   [.] ff_put_h264_chroma_mc8_ssse3_rnd
     0.35%     0.35%     0.00%  mplayer  [kernel.kallsyms]         [k] do_raw_spin_lock
     0.33%     0.00%     0.33%  mplayer  r300_dri.so               [.] memcpy_texture.clone.2
     0.33%     0.00%     0.33%  mplayer  mplayer                   [.] ff_h264_pred_direct_motion
     0.30%     0.00%     0.30%  mplayer  r300_dri.so               [.] update_samplers
     0.29%     0.29%     0.00%  mplayer  [radeon]                  [k] r100_cs_parse_packet0
     0.29%     0.29%     0.00%  mplayer  [kernel.kallsyms]         [k] kref_get
     0.29%     0.00%     0.29%  mplayer  libc-2.13.so              [.] __memset_sse2
     0.28%     0.28%     0.00%  mplayer  [radeon]                  [k] radeon_get_ib_value
     0.28%     0.00%     0.28%  mplayer  r300_dri.so               [.] _mesa_update_state_locked
     0.28%     0.00%     0.28%  mplayer  r300_dri.so               [.] st_upload_constants
     0.27%     0.00%     0.27%  mplayer  mplayer                   [.] mc_part
     0.26%     0.26%     0.00%  mplayer  [kernel.kallsyms]         [k] __kmalloc
     0.25%     0.00%     0.25%  mplayer  mplayer                   [.] decode_cabac_mb_skip
     0.25%     0.25%     0.00%  mplayer  [kernel.kallsyms]         [k] handle_pte_fault
     0.25%     0.25%     0.00%  mplayer  [kernel.kallsyms]         [k] file_read_actor
     0.24%     0.00%     0.24%  mplayer  mplayer                   [.] ff_thread_await_progress
     0.24%     0.00%     0.24%  mplayer  mplayer                   [.] hl_motion
     0.23%     0.00%     0.23%  mplayer  libpulse.so.0.12.2        [.] 0x24fec         
     0.23%     0.00%     0.23%  mplayer  [vdso]                    [.] 0x7fff83dff61a  
     0.23%     0.00%     0.23%  mplayer  r300_dri.so               [.] r300_set_fragment_sampler_views
     0.22%     0.22%     0.00%  mplayer  [drm]                     [k] drm_ioctl
     0.22%     0.00%     0.22%  mplayer  mplayer                   [.] put_h264_qpel8_h_lowpass_l2_ssse3
     0.22%     0.00%     0.22%  mplayer  mplayer                   [.] noise
     0.22%     0.00%     0.22%  mplayer  r300_dri.so               [.] _mesa_get_fixed_func_vertex_program
     0.22%     0.00%     0.22%  mplayer  libpthread-2.13.so        [.] __pthread_mutex_unlock
     0.22%     0.13%     0.00%  mplayer  [kernel.kallsyms]         [k] page_fault
     0.22%     0.00%     0.22%  mplayer  r300_dri.so               [.] _mesa_get_fixed_func_fragment_program
     0.22%     0.22%     0.00%  mplayer  [radeon]                  [k] r300_cs_parse
     0.22%     0.22%     0.00%  mplayer  [radeon]                  [k] r100_cs_packet_parse
     0.22%     0.00%     0.22%  mplayer  r300_dri.so               [.] _playback_copy_to_current
     0.21%     0.00%     0.21%  mplayer  libc-2.13.so              [.] __GI___ioctl
     0.21%     0.00%     0.21%  mplayer  mplayer                   [.] vorbis_decode_frame
     0.21%     0.00%     0.21%  mplayer  r300_dri.so               [.] vbo_exec_FlushVertices_internal
     0.21%     0.00%     0.21%  mplayer  libdrm_radeon.so.1.0.0    [.] radeon_cs_check_space_internal
     0.20%     0.00%     0.20%  mplayer  libpulsecommon-0.9.21.so  [.] 0x25c15         
     0.20%     0.00%     0.20%  mplayer  mplayer                   [.] decode_cabac_residual_dc_internal
     0.20%     0.00%     0.20%  mplayer  libfreetype.so.6.6.0      [.] FT_Outline_Transform
     0.19%     0.00%     0.19%  mplayer  mplayer                   [.] render_line
     0.19%     0.00%     0.19%  mplayer  mplayer                   [.] ff_draw_horiz_band
     0.18%     0.00%     0.18%  mplayer  mplayer                   [.] draw_edges_mmx
     0.18%     0.00%     0.18%  mplayer  libm-2.13.so              [.] __ieee754_pow
     0.17%     0.17%     0.00%  mplayer  [radeon]                  [k] r100_cs_track_check
     0.16%     0.00%     0.16%  mplayer  mplayer                   [.] put_h264_qpel16_mc00_sse2
     0.16%     0.00%     0.16%  mplayer  mplayer                   [.] ff_pred4x4_dc_mmxext
     0.16%     0.00%     0.16%  mplayer  mplayer                   [.] ff_h264_biweight_16x16_ssse3
     0.16%     0.00%     0.16%  mplayer  r300_dri.so               [.] cso_single_sampler
     0.16%     0.00%     0.16%  mplayer  libfreetype.so.6.6.0      [.] gray_convert_glyph
     0.15%     0.00%     0.15%  mplayer  r300_dri.so               [.] util_copy_rect
     0.15%     0.00%     0.15%  mplayer  libdrm_radeon.so.1.0.0    [.] radeon_cs_space_reset_bos
     0.15%     0.00%     0.15%  mplayer  r300_dri.so               [.] util_format_description
     0.15%     0.15%     0.00%  mplayer  [kernel.kallsyms]         [k] add_to_page_cache_locked
     0.15%     0.00%     0.15%  mplayer  mplayer                   [.] cache_find_bitmap
     0.15%     0.00%     0.15%  mplayer  r300_dri.so               [.] r300_emit_vs_constants
     0.15%     0.00%     0.15%  mplayer  r300_dri.so               [.] _mesa_BindTexture
     0.15%     0.00%     0.15%  mplayer  mplayer                   [.] ff_pred4x4_horizontal_up_mmxext
     0.15%     0.07%     0.00%  mplayer  [kernel.kallsyms]         [k] fget_light
     0.15%     0.00%     0.15%  mplayer  mplayer                   [.] put_h264_qpel8_h_lowpass_ssse3
     0.15%     0.15%     0.00%  mplayer  [radeon]                  [k] radeon_cs_update_pages
     0.15%     0.00%     0.15%  mplayer  mplayer                   [.] ass_render_frame
     0.15%     0.00%     0.15%  mplayer  r300_dri.so               [.] st_finalize_texture
     0.15%     0.15%     0.00%  mplayer  [ttm]                     [k] __ttm_tt_get_page
     0.15%     0.00%     0.15%  mplayer  mplayer                   [.] decode_mb_skip
     0.14%     0.00%     0.14%  mplayer  libfreetype.so.6.6.0      [.] gray_render_line
     0.14%     0.14%     0.00%  mplayer  [kernel.kallsyms]         [k] do_select
     0.14%     0.14%     0.00%  mplayer  [kernel.kallsyms]         [k] put_mems_allowed
     0.14%     0.00%     0.14%  mplayer  r300_dri.so               [.] pipe_reference_described.clone.1
     0.14%     0.00%     0.14%  mplayer  r300_dri.so               [.] r300_pick_fragment_shader
     0.14%     0.14%     0.00%  mplayer  [kernel.kallsyms]         [k] file_has_perm
     0.14%     0.14%     0.00%  mplayer  [kernel.kallsyms]         [k] __might_sleep
     0.14%     0.00%     0.14%  mplayer  libc-2.13.so              [.] __memcmp_sse4_1
     0.14%     0.00%     0.14%  mplayer  libxcb.so.1.1.0           [.] 0x8752          
     0.14%     0.00%     0.14%  mplayer  r300_dri.so               [.] _mesa_search_program_cache
     0.14%     0.14%     0.00%  mplayer  [kernel.kallsyms]         [k] audit_get_context
     0.14%     0.00%     0.14%  mplayer  r300_dri.so               [.] r300_emit_textures_state
     0.14%     0.00%     0.14%  mplayer  libc-2.13.so              [.] _int_free
     0.14%     0.00%     0.14%  mplayer  mplayer                   [.] ff_h264_idct_add8_mmx2
     0.14%     0.14%     0.00%  mplayer  [kernel.kallsyms]         [k] __alloc_pages_nodemask
     0.14%     0.00%     0.14%  mplayer  mplayer                   [.] decode_update_thread_context
     0.14%     0.14%     0.00%  mplayer  [kernel.kallsyms]         [k] arch_local_irq_restore
     0.14%     0.14%     0.00%  mplayer  [kernel.kallsyms]         [k] kmem_cache_alloc
     0.14%     0.14%     0.00%  mplayer  [kernel.kallsyms]         [k] avc_has_perm_noaudit
     0.14%     0.00%     0.14%  mplayer  r300_dri.so               [.] st_draw_vbo
     0.14%     0.00%     0.14%  mplayer  libc-2.13.so              [.] _IO_vfscanf_internal
     0.14%     0.00%     0.14%  mplayer  libbs2b.so.0.0.0          [.] 0x2a4a          
     0.14%     0.14%     0.00%  mplayer  [drm]                     [k] drm_mm_search_free_in_range
     0.14%     0.00%     0.14%  mplayer  r300_dri.so               [.] r300_draw_vbo
     0.14%     0.00%     0.14%  mplayer  r300_dri.so               [.] update_textures
     0.13%     0.00%     0.13%  mplayer  libpthread-2.13.so        [.] __pthread_mutex_cond_lock
     0.13%     0.00%     0.13%  mplayer  mplayer                   [.] pred4x4_horizontal_c
     0.13%     0.00%     0.13%  mplayer  mplayer                   [.] ff_avg_h264_chroma_mc8_ssse3_rnd
     0.13%     0.00%     0.13%  mplayer  mplayer                   [.] decode_slice_header
     0.12%     0.00%     0.12%  mplayer  libdrm_radeon.so.1.0.0    [.] cs_gem_write_reloc
     0.12%     0.12%     0.00%  mplayer  [kernel.kallsyms]         [k] do_page_fault
     0.12%     0.12%     0.00%  mplayer  [kernel.kallsyms]         [k] unmap_vmas
     0.11%     0.00%     0.11%  mplayer  libc-2.13.so              [.] __memcpy_sse2
     0.11%     0.00%     0.11%  mplayer  mplayer                   [.] MPV_frame_start
     0.10%     0.00%     0.10%  mplayer  libpthread-2.13.so        [.] __read
     0.10%     0.00%     0.10%  mplayer  r300_dri.so               [.] st_bufferobj_unmap
     0.10%     0.00%     0.10%  mplayer  libc-2.13.so              [.] __strcasecmp_l_sse42





-- 

Vladimir


More information about the MPlayer-users mailing list