Che:

If you have the Sun Studio compiler installed, you can generate a 
performance report as follows:

- Run "collect totem"
- Once totem starts, start playing the movie quickly, avoiding leaving
   totem just "sitting there" as much as possible.
- When totem exits you should see a message like "Creating experiment
   database test.#.er".
- Run "analyzer "test.#.er"

This brings up a report.  In the Functions tab you can sort by "Exclusive
User Time" to see which functions are using the most time.

I ran a 43.49 second test with totem and the following functions were the
big CPU consumers:

- 8.666 seconds - resample_linear_argb_ref in liboil
- 6.545 seconds - yuv420p_to_rgb32 in gstffmpegcolorspace
- 6.044 seconds - merge_linear_argb_ref in liboil
- 2.282 seconds - memcpy (various callers)
- 1.561 seconds - idct8 (from libtheora)
[...]

If I were to guess, I'd think that these functions are the culprit, and
what is consuming your CPU.  I'm guessing that VLC makes better use of
hardware acceleration, and thus avoids the issue.

I notice looking at the code that, unfortunately, that liboil and
gstffmpegcolorspace code do not provide any hardware acceleration for
these top 3 functions consuming CPU.  These all look like the sorts
of functions that would be fairly easy to accelerate using MMX/SSE2/VIS
hardware acceleration, though.

Note that the high-CPU-using functions on your machine might be different,
so it would be good to rerun the performance analysis on your machine and
verify that we have identified all the functions that would benefit from
tunings.

I filed a bug against liboil and gstffmpegcolorspace, so hopefully this will
get some attention, and the performance issue will be improved over time:

    https://bugs.freedesktop.org/show_bug.cgi?id=19113
    http://bugzilla.gnome.org/show_bug.cgi?id=564777

Feel free to update the bug reports with any additional information you
find.

Brian


> Hi Brian thanks for the tips.
> 
> I changed the gstreamer-properties as you directed. There may have been 
> a slight improvement - but it's probably me just being optimistic :)
> 
> prstat shows  the cpu at ~25% when using vlc, using totem I am getting 
> cpu at ~90%
> 
> top gives totem at ~92% and vlc at ~30%...
> 
> 
> 
> Brian Cameron wrote:
>>
>> Ch?:
>>
>> I'm also using OpenSolaris 2008.11 and don't see any jumpyness when 
>> viewing
>> the referenced video.  I tried running totem in full-screen mode and 
>> normal
>> default window mode.  Seems to work okay either way.
>>
>> Try running gstreamer-properties, then go to the "Video" tab, and 
>> change the "Default Output" setting to "X Window System (X11/XShm/Xv)" 
>> instead of
>> "X Window System (No Xv)".  Enabling Xv should improve video performance
>> with GStreamer.
>>
>> If you still have problems, any information you can provide to indicate
>> what the performance issue might be would be helpful.  For example, is
>> the CPU being over-worked?  Does the top command show any process is
>> burdening the CPU?
>>
>> Brian
>>
>>
>>> I am using Indiana 2008.11 and have found that the Totem shipped with 
>>> the release is extremely jumpy when trying to render video to the 
>>> screen. For comparison I am able to get perfect playback using the 
>>> VLC from LWS
>>>
>>> example media: 
>>> http://ia310809.us.archive.org/3/items/whycopyrightdoc/whycopyrightdoc.ogg 
>>>
>>>
>>> My system is an Ultra 20 with the following specs:
>>> psrinfo: single core 2211 MHz
>>> prtconf: Memory size: 1023 Megabytes
>>> isainfo: amd64
>>> video: Quadro FX 1400 (128MB)
>>>
>>> Has anyone else experienced this issue? Any tips?
>>
>>
> 


Reply via email to