Replies: 5 comments 1 reply
-
The two screen buffers and the DMA chain are created during initialization, so double buffering cannot be disabled. I'll make a method like "suspendDoubleBuffering(bool)", just give me a few days ... |
Beta Was this translation helpful? Give feedback.
-
It would only be useful if I do not need to call "canvas.swapBuffers()" after each screen modification. I need direct change to the screen. Do your items in fabui need to call "canvas.swapBuffers()" each time, when you interact with your own menu design? As an example, I have a menu on the screen and I select ToolWidth, this item get highlighted, the width selection appear and I increment the width to the value needed. Is it possible without redrawing the whole menu and all other things at each steps? |
Beta Was this translation helpful? Give feedback.
-
Please download and install current repo. I've just added suspendDoubleBuffering() method.
It should work, I've tested it in DoubleBuffer demo, alternatively disabling and enabling double buffering. Of course, as you know, when you draw without double buffering flickering can happen, especially because you have to fill the background every "changing item" you draw. |
Beta Was this translation helpful? Give feedback.
-
another note: when you suspend double buffering, a primitives queue is created (not necessary with double buffering). This, for default, requires about 10K. You could reduce this queue size with:
|
Beta Was this translation helpful? Give feedback.
-
Thank you very much for your great work, it is really appreciated! :) I will test it next week, because of my boards issues... |
Beta Was this translation helpful? Give feedback.
-
Is it possible to disable the Double Buffering just for a moment and enabling it afterward?
I saw that there is a function in the library named "BitmappedDisplayController::setDoubleBuffered(bool value)" and I am not able to use it...
I also saw that there is a value named "m_doubleBuffered" and I am not able to modify it directly...
I cannot use different call to DisplayController.setResolution() without and with "DOUBLEBUFFERING" because I loose canvas height the second time, it goes from 320 to 274 lines...
Any solution would be greatly appreciated
Beta Was this translation helpful? Give feedback.
All reactions