The original ucgui screen flushing speed was slow, and now it is better. The reason is as follows:
1. the cache is not enabled. The speed is the same as that of the carriage. After the carriage is opened, it turns into a car. You can use the method of assigning values to each vertex to check the speed;
2. When ucgui is used, when the value is directly sent to the LCD buffer zone, if the screen image contains a lot of controls, you will see the painting process (because after drawing a widget, you need to return n times and then draw a widget), so use double buffering, first, let ucgui buffer the data to LCD _buffer_cp, and then copy the data to the real buffer zone LCD _buffer. In this way, the drawing process is the same as drawing an image;
3. When copying data from LCD _buffer_cp to LCD _buffer, the database function memcpy is much faster than the function I wrote. You can use the method of assigning values to each vertex to check the speed.