Я немного удивлен, что JavaFX потребляет мой процессор, показывая простой плавающий текст на экране.
Мой вопрос: есть ли какие-либо настройки для включения аппаратного ускорения для таких узлов, как Text? Использовать GPU, а не CPU при рендеринге 2D-примитивов?
Вот простой пример, который потребляет до 40% процессора на моем дуэте Core 2 2,53 МГц + Nvidia 9600M GT. ОС: Mac Os X. JavaFX 1.2; JRE 1.5
Редактировать. Я добавил в пример анимацию, чтобы просто имитировать прокрутку текста. Вы можете попытаться добиться того же потребления процессора, прокручивая ListBox или какое-либо изображение без остановки.
package text2dacceleration;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.transform.Transform;
import javafx.scene.text.Text;
import javafx.animation.*;
def longLine = for (i in [1..45]) "{i}";
def textNodes = for (i in [1..64]) Text{content: "{longLine} line number {i}"};
var yoffset = 0.0;
Timeline {
repeatCount: Timeline.INDEFINITE
autoReverse: true
keyFrames: [
KeyFrame { time: 0s values: [yoffset => 0.0]}
KeyFrame { time: 1s values: [yoffset => 10.0]}]
}.play();
Stage {
title: "Text nodes"
width: 800
height: 600
resizable: false
scene: Scene {
content: [
VBox {
content: textNodes
transforms: bind Transform.translate(0, yoffset);
}]}}