<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1609" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><FONT face="Courier New" color=#0000ff><SPAN 
class=569390002-24072008>you can see which thread took much cpu by "ps", and 
locate the modules by log.</SPAN></FONT></DIV>
<DIV><FONT face="Courier New" color=#0000ff></FONT><BR><SPAN 
class=569390002-24072008><FONT face="Courier New" 
color=#0000ff>ZhaoLiang</FONT></SPAN></DIV>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> 
gstreamer-devel-bounces@lists.sourceforge.net 
[mailto:gstreamer-devel-bounces@lists.sourceforge.net] <B>On Behalf Of 
</B>Volter Yen<BR><B>Sent:</B> Thursday, July 24, 2008 9:57 AM<BR><B>To:</B> 
gstreamer-devel@lists.sourceforge.net; 
davinci-linux-open-source<BR><B>Subject:</B> [gst-devel] how to check the 
gstreamer plugins' performancebottleneck<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV>Hi all,</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Recently,I noticed that my gstreamer application 
take&nbsp;a lot of CPU resource,&nbsp;my platform is&nbsp;Ti 
dm644X(arm9+dsp),&nbsp;and&nbsp;&nbsp;I have used oprofile to get the following 
reports when playing a D1 mpeg2 ts file:</DIV>
<DIV><A 
href="mailto:root@193.167.244.115:/opt/test/">root@193.167.244.115:/opt/test/</A># 
opreport&nbsp; <BR>CPU: CPU with timer interrupt, speed 0 MHz 
(estimated)<BR>Profiling through timer 
interrupt<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
TIMER:0|<BR>&nbsp; samples|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
%|<BR>------------------<BR>&nbsp;&nbsp;&nbsp; 65757 788983 
no-vmlinux<BR>&nbsp;&nbsp;&nbsp;&nbsp; 4489&nbsp; 5.3861 
libc.so.6<BR>&nbsp;&nbsp;&nbsp;&nbsp; 2367&nbsp; 2.8400 
libglib-2.0.so.0<BR>&nbsp;&nbsp;&nbsp;&nbsp; 2348&nbsp; 2.8172 
libgstbase-0.10.so.0<BR>&nbsp;&nbsp;&nbsp;&nbsp; 1756&nbsp; 2.1069 
libpthread.so.0<BR>&nbsp;&nbsp;&nbsp;&nbsp; 1750&nbsp; 2.0997 
libgstreamer-0.10.so.0<BR>&nbsp;&nbsp;&nbsp;&nbsp; 1419&nbsp; 1.7026 
libgobject-2.0.so.0<BR>&nbsp;&nbsp;&nbsp;&nbsp; 1160&nbsp; 1.3918 
libgstflumpegdemux.so<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 539&nbsp; 0.6467 
libce.so<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 385&nbsp; 0.4619 
libgstaudio-0.10.so.0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 354&nbsp; 0.4247 
libgstcoreelements.so<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 291&nbsp; 0.3492 
libxml2.so.2<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 187&nbsp; 0.2244 
ld-linux.so.3<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 175&nbsp; 0.2100 
libgthread-2.0.so.0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 98&nbsp; 0.1176 
libgstadecoder.so<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 87&nbsp; 0.1044 
libgstfbvideosink.so<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 62&nbsp; 0.0744 
libgstgdecoder.so<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 46&nbsp; 0.0552 
oprofiled<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 39&nbsp; 0.0468 
sh<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 27&nbsp; 0.0324 
libgstossaudio.so<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp; 0.0036 
sleep<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp; 0.0036 
librt.so.1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp; 0.0024 
bash</DIV>
<DIV>and I have used a 320x240 mpeg2 ts file and a D1 mpeg2 ts file as the 
source, when use the former,the gstreamer application take 50% of CPU while the 
later take almost total CPU, so I guses the bottleneck maybe be caused by the 
flutsdemux....</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Is there way to trace into .so file to located the 
detailed code section? or any other ideas? thank you</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Best regards</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Volter</DIV><BR><!-- footer --><BR>
<HR>
<FONT style="FONT-SIZE: 12px; LINE-HEIGHT: 15px">22元超值饭面,8.5折纯珍比萨,必胜宅急送</FONT><A 
style="FONT-SIZE: 12px; COLOR: blue; LINE-HEIGHT: 15px; TEXT-DECORATION: underline" 
href="http://popme.163.com/link/004584_0708_6957.html">网上点餐优惠多</A></BODY></HTML>