Jump to content
Sign in to follow this  
Endalvik

Tabset select: slow clearing

Recommended Posts

I am currently using uGFX with NIOS II (on MAX 10), using a generic framebuffer with 16-bits/pixel (RGB565).

As part of the linear framebuffer driver, I have added accelerators for gdisp_lld_fill_area(), etc.  I have confirmed that I am getting must faster fill than the default fallback "// Worst is pixel drawing" code.

In my main application, I have a tabset (with 3 tabs) that fills the entire display.  Anytime I select a new tab, I notice an unexpectedly slow tab window clear, right before the newly selected tab is rendered.  Subsequently, I am seeing expected performance while drawing filled shapes, so I am confident that my accelerated gdisp_lld_fill_area() is still being called.

I have started to look through gdisp.c, but have yet to identify exactly where this tab change window clear is being executed.

Could someone point me in the right direction?  I would like to make sure that tab window clear is using my accelerated functions.

Thanks in advance.

 

Share this post


Link to post
Share on other sites

Nevermind -- answered my own question (again):

I did find where tabs get cleared before being rendered:  gwin_tabset.c ==> gwinTabsetDraw_Std(), which eventually does indeed call gdisp_lld_fill_area().

So the root cause is that my accelerator slows down on unaligned accesses -- which of course will happen with pixels that are half-word!

Back to the drawing (or rather filling) board...

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...