Skip to content
This repository has been archived by the owner on Sep 30, 2024. It is now read-only.

Performance

notro edited this page Jan 3, 2014 · 10 revisions

This is some performance tests I have run on my SPI connected displays.
Debug output is turned on to get fps numbers in the kernel log.
A full screen movie is run to make sure the entire display is updated for each frame sent.

This video is used in the testing

wget http://fredrik.hubbe.net/plugger/test.mpg

Testing is done with DMA support enabled

sudo modprobe fbtft dma

What does the debug output mean? (dmesg)

[  733.962701] fb_ili9341 spi0.0: Display update: 1073 kB/s (139.677 ms), fps=5 (180.026 ms)

[  733.962701]          - timestamp
fb_ili9341              - driver
spi0.0                  - spi bus 0, chip select 0
Display update          - task
1073 kB/s (139.677 ms)  - This transfer took 139ms at 1073 kB/s
fps=5 (180.026 ms)      - 180ms since last frame sent. Assuming a full update, this gives 5 fps.

mi0283qt-9a

MI0283QT-9a display

sudo modprobe fbtft_device name=mi0283qt-9a rotate=90 speed=16000000 debug=$((1<<5))
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[  733.962701] fb_ili9341 spi0.0: Display update: 1073 kB/s (139.677 ms), fps=5 (180.026 ms)

sudo modprobe fbtft_device name=mi0283qt-9a rotate=90 speed=32000000 debug=$((1<<5))
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[  844.076663] fb_ili9341 spi0.0: Display update: 1599 kB/s (93.722 ms), fps=7 (139.977 ms)

sudo modprobe fbtft_device name=mi0283qt-9a rotate=90 speed=32000000 debug=$((1<<5)) fps=50
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[ 1280.271310] fb_ili9341 spi0.0: Display update: 1500 kB/s (99.924 ms), fps=8 (120.015 ms)

sudo modprobe fbtft_device name=mi0283qt-9a rotate=90 speed=48000000 debug=$((1<<5)) fps=50
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[ 1342.246731] fb_ili9341 spi0.0: Display update: 1538 kB/s (97.506 ms), fps=8 (120.020 ms)

hy28a

HY28A display

sudo modprobe fbtft_device name=hy28a rotate=90 speed=32000000 debug=$((1<<5)) gpios=reset:25,led:18
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[ 1020.379890] fb_ili9320 spi0.0: Display update: 3397 kB/s (44.140 ms), fps=11 (89.937 ms)

sudo modprobe fbtft_device name=hy28a rotate=90 speed=48000000 debug=$((1<<5)) gpios=reset:25,led:18 fps=50
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[ 1146.105369] fb_ili9320 spi0.0: Display update: 4376 kB/s (34.264 ms), fps=20 (49.941 ms)

tinylcd35

tinylcd.com 3.5" display.

Make special test video for this display

sudo apt-get install mencoder
mencoder test.mpg -ovc lavc -lavcopts vcodec=mpeg4 -vf scale=480:320 -o test_480_320.mpg
sudo modprobe fbtft_device name=tinylcd35 rotate=90 speed=32000000 debug=$((1<<5))
mplayer -nolirc -vo fbdev2:/dev/fb1 test_480_320.mpg
[ 2706.337429] fb_tinylcd spi0.0: Display update: 3416 kB/s (87.802 ms), fps=7 (130.004 ms)

sudo modprobe fbtft_device name=tinylcd35 rotate=90 speed=48000000 debug=$((1<<5)) fps=50
mplayer -nolirc -vo fbdev2:/dev/fb1 test_480_320.mpg
[ 2755.461039] fb_tinylcd spi0.0: Display update: 4368 kB/s (68.676 ms), fps=12 (80.649 ms)

adafruit22a

The new Adafruit 2.2" display.

sudo modprobe fbtft_device name=adafruit22a rotate=90 speed=32000000 debug=$((1<<5))
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[ 6151.670572] fb_ili9340 spi0.0: Display update: 3389 kB/s (44.246 ms), fps=11 (90.064 ms)

sudo modprobe fbtft_device name=adafruit22a rotate=90 speed=32000000 debug=$((1<<5)) fps=50
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[ 6185.932236] fb_ili9340 spi0.0: Display update: 3381 kB/s (44.353 ms), fps=16 (60.040 ms)

itdb28_spi

ITDB02.8 display using the SPI interface circuit. The circuit is soldered on a protoboard.

Did not work in DMA mode.

sudo modprobe fbtft_device name=itdb28_spi rotate=90 speed=24000000 debug=$((1<<5)) gpios=reset:25,dc:24,led:18
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[ 6453.243953] fb_ili9325 spi0.0: Display update: 2772 kB/s (54.088 ms), fps=9 (100.006 ms)
DISTORTED IMAGE

sudo modprobe fbtft_device name=itdb28_spi rotate=90 speed=32000000 debug=$((1<<5)) gpios=reset:25,dc:24,led:18
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[ 6371.160292] fb_ili9325 spi0.0: Display update: 3397 kB/s (44.143 ms), fps=11 (90.004 ms)
DISTORTED IMAGE

without dma

sudo modprobe --first-time fbtft
sudo modprobe fbtft_device name=itdb28_spi rotate=90 speed=32000000 debug=$((1<<5)) gpios=reset:25,dc:24,led:18
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[ 6630.394558] fb_ili9325 spi0.0: Display update: 2647 kB/s (56.640 ms), fps=9 (100.013 ms)

sudo modprobe fbtft_device name=itdb28_spi rotate=90 speed=32000000 debug=$((1<<5)) gpios=reset:25,dc:24,led:18 fps=50
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[ 6693.965756] fb_ili9325 spi0.0: Display update: 2312 kB/s (64.860 ms), fps=12 (80.006 ms)

sudo modprobe fbtft_device name=itdb28_spi rotate=90 speed=48000000 debug=$((1<<5)) gpios=reset:25,dc:24,led:18 fps=50
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[ 6732.157680] fb_ili9325 spi0.0: Display update: 2304 kB/s (65.068 ms), fps=12 (80.025 ms)

sainsmart32_spi

Sainsmart 3.2" display using the SPI interface circuit. The circuit is wired up on a breadboard.

Did not work in DMA mode.

sudo modprobe fbtft_device name=sainsmart32_spi rotate=90 speed=16000000 debug=$((1<<5)) gpios=reset:25,dc:24
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
DISTORTED IMAGE

Without dma

sudo modprobe --first-time fbtft
sudo modprobe fbtft_device name=sainsmart32_spi rotate=90 speed=16000000 debug=$((1<<5)) gpios=reset:25,dc:24
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[ 6957.960868] fb_ssd1289 spi0.0: Display update: 1529 kB/s (98.041 ms), fps=7 (140.003 ms)

sudo modprobe fbtft_device name=sainsmart32_spi rotate=90 speed=16000000 debug=$((1<<5)) gpios=reset:25,dc:24 fps=50
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[ 7273.675262] fb_ssd1289 spi0.0: Display update: 1519 kB/s (98.679 ms), fps=9 (109.702 ms)

sudo modprobe fbtft_device name=sainsmart32_spi rotate=90 speed=24000000 debug=$((1<<5)) gpios=reset:25,dc:24 fps=50
mplayer -nolirc -vo fbdev2:/dev/fb1 -vf scale=320:-3 /home/pi/test.mpg
[ 7381.206698] fb_ssd1289 spi0.0: Display update: 2293 kB/s (65.377 ms), fps=12 (79.998 ms)

piwik

Clone this wiki locally