emeb Posted October 13, 2018 Report Share Posted October 13, 2018 My application updates several text fields on an ILI9341 display which is interfaced via a SPI port. When using the gdispGFillString() routine to overwrite a new text string on the display there is a noticeable tearing / flicker visible on the display. Looking at the underlying code for the gdispFillString() function it appears that the screen region is first cleared to the background color, then the text is rendered in the foreground color, so the time interval between the clear and render is what's causing the visible flicker. Is there an alternative way for me to update text on the display that would operate in a single pass? In other graphics libraries I've used off-screen buffers for this, but for uGFX that would mean pixmaps which as I understand it are not available for me because I'm using single-file include. Link to comment Share on other sites More sharing options...
inmarket Posted October 14, 2018 Report Share Posted October 14, 2018 Unfortunately there are only two mechanisms, off-screen drawing (pixmaps) and double buffering. Double buffering is a big nasty topic in its own right - search the forum for some of the discussions on that subject. It is probably also not viable for you given your controller and bus interface. As far as pixmaps are concerned v3.0 will fix the incompatibility with single file make. The filled string drawing algorithm will be updated at some time in the future too but that is not a simple task as their are lots of complexities with fonts. Link to comment Share on other sites More sharing options...
Joel Bodenmann Posted October 14, 2018 Report Share Posted October 14, 2018 15 hours ago, emeb said: Is there an alternative way for me to update text on the display that would operate in a single pass? In other graphics libraries I've used off-screen buffers for this, but for uGFX that would mean pixmaps which as I understand it are not available for me because I'm using single-file include. Yep, that's correct: Pixmaps are meant to be used for this. Single-file inclusion is just a method designed to be as comfortable as possible. You can always include the µGFX library sources the classical way. It's just a bit more work. But now that you already know µGFX a bit it should be fairly simple Link to comment Share on other sites More sharing options...
emeb Posted October 14, 2018 Author Report Share Posted October 14, 2018 OK. Looks like the best solution is to get pixmaps working, which means figuring out how to get the Xilinx Eclipse-based XSDK to build uGFX in the "classical way". Thanks. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now