Announcement

Collapse
No announcement yet.

Micro-VGA serial mode performance

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Micro-VGA serial mode performance

    I'm conducting some tests to see if the Micro-VGA is suitable for my project. So far I'm surprised by the slow speed and I suspect something is going wrong. I'm running the following little benchmark which displays the palette;



    for(i = 0; i < 256; i++)

    {

    DrawLine(0, i, 100, i, i);

    }



    where the DrawLine function sends the appropriate serial command and waits for the ACK before returning.



    The routine takes 39 seconds to complete which is only about 6.5 lines/s. If the speed was just down to link speed I would expect 200 times faster times.



    - I'm running the latest firmware.

    - I'm using 115200 bps.

    - The time is the same in QVGA and VGA.

    - The character writing routines seem slow also but I don't have benchmarks

    - The hardware is: 2GHz notebook Micro-USB Micro-VGA UB Micro-VGA

    - Even though it is slow, everything is displayed properly



    Should I keep looking for a problem/solution, or are these results as expected?



    Thanks,

    Darren

  • #2


    (replying to my own post)



    After some further investigation I found some debug code in the comms layer that I had forgotten about. After removing it the benchmark takes 13.4 seconds (about 19 lines/s).



    This is much faster but still slower than I expected.

    Any opinions?

    Comment


    • #3


      (Replying to my own post again)



      I just updated my FTDI driver from version 2.0.0.0 to 2.04.06.0 and gained further speed improvements. The benchmark now takes 4.14 seconds (about 62 lines/s)

      Comment


      • #4


        (Replying to my own post again)



        I just tested the line drawing speed if you don't wait for the ack but instead insert a small delay between lines. The benchmark results are as follows;



        1ms delay: 0.62s (413 lines/s)

        4ms delay: 1.4s (183 lines/s)

        ACK wait: 4.14s (62 lies/s)



        The minimum delay required to not lose lines was empirically determined to be 1ms for the short 100 pixel lines in this benchmark. To cover the longest corner to corner lines you may want to draw, the empirically determined minimum delay was 4ms.



        For this benchmark, waiting for the ACK takes 6.7 times longer. This is a little surprising.



        These preliminary tests were done on a Windows XP machine. It would be good to see some DSP or Linux results from others. I'm trying to work out if the delay introduced when I wait for the ACK is due to windows or the uVGA.

        Comment

        Working...
        X