Hello.
I wanted to use the GUI_DrawPixel () function to implement some algorithms. But I noticed that it works very slowly.To show this, I created a small test. I changed the example "STemWin_HelloWorld" from the library "STM32Cube_FW_F4_V1.21.0" for STM32F429Dscowery.
Here is the source code:
Display All
The result of the test is on this video:
Result of the test
Is it possible to speed up the GUI_DrawPixel, for example using a display driver?
Thanks, and Sorry for my English.
I wanted to use the GUI_DrawPixel () function to implement some algorithms. But I noticed that it works very slowly.To show this, I created a small test. I changed the example "STemWin_HelloWorld" from the library "STM32Cube_FW_F4_V1.21.0" for STM32F429Dscowery.
Here is the source code:
C Source Code: BASIC_HelloWorld.c
- /*********************************************************************
- * SEGGER MICROCONTROLLER SYSTEME GmbH *
- * Solutions for real time microcontroller applications *
- **********************************************************************
- * *
- * (c) 1996 - 2015 SEGGER Microcontroller Systeme GmbH *
- * *
- * Internet: www.segger.com Support: support@segger.com *
- * *
- **********************************************************************
- ***** emWin - Graphical user interface for embedded applications *****
- emWin is protected by international copyright laws. Knowledge of the
- source code may not be used to write a similar product. This file may
- only be used in accordance with a license and should not be re-
- distributed in any way. We appreciate your understanding and fairness.
- ----------------------------------------------------------------------
- File : BASIC_HelloWorld.c
- Purpose : Simple demo drawing "Hello world"
- ----------------------------------------------------------------------
- */
- #include "GUI.h"
- #include "stdlib.h"
- #include "stdint.h"
- /*********************************************************************
- *
- * Public code
- *
- **********************************************************************
- */
- /*********************************************************************
- *
- * MainTask
- */
- #define XSIZE 240
- #define YSIZE 320
- void MainTask(void) {
- // GUI_Clear();
- // GUI_SetFont(&GUI_Font20_1);
- // GUI_DispStringAt("Hello world!", (LCD_GetXSize()-100)/2, (LCD_GetYSize()-20)/2);
- GUI_Clear();
- int X,Y;
- GUI_SetColor(GUI_RED);
- for (Y=1; Y<YSIZE; Y++)
- {
- for (X=1; X<XSIZE; X++)
- {
- GUI_DrawPixel(X,Y);
- }
- }
- uint32_t *disp;
- disp=(uint32_t)0xD0200000;
- for (int i=0; i<YSIZE*XSIZE; i++)
- {
- disp[i]=0xff0000FF;
- }
- // GUI_Delay(100);
- // GUI_DrawGradientH(0, 0, XSIZE, YSIZE, 0x0000FF, 0x00FFFF);
- //GUI_MEMDEV_CopyToLCD(hMem);
- while(1);
- }
- /*************************** End of file ****************************/
The result of the test is on this video:
Result of the test
Is it possible to speed up the GUI_DrawPixel, for example using a display driver?
Thanks, and Sorry for my English.