RFR: 8354077: Get rid of offscreenSharingEnabled windows flag [v2]
Sergey Bylokhov
serb at openjdk.org
Fri Apr 18 18:31:13 UTC 2025
> Another unused obsoleted flag removed (offscreenSharingEnabled) from WindowsFlags. Its last usage was eliminated by [JDK-6725214](https://bugs.openjdk.org/browse/JDk-6725214) ("D3D: forward-port the new pipeline from 6u10"), see [commit](https://github.com/openjdk/jdk/commit/e4c9db984fe1a3a9d06fb60e333e92df3b165454#diff-c27da1eb4bdc7e69158f38ab3e7a1aa02b074c131c18ad15d04d0f88f169febeL319).
>
> Interestingly, the original JDK 6u10 changes marked many options as "Obsoleted" (see [System Properties for Java 2D Technology](https://docs.oracle.com/javase/8/docs/technotes/guides/2d/flags.html)). Some of them later were removed in JDK 9 via [JDK-8155682](https://bugs.openjdk.org/browse/JDK-8155682) ("Get rid of legacy Windows Flags for DX").
>
> However, two obsoleted flags remain:
> - **sun.java2d.noddraw**: Obsoleted in: Java SE 6 Update 10, which contains a new implementation of D3D support. Setting sun.java2d.noddraw=true is now interpreted exactly the same as disabling that via sun.java2d.d3d=false.
> Intended use: To turn off the Java 2D system's use of DirectDraw and Direct3D completely.
> Introduced: 1.2
> Default value: false
> How to use: Setting this flag to true turns off DirectDraw usage, which sometimes helps to get rid of rendering problems on Win32.
> - **sun.java2d.ddoffscreen**: Obsoleted in: Java SE 6 Update 10
> Intended use: To turn on hardware-accelerated scaling when the DirectDraw/Direct3D pipeline is in use.
> Introduced: 1.2
> Default value: false
> How to use: Setting this flag to true enables hardware-accelerated scaling if the DirectDraw/Direct3D pipeline is in use. DirectDraw/Direct3D hardware scaling is disabled by default to avoid rendering artifacts in existing applications. These rendering artifacts are caused by possible inconsistencies between the scale method that the software scaling operation uses (nearest neighbor) and the different scale methods that video cards use. Certain events that occur while an application is running might cause a scaled image to be rendered partially with hardware scaling operations and partially with software scaling operations, resulting in an inconsistent appearance. For now, you can enable acceleration by setting the ddscale flag to true.
>
> Should we:
> - Continue supporting these indefinitely, or
> - Mark them as deprecated for removal in some upcoming release?
Sergey Bylokhov has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision:
- Merge branch 'openjdk:master' into JDK-8354077
- 8354077: Get rid of offscreenSharingEnabled windows flag
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/24534/files
- new: https://git.openjdk.org/jdk/pull/24534/files/ad3ac5ca..e14e1d50
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=24534&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=24534&range=00-01
Stats: 225010 lines in 1031 files changed: 35320 ins; 185545 del; 4145 mod
Patch: https://git.openjdk.org/jdk/pull/24534.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24534/head:pull/24534
PR: https://git.openjdk.org/jdk/pull/24534
More information about the client-libs-dev
mailing list