2009-03-02 5 views
16

일부 물리 시뮬레이션을 할 생각이고 Java에서 빠른 렌더링이 필요합니다.Java2d보다 빠른 대안은 무엇입니까?

저는 과거 Java2d에서 성능 문제가 발생했습니다. 빠른 대안은 무엇입니까? JOGL은 Java2d보다 훨씬 빠릅니까?

+0

http://stackoverflow.com/questions/148478/java-2d-drawing-optimal-performance 및 http://stackoverflow.com/questions/196890/java2d-performance-issues가 도움이 될 수 있습니다. –

+0

사실 나는 편집하기 전에이 질문이 중복되었을 수 있다고 생각합니다. 나는 그것이 지금은 있다고 생각하지 않는다. –

+0

JDK 6의 최신 업데이트를 사용해 보셨습니까? – Eddie

답변

11

Java2D에 대한 나의 경험은 규칙을 따르면 매우 빠를 수 있다는 것입니다. 몇 가지 간단한 일을 변경하여 90 % CPU에서 5 % 미만 CPU로 응용 프로그램을 만들었습니다. 대형 투명 PNG를 사용하는 것은 '아니오'입니다.

Java-Gaming.org 포럼은 매우 훌륭한 자료입니다. Sun 2D 전문가를 비롯한 많은 사람들이 놀고 다니며 2D 드로잉의 성능 문제에 대한 많은 예제와 솔루션을 제공합니다.

참조 : http://www.javagaming.org/ 다음 항목 "성능 조정"

4

나는 과거에 예를 들었을 것입니다. 특히 화면이 표시 될 때마다 API를 통해 많은 호출을하는 대신 디스플레이 목록을 사용하는 경우 특히 그렇습니다. 그러나 1.6 JVM의 업데이트 10에서는 가속화 된 Java2D 그래픽이 추가되었으므로 이제 이점이있을 수 있습니다. 확실히 알 수있는 유일한 방법은 일반 장면을 모두에서 렌더링하고 측정하는 것입니다.

5

JOGL은 2D 그래픽 만 사용하는 경우에도 Java2D보다 훨씬 빠를 수 있습니다. 클레이 워스 (Clayworth)가 언급했듯이 일반적으로 수행해야 할 작업에 따라 달라집니다.

제 생각에 2 차원 자유도로 회전하고 변환하는 (질감 또는 질감이 아닌) 2D 물리적 시뮬레이션의 경우 JOGL이 최상의 성능을 제공하고 줌 가능한 인터페이스를 쉽게 제공 할 수 있어야합니다. OpenGL for 2D 그래픽 (C, 그러나 JOGL에 쉽게 적응)은 tutorial입니다.

JOGL은 Java2D보다 배우는 데 약간의 시간이 걸리지 만 좋은 성능을 얻으려면 Java2D 에서처럼 특수화 된 최적화가 거의 필요하지 않습니다.

+1

2D 용 JOGL을 사용하는 경우 +1. 나는 직장에서 항상이 작업을 수행하며, 특히 조밀 한 디스플레이 및 알파 블렌딩을 위해 Java2D를 물 밖으로 날려 버립니다. 그 중에서도 GLSL 쉐이더는 놀랍도록 강력합니다. – basszero

2

또한 LWJGL을 기반으로 한 Slick을 확인하고 어떤면에서는 Java2D와 유사합니다. OpenGL을 사용하므로 훨씬 빠릅니다.