Allow to select Splash or Arthur render backends

Review Request #130235 - Created Aug. 24, 2017 and updated

Oliver Sander

This patch adds a new configuration option to the pdf backend options: the user can select between the poppler Splash or Arthur backends. Of course Splash is the default, but it's nice to have the choice -- I use it to debug Arthur.

I need some help, though (still Qt newbie). With the current patch, backend changes do not go into effect until the document is reloaded. How do I make it go into effect when 'Ok' is clicked? I suppose there's some signal that gets emitted, but what's its name?

Also, It'd be good to add a 'here be dragons' tooltip to the Arthur choice. Is that possible?

Albert Astals Cid

Arthur is useless, I don't see why we should we expose a much worse experience to the user.

  1. For developing/debugging. Remember that I claimed that Arthur can in principle help with some of Okular's printing problems.

    Arthur really is useless at this point, but it is not hopeless: lot's of improvements can actually be done with very limited time and skills. Exposing it in Okular (with a suitable warning) may get a bit more developer interest.

  2. For developing/debugging i'd say go for an #ifdef.
  3. Certainly not. I want to be able to switch between the different renderers in a running program, to be able to conveniently compare the output.

Albert Astals Cid

How do I make it go into effect when 'Ok' is clicked? I suppose there's some signal that gets emitted, but what's its name?

Yeah, that's not happening, also needed for

Honestly, i don't like to have this option even if you add a million of warnings, people will select it and they'll either file a bug or shit on the internet about how crap Okular is.

I don't understand why an #ifdef protecting the option is not good for you?

  1. Here is an idea for a compromise: Provide a command line option. For the developer, this enables fast and convenient switching between backends without reconfiguring/rebuilding, for the user it is very explicit to type something like "--use-totally-unsupported-and-very-experimental-arthur-backend".

    As for getting more contributors involved, I guess there are more effective channels to get the word out than a GUI option: Once available as an experimental feature in a released version, call for developers/testers in the release notes, in a blog post and on Reddit (/r/kde, /r/linux, …). To keep the excitement going, provide regular blog posts with achievements and testing requests on PlanetKDE with link submissions to Reddit.

    This sounds like a lot of work, but in reality is nothing more than a somewhat detailed copy of a Phabricator Diff summary with a screenshot of a new GUI option or old vs. improved rendering thrown in for good measure. For example, you could start with what's the advantage over Splash. (Could we finally get subpixel rendering for eligible pages? This seems like a much-wanted feature…) Then continue with the text rendering improvements you already did a couple of weeks back in Poppler. After that, mention the printing stuff in multiple installments (scaling, faster performance, …).