<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";
        mso-fareast-language:EN-GB;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Hi,<o:p></o:p></p><p class=MsoNormal>I&#8217;m new here but been reading for a bit. I&#8217;ve had a lot of experience with low level 3D for a good many (too many ;) ) years on the software side and worked with a fair few GPU HW guys so have some idea of the issues of getting good GPU performance.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><pre>Reading about the tensilica architecture and possible floating point performance in detail at the moment, but I&#8217;m doubtful of it achieving good 3D performance without some specific modifications. <o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Today most GPUs are sold on how many TFLOPs they do, but that&#8217;s purely a recent thing to sell in the GPGPU market, back in the day the thing they sold on was the fixed function stuff they do (Triangle setup, rasterisation, hierarchal depth, Porter-Duff, MSAA, tesselation, perspective correct interpolators, texture samplers, etc.) This still accounts for much of the speed and why they can support high FLOP counts. The shader cores (the ALUs with the FMACs) achieve the high throughput due to the fixed function operations and schedulers which feed them with the data when they need it and in the format they want. A CPU has to perform all those operations before it can even get to running the shaders programs (and with texturing during the shader), this often reduces the comparable FLOP throughput massively. Just doing porter-duff per pixel (which is basically free on GPU) can consume massive CPU performance. <o:p></o:p></pre><pre>Memory bandwidth is even scarier thing to compare, a GPU HW guy once told me he thinks of GPUs, as memory with a bit of ALU logic stuck on top. A 1080P 30Hz can eat available memory bandwidth very quickly!<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>The last significant 3D on CPU attempt was Larrabee, even there they used fixed function texture units, wide SIMD units and lots of simple x86 cores with custom ISA extension for 3D graphics operations. And it didn&#8217;t beat GPUs in performance or power.<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Without knowing what DSP operations a tinsilica chip would have it hard to say how performant it would be, but guessing more of several generations behind current mobile GPUs would be more probable than comparing to current desktop GPUs (even low end ones).<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>However if the main use is mostly for desktop composition, then a number of short cuts can be used given much higher performance. Desktop composition is driven by 3D chips generally because they are there, however the operations are mostly 2D (sprite) porter-duff blends and not general 3D, for a software engine its likely 100x faster to detect and optimise for the porter-duff sprites versus the full 3D pipeline.<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>The other easy to forget item, is even if you manage to get a CPU architecture that can perform the 3D operations fast enough, using 100% CPU time on display means 0% for everything else.<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Sorry for being a bit negative, but I think it is important to note quite how complex high performance 3D is and why almost without exception, systems have GPU where they are expected to display a modern desktop.<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Bye,<o:p></o:p></pre><pre>Deano<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre><o:p>&nbsp;</o:p></pre><p class=MsoNormal><o:p>&nbsp;</o:p></p></div></body></html>