<br><div><div>You didn't help about my question, and did not answer where the fbCopyNtoN and fbCopyArea hide. I shall repeat my simple and  humble question again : are the fbCopyNtoN() and fbCopyarea() in UXA implemented in Xorg fb/fbcopy? <br></div><div><br></div><div style="font-size: 12px; font-family: Arial Narrow; padding: 2px 0pt;">------------------ 原始邮件 ------------------</div><div style="font-size: 12px; background: none repeat scroll 0% 0% rgb(239, 239, 239); padding: 8px;"><div><b>发件人:</b> "Chris Wilson";<chris@chris-wilson.co.uk>;</div><div><b>发送时间:</b> 2013年9月23日(星期一) 下午5:40</div><div><b>收件人:</b> "小飞珑"<404962885@qq.com>; <wbr></div><div><b>抄送:</b> "xorg-devel"<xorg-devel@lists.x.org>; <wbr></div><div><b>主题:</b> Re:  回复: Where does Xorg fallbackto ?</div></div><div><br></div>On Mon, Sep 23, 2013 at 05:13:19PM +0800, 小飞珑 wrote:<br>>    The right answer is don't start from there. For fallbacks, UXA uses a<br>>    GTT mapping so every surface is actually in WC memory - every read is<br>>    treated as uncached, and fallbacks do a lot of reads. Effort spent<br>>    optimising the fb layer in this case is completely wasted.<br>>    -Chris<br>> <br>>      I don't quite understand that. Or you mean that  fbCopyArea() is<br>>    wrapped?<br><br>The fb* functions are provided by the xserver. What I am trying to point<br>out is that UXA fundamentally uses hw in such a way that prevents<br>optimisation. Every pointer read in fb* is uncached. Optimising an<br>already fairly well optimised implementation will at most gain less than<br>a percent overall. Switching to a different mapping and implementating<br>migration will gain an order of magnitude performance improvement.<br>Implementing 2D acceleration will gain between 5x-10x over and above the<br>optimal fb implementation.<br><br>If you read the driver more carefully you will find these answers<br>already there.<br>-Chris<br><br>-- <br>Chris Wilson, Intel Open Source Technology Centre<br>_______________________________________________<br>xorg-devel@lists.x.org: X.Org development<br>Archives: http://lists.x.org/archives/xorg-devel<br>Info: http://lists.x.org/mailman/listinfo/xorg-devel</div>