[Development] Bug#874054: Setting QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1 has a huge negative performance impact, should not be always on

Allan Sandfeld Jensen kde at carewolf.com
Sun Sep 3 20:31:58 CEST 2017


On Sonntag, 3. September 2017 20:23:30 CEST Samuel Thibault wrote:
> Allan Sandfeld Jensen, on dim. 03 sept. 2017 20:19:31 +0200, wrote:
> > On Sonntag, 3. September 2017 19:57:55 CEST Samuel Thibault wrote:
> > > Allan Sandfeld Jensen, on dim. 03 sept. 2017 19:13:38 +0200, wrote:
> > > 
> > > That's Qt's fault for not taking care of EventListenerRegistered
> > > signals to determine whether someone is listening.
> > 
> > So it is Qt's fault that is doing what you have told it to do? You have
> > set
> > the environment variable to ignore the absence of listeners. That is what
> > QT_LINUX_ACCESSIBILITY_ALWAYS_ON does.
> 
> Ah?  That's not what I had gotten in my tests.  I'll check again, then.
> 
> The question of flurry of events is still there, and does matter for
> screen readers.  Avoiding to expose the issue to users without a screen
> reader is a bit hiding it under the carpet.
> 
True. Note, the case where I saw the largest performance impact was not moving 
the cursor, it was self-modifying web-content, it would send every text change 
in the active focus. The events came from Chromium, which is used in 
QtWebEngine, but it is not code I have written, just Chromiums default 
accesibility implementation. We have already worked around it in 5.9.2, as it 
was almost useless and already disabled in the standard linux builds of 
Chromium (probably because of the how badly it behaves), and firefox didn't 
send similar events either on Linux. But it is what Chrome would send on macOS 
and Windows when a screen-reader is detected as active.

'Allan




More information about the Development mailing list