JDK-8125183 : With accelerated compositing, resizing produces rendering artifacts
  • Type: Bug
  • Component: javafx
  • Sub-Component: web
  • Affected Version: 8
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2012-09-05
  • Updated: 2015-06-17
  • Resolved: 2012-09-18
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
Run the test from RT-21840 and resize the WebView several times. Note that the spinner in the center of the page becomes slightly corrupted. also note that the rounded rectangle behind the spinner becomes darker than it probably should.
Comments
Target Build: b60 verified fx8.0 b60
15-10-2012

The above fix has been pushed as http://jfxsrc.us.oracle.com/javafx/8.0/scrum/graphics/webnode/rev/7ad08bac0fae
18-09-2012

Here is the fix. Webrev: http://javaweb.us.oracle.com/jcg/fx-webrevs/RT-24742/1 Summary of changes: - In TextureMapperTile::updateContents(), clear the target rectangle prior to painting into it, so as to fully replace the old content with the new one even if the new content has alpha - In TextureMapperLayer::syncCompositingStateSelf(), apply the current transform and opacity when requested - Bring WebPage::setNeedsOneShotDrawingSynchronization() and WebPage::markForSync() more in line with the Windows port
14-09-2012

Here are the investigation results. The spinner gets corrupted by resizes because WebView currently updates accelerated compositing tiles by painting their new content over their existing content, thus causing the actual result to deviate from the expected result more and more with every repaint if the content being painted is not 100% opaque. The rounded rectangle behind the spinner appears darker than it should because, at the moment, WebView does not correctly apply the opacity (and transform) to static accelerated compositing layers such as one that represents the rounded rectangle in question.
14-09-2012