On Fri, 17 Jan 2020 11:28:03 GMT, Frederic Thevenet 
<github.com+7450507+ftheve...@openjdk.org> wrote:

>> I tested this fix against the repro code in 
>> https://github.com/javafxports/openjdk-jfx/issues/433 (which is 
>> [JDK-8222238](https://bugs.openjdk.java.net/browse/JDK-8222238)), but there 
>> is still an NPE. I'm not certain that this fix is supposed to solve that 
>> bug, but according to the comments, the root cause is the same as 
>> [JDK-8189082](https://bugs.openjdk.java.net/browse/JDK-8189082), which is 
>> related to this one. It's worth to take a look to see if something was 
>> missed.
> 
>> 
>> 
>> I tested this fix against the repro code in 
>> [javafxports/openjdk-jfx#433](https://github.com/javafxports/openjdk-jfx/issues/433)
>>  (which is [JDK-8222238](https://bugs.openjdk.java.net/browse/JDK-8222238)), 
>> but there is still an NPE. I'm not certain that this fix is supposed to 
>> solve that bug, but according to the comments, the root cause is the same as 
>> [JDK-8189082](https://bugs.openjdk.java.net/browse/JDK-8189082), which is 
>> related to this one. It's worth to take a look to see if something was 
>> missed.
> 
> Although JDK-8189082 (and potentially others) are indeed likely to share the 
> same root cause, the fix proposed here won't have an effect on anything else 
> than snapshots, since the tiling is done at the Scene level rather than 
> within QuantumToolkit.
> I purposefully choose to take the "easy" way out to limit the potential 
> side-effects of the change, but I agree that on the other hand supporting 
> tiling when needed directly in QuantumToolkit::renderToImage would have the 
> potential to solve a whole category of issues.
> Also, from a very pragmatic angle, because of the increased complexity and 
> scope and the risks that come with it, I'm not very optimistic that this 
> change could realistically make it into jfx14 and to be honest I'm quite 
> eager to get the screenshot feature in my app working properly ASAP.
> 
> I'd be willing to try and work on a more generic fix under the umbrella of 
> JDK-8189082, that'd be targeted at 15, while still having this fix included 
> as part 14; but that means this should (ideally) be reverted once it becomes 
> useless. 
> I don't know if the idea of having a "temporary fix" approach seems 
> acceptable in that context.

Wel,l upon closer inspection it appears `QuantumToolkit::renderToImage` is only 
really used by `Scene::doSnapshot` anyway. Rendering of a the content of an 
NGSubScene (the underlying issue in JDK-8189082) is handled in a completely 
different code path, and I suspect this is also true for Canvas, where I hear a 
similar kind of issue exists.
So from my (admittedly limited) understanding, fixing all problems at once 
would requires handling the tiling transparently within `RTTexture` (or more 
exactly inside all of its GraphicsPipeline specifics implementations) which 
seems quite a bit more complicated and risky.

-------------

PR: https://git.openjdk.java.net/jfx/pull/68

Reply via email to