View Single Post
Old 09-19-2019, 03:05 PM   #30
NiLuJe
BLAM!
NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.
 
NiLuJe's Avatar
 
Posts: 13,506
Karma: 26047202
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
@schuhumi:

I'll need to recap a few things in order to make the distinction between the is_dithered/sw_dithering FBInkConfig fields, and the dithering_mode argument to fbink_refresh() clearer .

Only very recent devices ship an EPDC that actually supports hardware dithering (Kobo Mk.7, for sure; and potentially Kindle Rex & Zelda).
The driver theoretically supports various dithering algorithms, but, on those devices, in practice, only ORDERED (and, of course, nothing, i.e., PASSTHROUGH) are supported.

In order to be somewhat future-proof (and/or make testing those easier), fbink_refresh allows setting those unsupported modes (in which case the driver safely fallbacks to PASSTHROUGH), hence the dithering_mode argument and the matching enum.


But, for stuff where the refresh is implicit (i.e., everything else ;p), this means we don't need to be able to set a specific algorithm: hence is_dithered, which will use ORDERED behind the scenes.

sw_dithering, on the other hand, is specific to image drawing, and does the dithering in software .

When it's supported, ORDERED will be tweaked to match the expectations of the specific waveform mode used (i.e., B&W for A2/DU, 8 or 16 shades of gray otherwise).
So its use is not limited to A2 (f.g., on Kobo, every screen with an image gets dithered that way, and those are usually GC16, either directly, or via AUTO).

On the other hand, sw_dithering will always dither to the exact 16 'color' eInk palette.

----

A2/DU are designed to be fast, at the expense of ghosting, yeah. You can request a flash with them, but they won't actually flash, and it may not actually help all that much (or at all) with ghosting .

From what I saw on my PW2 with the whole doom fire experiment, AUTO takes some pretty smart decisions depending on the content of the region . Which means it should often be using the *_FAST variants or DU for B&W content.

Which means, that, yeah, if you want to be specifically using A2/DU at some key moments (i.e., scrolling), you'll have to do that yourself .

----

As a rule, with FBInk, if you're not sure of a setting, the default is 0 and should behave sanely in most cases . (f.g., wfm 0 is AUTO, dither 0 is PASSTHROUGH, etc.).

Last edited by NiLuJe; 09-19-2019 at 03:10 PM.
NiLuJe is offline   Reply With Quote