On Sun, 24 May 2026 13:26:42 GMT, Marius Hanl <[email protected]> wrote:
>> I think it should be ok for this PR (corresponds to the status quo), but you >> do bring a good point: `isEmbedded()` is extremely vague - is it referring >> to a 8085 kind of embedded or embedded linux on 2 GHz arm chip? >> >> And what does it mean, exactly? There are a few places that use it >> currently, like sub-pixel (LCD) font rendering, some caching in >> `TitledPaneSkin`, texture mapping in Phong material, etc. >> >> Perhaps instead we should consider splitting it into individual features >> like `low power`, `resource constrained`, `reduced graphic quality` and the >> like. >> >> What do you think? > > Agree. I initially wanted to add a System Property instead - but decided > against because I want to keep the behavior for now. > > But I'm definitely in favor of a better method. > > Regarding `Platform.Preferences.reducedMotion`, this seems like a good > candidate here and also `Pagination` prev/next Animation - maybe the > `TitledPane` `animated` property default and some more. > +1 from me. > > I think this would not solve all cases though, as Andy mentioned there are > some other locations where `reducedMotion` makes not that much sense > probably, but instead something like `reduced graphic quality` or similar. > > How about I create a ticket, and the two of you add any details I haven't > covered - so we have a well-documented ticket? Then I can send an email and > see what kind of feedback we get. In the past, Web CSS had media types that tried to define platforms like `tv`, `projection`, `handheld`, etc. with the same idea: some platforms should be treated differently than other platforms. Those are now deprecated, because the idea has proven to be incoherent. If I have a laptop computer, is it `screen`? Does it become `handheld` when I pick it up? What if I connect it to a video projector, now it's suddenly `projection`? Why should my application now look and feel different? When we tie behaviors to specific platforms, we go down the same incoherent and wrong path. An embedded platform can be extremely resource-constrained, but it can also be more powerful than a desktop platform. We introduced `reducedMotion`, `reducedTransparency`, and `reducedData` to allow _applications_ instead of _platforms_ to be in charge of defining behavior characteristics, and those settings directly describe what they control; there's no need to guess what it should mean for an application. The API is there, we just need to start using it. I would also prefer that we start by using what we already have, and not try to come up with even more settings without having used any of the existing settings. I think this can be done as part of this PR because it already touches the code; if you don't want to do that, then with a follow-up PR. ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/2146#discussion_r3294816018
