Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tuupola/esp_gfx
HAGL speed tests for ESP32 boards
https://github.com/tuupola/esp_gfx
esp-idf esp32
Last synced: 5 days ago
JSON representation
HAGL speed tests for ESP32 boards
- Host: GitHub
- URL: https://github.com/tuupola/esp_gfx
- Owner: tuupola
- License: mit-0
- Created: 2020-04-16T10:59:46.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-02-18T18:23:42.000Z (almost 2 years ago)
- Last Synced: 2025-01-31T10:11:45.429Z (15 days ago)
- Topics: esp-idf, esp32
- Language: C
- Homepage: https://appelsiini.net/2020/embedded-graphics-library/
- Size: 152 KB
- Stars: 7
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Graphics speed tests for ESP32
![Circles](https://appelsiini.net/img/2020/pod-draw-circle.png)
[HAGL](https://github.com/tuupola/hagl) graphics library speed tests for ESP32 based boards. See the accompanying [blog post](https://appelsiini.net/2020/embedded-graphics-library/). Ready made config files for M5Stack, TTGO T-Display and TGO T4 V13. For example to compile and flash for M5Stack run the following.
```
$ git clone https://github.com/tuupola/esp_gfx.git --recursive
$ cd esp_gfx
$ cp sdkconfig.m5stack sdkconfig
$ make -j8 flash
```If you have some other board or display run menuconfig yourself.
```
$ git clone https://github.com/tuupola/esp_gfx.git --recursive
$ cd esp_gfx
$ make menuconfig
$ make -j8 flash
```Or if you are using the new build system.
```
$ git clone https://github.com/tuupola/esp_gfx.git --recursive
$ cd esp_gfx
$ idf.py menuconfigs
$ idf.py build flash
```## Speed
Below testing was done with the [TTGO T-Display](http://www.lilygo.cn/prod_view.aspx?Id=1126). Buffered refresh rate was set to 33 frames per second. Number represents operations per seconsd ie. bigger number is better.
| | Single | Double |Triple |
|-------------------------------|--------|-----------|---------|
| hagl_put_pixel() | 14526 | 682850 | 683024 |
| hagl_draw_line() | 171 | 15290 | 15264 |
| hagl_draw_vline() | 10293 | 132997 | 132980 |
| hagl_draw_hline() | 10276 | 132993 | 132997 |
| hagl_draw_circle() | 170 | 17475 | 17473 |
| hagl_fill_circle() | 270 | 9256 | 9259 |
| hagl_draw_ellipse() | 100 | 9110 | 9110 |
| hagl_fill_ellipse() | 127 | 3408 | 3407 |
| hagl_draw_triangle() | 57 | 5130 | 5129 |
| hagl_fill_triangle() | 103 | 1975 | 1975 |
| hagl_draw_rectangle() | 2752 | 37910 | 37916 |
| hagl_fill_rectangle() | 165 | 4574 | 4566 |
| hagl_draw_rounded_rectangle() | 482 | 26120 | 26110 |
| hagl_fill_rounded_rectangle() | 156 | 4287 | 4301 |
| hagl_draw_polygon() | 35 | 3088 | 3091 |
| hagl_fill_polygon() | 62 | 1073 | 1071 |
| hagl_put_char() | | | |## License
The MIT No Attribution License (MIT-0). Please see [LICENSE](LICENSE) for more information.