Java2D는 렌더링의 뒷 배경에서 OpenGL을 사용한다고 들었습니다. JOGL을 사용하는 것이 가치가 있는지 궁금해했습니다. 모든 2D 라이브러리는 내 프로그램을위한 기본 라이브러리입니다. 하드웨어 가속을 사용하고 있는지 확인하기 위해 피할 필요가있는 특정 기술이 있다고 들었지만 그 이유를 알지 못합니다. (몇 가지는 알고 있지만 아직까지는 그 (것)들의 포괄적 인 명부를 찾아 내십시오.).Java2D가 LWJGL 및 JOGL만큼 빠를 수 있습니까?
답변
a 2D casual game in Java using LWJGL을 공동 개발 한 사람으로서 캐주얼 게임을 만들려면 LWJGL 또는 JOGL을 사용하지 않는 것이 좋습니다.
장점 :
- 간체 엔진 쓰기 : OpenGL을 사용하면 화면마다 프레임을 다시 그릴 수 있다는 것을 의미, 높은 충전 속도를 가지고있다.
- 멋진 3D 효과를 얻을 수 있습니다.
단점 :
- 모든 사용자는 3D 카드를 가질 필요가있다.
- 모든 사용자는 OpenGL 드라이버를 설치해야합니다. Windows 7에는 OpenGL 드라이버가 설치되어 있지 않습니다 (재미있는 결과를 보려면 Google에서 "pixel format not accelerated"을 찾으십시오).
- 3D 카드는 특히 오래 된 랩톱에서 배터리를 먹습니다. 사람들은 노트북에서 캐주얼 게임을하는 경우가 많으므로 문제가 될 수 있습니다.
- 애플릿은 3D 카드를 사용하려면 추가 권한이 필요합니다. 500 달러의 인증서를 구매할 의향이없는 한 사용자가 게임을하기 위해 클릭해야하는 무서운 권한 대화 상자가 표시됩니다.
게임을 개발하려면 PulpCore과 같은 Java2D 렌더링 및 애니메이션 프레임 워크를 사용하는 것이 좋습니다. 우리가 가지기를 바란다.
예를 들어 JOGL이 이미 서명 된 빌드를 제공하기 때문에 인증서에 관한 요점이 잘못되었습니다. 게임/응용 프로그램에 다시 서명 할 필요가 없습니다. – mbien
심지어 엉뚱한 온보드 칩은 캐주얼 게임으로도 충분할 수 있습니다. "가속화되지 않는 픽셀 포맷"은 주로 LWJGL에 관한 것이지만 JOGL에는 관심이 없습니다.이 경우에도 LWJGL에 "소프트웨어"OpenGL 사용을 허용하는 플래그가 있습니다 (Microsoft GDI 렌더러, Direct3D를 통해 에뮬레이트 된 OpenGL), JOGL은 하드웨어 가속 기능을 사용하여 하드웨어 가속 기능을 매우 비효율적으로 사용할 수있는 Java2D보다 배터리를 먹지 않습니다 (특히 어떤 v-sync를 사용하든)이 Microsoft OpenGL 드라이버를 사용할 수 있습니다 Java2D 성능은 플랫폼간에 일관성이없고 Android를 지원하지 않습니다. – gouessej
짧은 대답, 아니오. Java2D에는 너무 많은 부풀린 레이어가 있기 때문에 LWJGL 또는 JOGL 앱과 거의 비슷한 속도를 낼 수 있습니다.
OpenGL에 Java2D를 그리기 위해 드롭 할 수있는 라이브러리가 있습니다. GLG2D (내 라이브러리)가이 작업을 수행합니다. 이것은 JOGL에 의존하며 모든 java.awt.Graphics2D 호출을 OpenGL 호출로 변환합니다.
선 그리기, 특히 곡선은 Java2D에서 매우 느릴 수 있습니다.
Java2D에서 하드웨어 가속을 사용할 수 있지만이 경우에도 OpenGL (JOGL, LWJGL)에 대한 Java 바인딩보다 느리며 때로는 버그가 있습니다. 두 세계의 장점을 모두 원한다면 위에서 언급 한대로 Brandon이 GLG2D를 살펴보십시오. JOGL은 낮은 수준의 바인딩 인 반면 Java2D는 높은 수준의 API입니다. 이러한 저수준 OpenGL 바인딩 (예 : JGame, Slick 및 LibGDX)에 의존하는 고급 API를 사용할 수 있습니다.
- 1. 이 mySQL 쿼리가 더 빠를 수 있습니까?
- 2. lwjgl 101 : 어떻게 애플릿을 작성할 수 있습니까?
- 3. LWJGL 창 크기를 어떻게 바꿀 수 있습니까?
- 4. lwjgl : 어떻게 glCallLists를 사용할 수 있습니까?
- 5. LINQ의 .Where()가 O (N)보다 빠를 수 있습니까?
- 6. Mac 및 Windows에서 LWJGL 응용 프로그램 배포
- 7. cubemap in LWJGL
- 8. LWJGL - 검은 색 화면
- 9. 어느 것이 더 빠를 것입니까?
- 10. lwjgl dll을 launch4j에 연결하는 방법
- 11. OpenGL Vertex Buffer not drawing (LWJGL)
- 12. slick-util을 사용하여 LWJGL 렌더링 텍스트
- 13. Jogl을 사용하는 Java 용 좋은 드로잉 라이브러리 (Java2D가 아님)
- 14. 큰 응용 프로그램, 300-400 텍스트 상자 컨트롤, 모든 텍스트 상자의 유니 코드 입력을 금지합니다 - 어떻게 빠를 수 있습니까?
- 15. NetBeans로 Java LWJGL 프로젝트 컴파일 (org.lwjgl 패키지가 없음)
- 16. LWJGL (베어)가 소프트웨어 또는 하드웨어 렌더링을 사용합니까?
- 17. 등축 투영 뷰 (LWJGL)의 마우스와 같은 RTS
- 18. Eclipse RCP/LWJGL 앱에서 키보드에 액세스하는 방법은 무엇입니까?
- 19. 소량의 레코드를 저장하는 플랫 파일 또는 데이터베이스입니다. 많은 연결/사용자가 더 빠를 것입니다.
- 20. SQLite에 System.Decimal.MinValue 및 System.Decimal.MinValue를 저장할 수 있습니까?
- 21. $ _GET 및 $ _POST 모두에 데이터가있을 수 있습니까
- 22. PHP 및 MySQL 투표 수 문제가 있습니까?
- 23. 브라우저없이 AJAX 및 JavaScript를 사용할 수 있습니까?
- 24. offsetLeft 및 offsetTop 대신 사용할 수 있습니까?
- 25. RemoteWebDriver 및 Grid - 서버를 가져올 수 있습니까?
- 26. 이중 및 이중입니까? 교환 할 수 있습니까?
- 27. PHP 및 jquery와 데이터를주고받을 수 있습니까?
- 28. SHA256CryptoServiceProvider 및 관련하여 WinXP에서 사용할 수 있습니까?
- 29. displaytag에서 rowspan 및 colspan을 사용할 수 있습니까?
- 30. ABPeoplePicker 및 UIImagePickerController 의ContentInset을 설정할 수 있습니까?
일부 빠른 벤치마킹을 통해 직접 확인할 수 있습니다. 몇 가지 스프라이트를하고 모든 3과 블리 팅을하고 어떻게 작동하는지보십시오. 하드웨어 가속화 여부와 상관없이 – DragonFax