SUMMARY The "Configure Okular..." window accessible from the "Settings" menu takes in the order of seconds to open. Same happens when accessing it through other buttons, such as "Configure Annotations". This is observed on a fairly well-powered desktop PC with loads of free RAM. STEPS TO REPRODUCE 1. open Okular 2. click on Settings -> "Configure Okular..." OBSERVED RESULT About 3+ seconds of Okular not doing anything before the configuration window shows. EXPECTED RESULT Opening of configuration window should be almost instantaneous. SOFTWARE/OS VERSIONS Linux/KDE Plasma: Fedora 39 (available in About System) KDE Plasma Version: 5.27.10 KDE Frameworks Version: 5.113.0 Qt Version: 5.15.12
Created attachment 165568 [details] Hotspot analysis Slowness seems to come from initializing text-to-speech stuff
Jeremy any idea?
That looks like spd_list_voices is taking a while. I'm willing to bet money they have speech-dispatcher configured to use espeak or espeak-ng which in some recent versions of speech-dispatcher give a way longer list than it should. Setting it up with espeak-ng here on arch and running spd-say -L to give the list of voices on the command line takes a couple of seconds and gives a list of 13363 different voices... (because it's including all locales and some mbrola variants, etc.) Unfortunately there's not really a gui to configure speech-dispatcher yet. Users that hit this can edit their configuration files in ~/.config/speech-dispatcher/speechd.conf to disable espeak and other problematic synthesizers that have this issue. Or alternatively run spd-conf and choose a default synthesizer such as flite or festival or pico that each only have a few voices. Alternatively I'll take a look and see if we can avoid that call in okular until the user asks for the Accessibility page maybe, though that would slow down switching to that page from other pages.
Same for me in other apps too, i don't have Screen reader enabled and don't have ~/.config/speech-dispatcher/speechd.conf at all.
I was mistaken. Looking at speech dispatcher's api it's list_voices api give all voices for all locales. Since espeak-ng has many many voices and variations it takes some time. I'll see if we can maybe patch QtSpeech to only give the voices for the current locale instead of all of them.
(In reply to András Manţia from comment #4) > Same for me in other apps too, i don't have Screen reader enabled and don't > have ~/.config/speech-dispatcher/speechd.conf at all. Yeah, the problem isn't that speech-dispatcher is configured wrong. It's more that speech-dispatcher (which talks to espeak and/or espeak-ng) has many many synthesizers. As a temporary workaround and if you aren't using it anyway, removing espeak and espeak-ng packages will make it load much quicker.