##JDK(자바개발 도구) 6 ## 그 새로운 기능들(3) 놀라와요~ ^^ - 싱글스레드 렌더링 & Native 룩앤필

2007. 2. 28. 10:11Java

오늘도 새로운 하루가 밝았습니다.
요새 피곤한지 입술이 텃네요.

언제나 생각하지만.

"개발자는 체력입니다."


결국 체력이 높은자가 이기게 마련이죠 ㅡ.ㅡ;
운동을 열씸히 해야겠습니다.

오늘은 JDK 6 특징중

1. Single-Threaded Rendering
   원본 사이트 : http://weblogs.java.net/blog/campbell/archive/2005/07/strcrazier_perf.html
   이제까지 Java2D는 멀티스레드를 맘껏사용해서 렌더링 해서 화면에 보여줬는데
   이제는 Single 스레드로 돌리다는군요.
   OpenGL에서 멀티스레드로 화면을 렌더링 하는게 얼마나 비효율적이고 안좋은지 아시죠??
  
   JDK6 에선 OpenGL 렌더링 파이프라인에서 구현되었다네요. 흠.
   결국 결과론적이긴 하지만, 그만큼 성능이 무지하게 올라갔다고 보심됩니다.
사용자 삽입 이미지

<위에는 멀티스레드 방식>

사용자 삽입 이미지
<이거는 싱글스레드 방식>

결과론적으로 성능이 어떻게 바뀌었냐 하면.!!

  • SwingMark, an internal Swing benchmark, is approximately 15 percent faster. (15퍼센트 빠르게)

  • The drawString() method is about 250 percent faster, according to J2DBench. (250퍼센트 빠르게)

  • The fillRect() and drawLine() methods are up to 2500 percent faster, according to J2DBench. (2500퍼센트 ㅡ.ㅡ; 빠르게)

  • FireStarter, an internal demo, renders about 2600 transformed, filtered, blended sprites per frame at 30 frames per second, as opposed to only 1600 sprites before STR. (이건 1600배군요)

    진작 이렇게 하지 ㅡ.ㅡ;~ 그래도 변해가는 Java가 좋습니다.
    아래는 Sung 스윙팀에서 만든 결과 차트 입니다. 보면.

    사용자 삽입 이미지
    정말 높군요. ++


    즉 OpenGL 에 기반한 JDK6 에서의 렌더러가 가장 높은 효율을 발휘하는것을 볼수 있습니다.
    기존의 X11 보다 몇천배 높죠. 잼있네요.


    2. Native Look and Feel
       원본글: http://weblogs.java.net/blog/bino_george/archive/2004/11/hifi_swing_or_i_1.html
       이걸 보면서 생각나네요. 룩앤필이란, 자바로 짠 Application의 UI가 어떤 형태로 사용자에게 보여지는지를 말합니다. 윈도우는 윈도우 룩앤필, 리눅스는 리눅스, 유닉스는 유닉스겠죠.
    다만 기존 Sun은 OS에 기반한 UI보단 자체독립적으로 보여지는 UI를 선호했죠.
    즉 UI를 만들면 모든 OS에서 동일하게 보여지길 바란거죠.

    근데 이번에는 OS에서 제공하는 UI에 많이 충실해진것같네요.
    비스타베타때, Java vm 개발도 같이 거기에 참여해서 개발된것으로 알고있습니다. 즉, OS 에서 제공하는 UI를 효과적으로 보여주기 위해서요.


    => 좋은 Java 룩앤필 사이트 입니다.
        http://www.javootoo.com/

    자기만의 룩앤필을 만들수 있다는거~. 쥑이지 않나요? ^^ (보니깐, 무료도 있고 상용도 있네요)

    - Windows 룩앤필을 사용하면 여러 기본 UI가 OS에서 제공하는 것으로 대체됩니다. (기존에는 안그랬지요. ㅡ.ㅡ;) 아래는 SwingSet32 데모에서 파일선택 버튼을 눌렀을때 나오는 것입니다. (윈도우꺼지요.)
    사용자 삽입 이미지
    이제 룩앤필을 Java Look And Feel로 바꾸어 보겠습니다.
    이렇게 나오지요.
    사용자 삽입 이미지

    다음은 리눅스 룩앤필선택시 입니다.
    사용자 삽입 이미지
    으하하하하. 쥑입니다. ++


    정말 잼있는 기능들이 많이 들어간 JDK6 입니다.
    JDK5 때도 그랬는데, 항상 다 사용해보지도 못하고 6로 넘어가네요. ㅎㅎ
    그래도 100프로 하위호환성을 지켜주는 Java 가 좋습니다. ^^

    by ncanis(조성준)