-
Notifications
You must be signed in to change notification settings - Fork 0
Speed Differences
sseltzer edited this page Mar 23, 2012
·
4 revisions
Operation | Original Library (ms) | SSeltzer Library (ms) | Gain (ms) | Gain (%) |
---|---|---|---|---|
Reset/Init/Screen fill Black | 974 | 168 | 806 | 82.8% |
testtext(RED); | 695 | 229 | 466 | 67.1% |
testlines(CYAN); | 12846 | 4059 | 8787 | 68.4% |
testfastlines(RED, BLUE); | 800 | 251 | 549 | 68.6% |
testdrawrects(GREEN); | 725 | 225 | 500 | 69.0% |
testfillrects(YELLOW, MAGENTA); | 6946 | 2617 | 4329 | 62.3% |
testfillcircles(10, MAGENTA); | 1473 | 675 | 798 | 54.2% |
testdrawcircles(10, WHITE); | 1115 | 383 | 732 | 65.7% |
testtriangles(); | 1409 | 435 | 974 | 69.1% |
testfilltriangles(); | 3938 | 1601 | 2337 | 59.3% |
testRoundRect(); | 1031 | 330 | 701 | 68.0% |
testFillRoundRect(); | 7549 | 2881 | 4668 | 61.8% |
Total: | 39501 | 13854 | 25647 | 64.9% |
All tests performed with the following code:
tft.reset();
tft.initDisplay();
startTime = millis();
<TEST OPERATION>
endTime = millis();
tft.setCursor(10, 100);
tft.setTextSize(2);
tft.println(endTime - startTime);
Note that many of the tests begin with tft.fillScreen(BLACK);
While this does not reflect the actual time it takes to perform many screen draw operations themselves, it does give a real world feel for how long it would take to display a complex screen. Of course you would want to optimize and only draw certain portions of the screen at a time (more on that later).