emWin GUI_MULTIBUF_Begin without buffer copy

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • emWin GUI_MULTIBUF_Begin without buffer copy

      Hi All

      I am using multiple buffers to perform drawing operations using GUI_MULTIBUF_Begin() and GUI_MULTIBUF_End() which works as expected. In my application before every frame that is drawn, the screen (buffer) is cleared using GUI_Clear(). As a result the buffer copy operation in GUI_MULTIBUF_Begin() is of no use and takes up valuable time. Is it possible for me to avoid doing this copy operation, perhaps by implementing my own version of the GUI_MULTIBUF_Begin function?


      I am using libSTemWin_CM7_wc32.a GUI_VERSION 54401.


      Thanks in advance.

      Justin
    • Hi,

      you can set your own copy-buffer-function. In this function you simply do nothing.

      C Source Code

      1. static void _LCD_CopyBuffer(int LayerIndex, int IndexSrc, int IndexDst) {
      2. GUI_USE_PARA(LayerIndex);
      3. GUI_USE_PARA(IndexSrc);
      4. GUI_USE_PARA(IndexDst);
      5. }
      6. LCD_SetDevFunc(0, LCD_DEVFUNC_COPYBUFFER, (void(*)(void))_LCD_CopyBuffer);

      You can call the LCD_SetDevFunc() at the end of LCD_X_Config().

      Regards,
      Sven
      Please read the forum rules before posting.

      Keep in mind, this is *not* a support forum.
      Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
      Should you be entitled to support you can contact us via our support system: segger.com/ticket/

      Or you can contact us via e-mail.