3D библиотека графика сцены для Java?

Взгляните на этот простой тест:

@State(Scope.Benchmark)
@Fork(value = 1)
@Warmup(iterations = 3, time = 300, timeUnit = TimeUnit.MILLISECONDS)
@Measurement(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS)
@BenchmarkMode(Mode.Throughput)
public class SimpleBenchmark {

    int[] array;

    @Setup
    public void setup() {
        this.array = new int[100_000];
    }

    @Benchmark
    public void dec_all() {
        for(int i = 0; i < this.array.length; i++){
            this.array[i]--;
        }
    }

    @Benchmark
    public void dec_half() {
        for(int i = 0; i < this.array.length; i+=2){
            this.array[i]--;
        }
    }
}

Вариант № 1 - Терминал . Если вы используете maven, вам понадобится что-то подобное в вашем pom.xml

[...]


    
        
            maven-compiler-plugin
            3.5.1
            
                1.8
                1.8
            
        

        
            org.apache.maven.plugins
            maven-shade-plugin
            2.2
            
                
                    package
                    
                        shade
                    
                    
                        ${uberjar.name}
                        
                            
                                org.openjdk.jmh.Main
                            
                        
                        
                            
                                
                                *:*
                                
                                    META-INF/*.SF
                                    META-INF/*.DSA
                                    META-INF/*.RSA
                                
                            
                        
                    
                
            
        
    

Затем просто запустите его в терминале / консоли:

mvn clean package
java -jar target/benchmarks.jar

[ 1118] Вариант № 2 - IDE . Запустите его из main в вашей IDE:

import org.openjdk.jmh.Main;

[...]

public static void main(String... args) throws Exception {
    Main.main(args); // WARN: for better results run it from terminal!
}

В результате вы увидите:

Benchmark                  Mode  Cnt      Score     Error  Units
SimpleBenchmark.dec_all   thrpt   10  37278,685 ± 757,013  ops/s
SimpleBenchmark.dec_half  thrpt   10  28749,803 ± 811,464  ops/s

Из-за @BenchmarkMode(Mode.Throughput) вы получите [ops / s] ( операций / сек ). Попробуйте другие режимы, например AverageTime

Вы также можете попробовать этот шаблон: https://github.com/jawb-software/template-jmh-benchmark/tree/simple [ 1116]

7
задан Gili 17 February 2009 в 02:30
поделиться

3 ответа

Попробуйте Xith3D; это использует JOGL, не Java3D.

1
ответ дан 7 December 2019 в 16:46
поделиться

Существует также jReality, это - лицензируемый BSD, использует JOGL и выглядит довольно хорошим.

Поддерживает множество выходных форм: рендеринг только для программного обеспечения, рендеринг OpenGL, иммерсивная виртуальная реальность (как в ПЕЩЕРЕ) рендеринг; а также форматы файлов как Pixar’s RenderMan® и SVG

1
ответ дан 7 December 2019 в 16:46
поделиться

Моя интерпретация сообщения Java3D - то, что они добавляют новый график сцены, не заменяя их текущий, чтобы эффективнее сцепиться с JavaFX, который предназначен для веб-приложений. Я использовал Java3D в прошлом и любил его, таким образом, я рекомендовал бы пытаться связаться с devs и спросить, что их планы относительно любого приложения, которое Вы создаете.

1
ответ дан 7 December 2019 в 16:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: