亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

定時JavaFX Canvas應用程序

定時JavaFX Canvas應用程序

千巷貓影 2019-12-06 15:21:53
為了練習JavaFX,我構建了一個繪制Sierpinski Triangles的簡單應用程序。import javafx.application.Application;import javafx.application.Platform;import javafx.concurrent.Task;import javafx.geometry.Insets;import javafx.geometry.Point2D;import javafx.geometry.Pos;import javafx.scene.Scene;import javafx.scene.canvas.Canvas;import javafx.scene.canvas.GraphicsContext;import javafx.scene.layout.AnchorPane;import javafx.scene.layout.BorderPane;import javafx.scene.layout.Pane;import javafx.scene.paint.Color;import javafx.stage.Stage;public class SierpinskiTriangles extends Application {    private final int PADDING = 5;    private static int numberOfLevels;    public static void launch(String... args){        numberOfLevels = 8;        if((args != null) && (args.length > 0)) {            int num = -1;            try {                num = Integer.parseInt(args[0]);            } catch (NumberFormatException ex) {                            ex.printStackTrace();                return;            }            numberOfLevels = (num > 0) ? num : numberOfLevels;        }        Application.launch(args);    }    @Override    public void start(Stage stage) {        stage.setOnCloseRequest((ae) -> {            Platform.exit();            System.exit(0);        });        stage.setTitle("Sierpinski Triangles (fx)");        BorderPane mainPane = new BorderPane();        mainPane.setPadding(new Insets(PADDING));        Pane triPanel = new Triangles();        BorderPane.setAlignment(triPanel, Pos.CENTER);        mainPane.setCenter(triPanel);        Scene scene = new Scene(mainPane);        stage.setScene(scene);        stage.centerOnScreen();        stage.setResizable(false);        stage.show();    }輸出是預期的: 三角形我遇到的問題:一種。的時間輸出updateGraphics()顯示很早(在我的機器上為8秒)完成了三角形的繪制,因此無法測量完整的過程。我該如何改善呢?b。在我的機器上,面板完全繪制需要30-35秒。類似的揮桿動作需要4秒鐘。這可能表明我的javafx實現存在根本錯誤。
查看完整描述

2 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

首先,我按照建議應用了分離的“背景”畫布,沒有進行臨時更新。完成繪制后,我使用快照將背景畫布復制到顯示的畫布。這可以正常工作,并且可能具有更好的整體結構。它仍然不能幫助我解決計算時間與實際時間之間的差異。

查看完整回答
反對 回復 2019-12-06
  • 2 回答
  • 0 關注
  • 889 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號