We have identified a number of ways in which Quantum is not currently handling the Multithreaded rendering properly. These include:
1) multithreaded calls into Glass which assumes it is single threaded in nature. This seems to include (on some platforms) rendering which accessing Glass in ways that affect the underlying windows (esp. closing a window)
2) "window" state (mostly View/Window state from Glass) changing during the rendering operation
3) changes in state that are not toggling a repaint while a repaint is in progress.
4) ?
There are a number of known or likely Jiras that demonstrate some aspect of this problem, and should be linked to this for tracking purposes.
The toy HelloWindowAbuse seems particularly good at identifying the gross problems we are trying to solve here, as it can show crashes, exceptions and such. (Steve may have fixed the Mac related crashes with his first part fix for this issue which has been pushed.
HelloMenu/HelloSanity shows menu related issues easily on the PI.
There is a test app attached to RT-25314
1) multithreaded calls into Glass which assumes it is single threaded in nature. This seems to include (on some platforms) rendering which accessing Glass in ways that affect the underlying windows (esp. closing a window)
2) "window" state (mostly View/Window state from Glass) changing during the rendering operation
3) changes in state that are not toggling a repaint while a repaint is in progress.
4) ?
There are a number of known or likely Jiras that demonstrate some aspect of this problem, and should be linked to this for tracking purposes.
The toy HelloWindowAbuse seems particularly good at identifying the gross problems we are trying to solve here, as it can show crashes, exceptions and such. (Steve may have fixed the Mac related crashes with his first part fix for this issue which has been pushed.
HelloMenu/HelloSanity shows menu related issues easily on the PI.
There is a test app attached to RT-25314
- blocks
-
JDK-8125350 EGLFB: Crash when changing windows quickly in HelloMenu application
- Closed
-
JDK-8125653 EGLFB: PopupTest only shows one stage
- Closed
-
JDK-8102397 Close the window on some multithreaded issues in quantum
- Resolved
- is blocked by
-
JDK-8124898 Change Glass Screen for MT access
- Resolved
- relates to
-
JDK-8115358 Re-enable glass thread checks by default once depenedent issues are fixed
- Resolved