emboss effect on keycaps slows rendering

Bug #890221 reported by Alan Bell
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Onboard
Fix Released
Undecided
Unassigned

Bug Description

to get an embossed effect the keycap letters are drawn three times, slightly offset. This slows down the rendering and responsiveness particularly when resizing on low powered computers. It would be good to put the embossing effect in a preference so people can turn it off.

Revision history for this message
marmuta (marmuta) wrote :

Onboard from 0.96.0 tries harder to only draw what's really necessary, ie. often only the pressed key and its neighbours. Is this with a fresh version or still 0.95.0?

Then there is key style "Flat", which was meant to be a fall-back on slow systems. There are no gradients or fake emboss effects to slow it down. In Preferences->Themes->Customize theme try setting the key style to Flat. Does that help?

Changed in onboard:
status: New → Incomplete
Revision history for this message
marmuta (marmuta) wrote :

I've done some profiling recently and found some unnecessary stuff being done on every key press, meaning the next release will be a little bit faster on the average key press.

Rather than the drawing code, the main culprit was re-calculating font sizes for the various size groups. The fake emboss effect didn't appear to do much to the overall performance in my testing, however this may be video driver dependent. If you feel there is a particular system configuration where this is an issue, please post it here. This would help a lot with testing.

Revision history for this message
marmuta (marmuta) wrote :

I've just pushed some changes to reduce the level of detail while resizing. Turned off are, in order from highest to lowest impact: gradients, font size calculations, shadow rendering and the multi-pass fake emboss effect. Some fine tuning may still be necessary, but so far and to my eyes, the speed gain seems to be worth the temporary visual degradation.

Changed in onboard:
status: Incomplete → Fix Committed
Revision history for this message
Francesco Fumanti (frafu) wrote :
Download full text (3.5 KiB)

The fix is available in the the alpha 1 preview release of Onboard 0.99.0. Thus, I am marking this bug as Fix Released. Please, do not hesitate to reopen it or file a new bug if this problem is still an issue for you.

onboard (0.99.0~alpha1~tr1190-0ubuntu1) raring; urgency=low

  * New upstream alpha release. (LP: #1089396)
    + Fix Onboard becoming empty when system font dpi changes

 -- Francesco Fumanti <email address hidden> Wed, 12 Dec 2012 21:33:43 +0100

onboard (0.99.0~alpha1~tr1188-0ubuntu1) raring; urgency=low

  * Sponsorship request for Ubuntu Raring (LP: #1089396)
  * debian/control: raise virtkey run dependency to 0.63.0 or above
  * debian/patches: refresh patch and change default theme
  * Onboard requires now virtkey >= 0.63.0
  * Add example file with system defaults for the nexus7
  * Various changes to get acceptable speeds on the nexus7 (LP: #1070760)
  * Add docking feature (LP: #405034)
  * Add sliding feature for docking and auto-repositioning
  * Add multitouch support
  * Add a toggle to stop listening to touch events in case of many problems
  * Add popup on long press for key variants like diacritics
  * New option to choose popup vs repeat for keys with variants
  * New gsettings key for the popup delay
  * Make move, frame and touch handles work on the nexus7
  * Perform simulated clicks on correct touch position
  * Auto-release pointer grab after timeout in case nexus7 is unresponsive
  * Fix xserver memory leaking
  * Improve speed when typing and moving the pointer (LP: #1055448)
  * Fix rendering being slowed by emboss effect on keycaps (LP: #890221)
  * Fix for not being able to move/resize Onboard on touchscreens (LP: #959035)
  * Have Onboard respect launcher icon size (LP: #1078554)
  * Auto-show Onboard by clicking already selected text entries (LP: #1078602)
  * Make default shortcut for language/layout work from Onboard (LP: #1078629)
  * New design of the Preferences dialog with more options (LP: #1053496)
  * Disable click buttons when mousetweaks is not installed
  * Add D-Bus service to show and hide the keyboard (LP: 1032042)
  * Don't export dbus service for embedded instances
  * Set NumLock's default sticky behavior to LOCK_ONLY
  * Keep state of NumLock across restarts
  * New attribute in layout files for sticky key behaviour
  * New layout tags key_template and keysym_rule defining keysym-specific labels
  * New window tag for color schemes to define border of popups
  * New layout tag for language specific overrides in the layouts
  * Move common key definitions into template for import by layout files
  * Sync modifier states of Onboard with changes by hardware keyboard or tools
  * Fix keys not re-rendered when releasing latched modifiers (LP: #1069990)
  * Send key strokes for all modifiers (LP: #1067797)
  * Blacklist Ctrl-LAlt+Fn keys by default
  * Add alternative key generation by at-spi2
  * Try to improve struts handling for metacity and mutter
  * Fix getpreferredencoding hack, by Matthias Klose
  * Build for all python3 versions, by Matthias Klose
  * Add work arounds for some problems with the search box of firefox
  * Improve startup sequence to fix Onboard showing u...

Read more...

Changed in onboard:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.