Page 1 of 1

Tearing of display when scroling

Posted: Sat Jan 18, 2014 11:03 am
by Brissieboy
When scrolling (using dmd.drawMarquee()) the display has significant visible tearing. This is a result of the design of the DMD and the manner in which it is updated. The tearing effect is greatly reduced by increasing the rate at which the DMD is updated (or decreasing the time between interrupt calls) by adjusting the value set in the timer initialisation within the setup()
portion of the sketch. Using:
Timer1.initialize( 1000 );
gives a stable display. Note that the interrupt routine takes about 84 uSec plus 44 uSec for each extra DMD if using the high speed SPI clock as set by:
SPI.setClockDivider(SPI_CLOCK_DIV2);
in DMD.cpp.
This will reduce the amount of time that your sketch has to do your processing, so you need to be careful. It still uses less than 10% (for 1 DMD) of the available time.

This is the only way that I have found to reduce this effect. Has anybody else been able to achieve a clean scrolling display?

Re: Tearing of display when scroling

Posted: Thu Jan 30, 2014 7:06 am
by andrew
Can you post a video of this effect?

In the meanwhile, the following is a quick demo of text scrolling with the standard DMD library and no modifications to anything:
http://www.youtube.com/watch?v=SP-rhENr-Ig