When creating a Scene, a `DrawableInfo` is allocated with `malloc`. When scene changes, this is called on `WindowStage.java`:
`QuantumRenderer.getInstance().disposePresentable(painter.presentable); // latched on RT` But the underlying `DrawableInfo` is never freed. I also think this should be done when the Stage is closed. To test: import javafx.animation.Animation; import javafx.animation.KeyFrame; import javafx.animation.KeyValue; import javafx.animation.Timeline; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.TextField; import javafx.scene.control.Label; import javafx.scene.layout.Pane; import javafx.scene.layout.StackPane; import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.stage.Stage; import javafx.util.Duration; public class TestScenes extends Application { @Override public void start(Stage stage) { Timeline timeline = new Timeline( new KeyFrame(Duration.millis(100), e -> stage.setScene(createScene("Scene 1", Color.RED))), new KeyFrame(Duration.millis(200), e -> stage.setScene(createScene("Scene 2", Color.BLUE))), new KeyFrame(Duration.millis(300), e -> stage.setScene(createScene("Scene 3", Color.GREEN))) ); timeline.setCycleCount(Animation.INDEFINITE); timeline.play(); stage.show(); } private Scene createScene(String text, Color color) { return new Scene(new StackPane(), 400, 300, color); } public static void main(String[] args) { launch(TestScenes.class, args); } } ------------- Commit messages: - Remove Debug printfs - MonocleGLDrawable seems to not require dispose - Improve draft - Improve draft - Improve draft - Improve draft - Possible (incomplete) fix for es2 drawable leak Changes: https://git.openjdk.org/jfx/pull/1586/files Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1586&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8341418 Stats: 141 lines in 13 files changed: 112 ins; 26 del; 3 mod Patch: https://git.openjdk.org/jfx/pull/1586.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/1586/head:pull/1586 PR: https://git.openjdk.org/jfx/pull/1586