This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Rendering graphics with DSP



Is it feasible to use a DSP for both image processing and graphical rendering?

 

For example, bit blit static images, render primitives such as lines, triangles, gradients, etc?

 

Obviously there are SoC solutions with GPUs, but I am trying to assess the viability (both in terms of performance and development time/complexity) of a straight DSP solution.  Assuming output is WVGA at 30fps, would a single-core DSP suitable for both processing and rendering?

 

How do the Soft Graphic Adapter solutions compare to a dedicated GPU?

 

Thanks in advance for any info!

 

  • What about text, anti-aliasing, cursor handling, display drivers for display HW ....Unless you are planning to write the entire chain on the DSP, this is not advisable.

    If you plan to use the DSP for acceleration alone, I suggest you measure the performance of APIs in the below examples to see if the MHz budget allows to use the DSP for graphics operations.

    https://gforge.ti.com/gf/project/bitblit/

     

  • Assume that text is pre-rendered and displayed by blitting, cursors aren't necessary as it is display only, and display drivers aren't necessary as it can render to an output buffer and let something else handle display.  So all it would need to do is lots of blitting, possibly applying affine transforms along the way, basic line drawing, gradient rects, and maybe some polygon rendering.  Still not advisable?

    Probably more important is trying to understand how best to employ a DSP. Obviously they are perfect for super-efficient processing of streams of data.  Are they still a poor choice for basic logic, control flow and things like graphic rendering that can involve fairly random memory access patterns?  (I understand branching can cause very expensive stalls, for example.)  I'm thinking a GPU is probably the better option, just trying to understand all possible solutions.

    Thanks in advance for your advice.