GTK+, Cairo 엔진 채택 예정

segfault의 이미지

http://developers.slashdot.org/article.pl?sid=05/02/04/2021236

GTK+와 함께 Qt 4 역시 Cairo를 채택할 예정이라고 합니다...

OSX의 Quartz, Longhorn의 Avalon에 이어서 GTK+와 Qt 역시 시대의 흐름을 따르는군요....

흥미진진합니다.

FrogLamb의 이미지

역시 대세는 SVG...

근데 카이로 자체의 완성도가 어떤지 궁금하네요

제가 마지막으로 봤을때는 그다지 좋아보이진 않았는데말이죠...-_-

----------------------------------------
Kwonjin Jeong

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

FrogLamb wrote:
역시 대세는 SVG...

근데 카이로 자체의 완성도가 어떤지 궁금하네요

제가 마지막으로 봤을때는 그다지 좋아보이진 않았는데말이죠...-_-

http://cairographics.org/

waimea라고 하는 윈도우 매니저는 cairo를 채용하고 있습니다.
http://freedesktop.org/Software/waimea

익명 사용자의 이미지

cairo 가 구체적으로 어떤것인가요?

graphic 라이브러리(?)의 일종인가요?

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

firefox wrote:
cairo 가 구체적으로 어떤것인가요?

graphic 라이브러리(?)의 일종인가요?

홈페이지에 따르면,

Quote:
Cairo is a vector graphics library designed to provide high-quality display and print output.

라고 합니다.
세벌의 이미지

ditto wrote:
firefox wrote:
cairo 가 구체적으로 어떤것인가요?

graphic 라이브러리(?)의 일종인가요?

홈페이지에 따르면,

Quote:
Cairo is a vector graphics library designed to provide high-quality display and print output.

라고 합니다.

해석을 해 보면
Cairo는 고품질 화면과 프린트 출력을 제공하기 위해 설계된 벡터 그래픽 라이브러리이다.
제 해석이 맞다는 장담은 못 합니다. :)
logout의 이미지

데스크탑에 벡터 그래픽을 도입하는 이유는 쉽게 생각하면 이렇습니다... 요즘은 워낙 그래픽 하드웨어 기술이 발전하다보니 이제는 3D 가속기능도 일반화가 되었습니다. 이것이 처음에는 게임에 주로 사용되었었는데... 일견 생각해보면 굳이 게임에만 비싼 그래픽 카드 하드웨어 자원을 쓰기에는 좀 아깝더라는 것이지요.

여기서 발전한 아이디어가 데스크탑 유저 인터페이스 출력에도 이 3차원 가속 기능들을 써보자는 것입니다. 예를들면, 윈도우 줌업/줌아웃, 화면을 3차원식으로 돌리기 등과 같은 곳에 그래픽 카드의 놀고있는 3차원 가속 기능을 쓸 수 있을 겁니다. 예전에도 이 작업을 할 수 있었지만 이렇게되면 시피유 자원을 너무많이 사용하는 단점이 있었습니다. 이제는 이것을 그래픽카드에 떠넘기고 데스크탑 화면 출력을 좀 더 다양하게 해 보자는 것이지요.

현재 데스크탑 벡터 그래픽이 가장 잘 구현된 환경은 매킨토시의 오에스텐입니다. 윈도우 최소화/최대화를 해 보면 확실히 애니메이션 느낌이 틀리고 Expose 기능도 이 오에스텐의 Quartz extreme 엔진을 활용하고 있습니다.

"I conduct to live,
I live to compose."
--- Gustav Mahler

segfault의 이미지

logout wrote:
데스크탑에 벡터 그래픽을 도입하는 이유는 쉽게 생각하면 이렇습니다... 요즘은 워낙 그래픽 하드웨어 기술이 발전하다보니 이제는 3D 가속기능도 일반화가 되었습니다. 이것이 처음에는 게임에 주로 사용되었었는데... 일견 생각해보면 굳이 게임에만 비싼 그래픽 카드 하드웨어 자원을 쓰기에는 좀 아깝더라는 것이지요.

여기서 발전한 아이디어가 데스크탑 유저 인터페이스 출력에도 이 3차원 가속 기능들을 써보자는 것입니다. 예를들면, 윈도우 줌업/줌아웃, 화면을 3차원식으로 돌리기 등과 같은 곳에 그래픽 카드의 놀고있는 3차원 가속 기능을 쓸 수 있을 겁니다. 예전에도 이 작업을 할 수 있었지만 이렇게되면 시피유 자원을 너무많이 사용하는 단점이 있었습니다. 이제는 이것을 그래픽카드에 떠넘기고 데스크탑 화면 출력을 좀 더 다양하게 해 보자는 것이지요.

현재 데스크탑 벡터 그래픽이 가장 잘 구현된 환경은 매킨토시의 오에스텐입니다. 윈도우 최소화/최대화를 해 보면 확실히 애니메이션 느낌이 틀리고 Expose 기능도 이 오에스텐의 Quartz extreme 엔진을 활용하고 있습니다.

OSX의 경우에는 타이거 버젼부터 Quartz에 하드웨어 가속기능을 활용하는것 같더군요.
그 이전까지 OS X는 인터페이스에 너무 많은 시스템 자원을 낭비해버린다는 문제가 자주 제기되었습니다.

Cairo를 쓴다면, Glitz도 백엔드로 쓸 수 있어야 할텐데.. 당연히 그렇게 되겠죠? ;)

정태영의 이미지

openGL 이.. 3D에 많이 쓰이고 있기는 하지만.. openGL은.. 3D전용 엔진이 아닙니다 :)

irix Graphic Library -> open Graphic Library 이런 이름에서 알 수 있듯이..
일반적인 그래픽 라이브러리 입니다..

openGL에는 2D 용 function 들도 존재합니다 =3=33

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

정태영의 이미지

babjo87 wrote:
OSX의 경우에는 타이거 버젼부터 Quartz에 하드웨어 가속기능을 활용하는것 같더군요.
그 이전까지 OS X는 인터페이스에 너무 많은 시스템 자원을 낭비해버린다는 문제가 자주 제기되었습니다.

Cairo를 쓴다면, Glitz도 백엔드로 쓸 수 있어야 할텐데.. 당연히 그렇게 되겠죠? ;)

Quartz 는.. openGL 을 통한 하드웨어 지원이 안되는 것으로 알고 있고..
Quartz-Extreme 부터는 openGL 가속을 사용하는 것으로 알고있습니다..

http://cairographics.org/manual/
카이로는.. 출력부분을 추상화시켜놓았기 때문에.. 백엔드만 바꿔주는 것으로

ps/pdf/png/화면/quartz/glitz 등으로 출력할 수 있도록 설계되어 있습니다..
문서대로라면.. 맥에선 quartz 로 가속을 받을 수 있겠군요 :)

리눅스에선 glitz 를 쓰면 되구요..

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

logout의 이미지

babjo87 wrote:
logout wrote:
데스크탑에 벡터 그래픽을 도입하는 이유는 쉽게 생각하면 이렇습니다... 요즘은 워낙 그래픽 하드웨어 기술이 발전하다보니 이제는 3D 가속기능도 일반화가 되었습니다. 이것이 처음에는 게임에 주로 사용되었었는데... 일견 생각해보면 굳이 게임에만 비싼 그래픽 카드 하드웨어 자원을 쓰기에는 좀 아깝더라는 것이지요.

여기서 발전한 아이디어가 데스크탑 유저 인터페이스 출력에도 이 3차원 가속 기능들을 써보자는 것입니다. 예를들면, 윈도우 줌업/줌아웃, 화면을 3차원식으로 돌리기 등과 같은 곳에 그래픽 카드의 놀고있는 3차원 가속 기능을 쓸 수 있을 겁니다. 예전에도 이 작업을 할 수 있었지만 이렇게되면 시피유 자원을 너무많이 사용하는 단점이 있었습니다. 이제는 이것을 그래픽카드에 떠넘기고 데스크탑 화면 출력을 좀 더 다양하게 해 보자는 것이지요.

현재 데스크탑 벡터 그래픽이 가장 잘 구현된 환경은 매킨토시의 오에스텐입니다. 윈도우 최소화/최대화를 해 보면 확실히 애니메이션 느낌이 틀리고 Expose 기능도 이 오에스텐의 Quartz extreme 엔진을 활용하고 있습니다.

OSX의 경우에는 타이거 버젼부터 Quartz에 하드웨어 가속기능을 활용하는것 같더군요.
그 이전까지 OS X는 인터페이스에 너무 많은 시스템 자원을 낭비해버린다는 문제가 자주 제기되었습니다.

Cairo를 쓴다면, Glitz도 백엔드로 쓸 수 있어야 할텐데.. 당연히 그렇게 되겠죠? ;)

제가 알기로는 OS X 10.2부터 Quartz extreme이 하드웨어 가속을 이미 활용하고 있는 것으로 알고 있는데.... 혹 잘못 알고 있는 건가요?

"I conduct to live,
I live to compose."
--- Gustav Mahler

segfault의 이미지

logout wrote:
제가 알기로는 OS X 10.2부터 Quartz extreme이 하드웨어 가속을 이미 활용하고 있는 것으로 알고 있는데.... 혹 잘못 알고 있는 건가요?

앗 죄송합니다.. 제가 잘못 알고 있었군요... :oops:

sangu의 이미지

Redering Project
- 이번 달 12일 X Window System developer's meeting에서 발표 (Demo Plans)

GTK+ 2.8 Plans

atie의 이미지

정태영 wrote:
...
리눅스에선 glitz 를 쓰면 되구요..

오늘자 Nat의 블로그에 Xgl이라는 새로운 X server 이야기가 나오는군요. Glitz/OpenGL 기반에 벤더가 제공하는 하드웨어 3d 가속 GL을 사용하게 된다는데, 데모로 잡은 스크린이 멋있군요.

ATI FireGL T2면 IBM 노트북인가요?

----
I paint objects as I think them, not as I see them.
atie's minipage

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

atie wrote:

오늘자 Nat의 블로그에 Xgl이라는 새로운 X server 이야기가 나오는군요.

freedesktop.org xserver CVS에서 체크아웃 해서 받을 수 있다고 하네요.

segfault의 이미지

ditto wrote:
atie wrote:

오늘자 Nat의 블로그에 Xgl이라는 새로운 X server 이야기가 나오는군요.

freedesktop.org xserver CVS에서 체크아웃 해서 받을 수 있다고 하네요.

받아서 설치해 봤습니다.

X 서버 위에 별도로 뜨는 nested server던데, 켜보니 그냥 먹통이네요.
아무래도 cairo나 glitz의 버젼이 안맞아서 그럴지도 모르겠군요..

FrogLamb의 이미지

logout wrote:
현재 데스크탑 벡터 그래픽이 가장 잘 구현된 환경은 매킨토시의 오에스텐입니다. 윈도우 최소화/최대화를 해 보면 확실히 애니메이션 느낌이 틀리고 Expose 기능도 이 오에스텐의 Quartz extreme 엔진을 활용하고 있습니다.
익스포제나 윈도우 최소/최대화 모두 벡터그래픽이랑은 그다지 상관은 없습니다

익스포제는 단순히 비트맵으로 렌더링된 화면을 축소시켜 출력하는정도로 구현할 수 있고 최소/최대화는 뒤틀린 폴리곤에 비트맵으로 렌더링된 어플의 결과 화면을 텍스쳐로 입히는 정도로 구현한듯 싶습니다. 전부 비트맵 수준애서의 가속이지요

결국 벡터그래픽의 의의라고 한다면 해상도 독립적인 출력정도라고 생각합니다.

p. s. 혹시 현재 3D 가속 그래픽카드들이 2D 벡터 그래픽 가속을 지원하던가요? 저는 안하는걸로 알고있었는데...

----------------------------------------
Kwonjin Jeong

정태영의 이미지

FrogLamb wrote:
익스포제는 단순히 비트맵으로 렌더링된 화면을 축소시켜 출력하는정도로 구현할 수 있고 최소/최대화는 뒤틀린 폴리곤에 비트맵으로 렌더링된 어플의 결과 화면을 텍스쳐로 입히는 정도로 구현한듯 싶습니다. 전부 비트맵 수준애서의 가속이지요

익스포제등은 일반 비트맵으로 구현되지는 않은 듯 한데요 :) 실시간으로 데이타가.. 갱신되거든요.. 쿼츠의.. 좌표계는.. 부동소숫점 좌표계입니다..

동영상을 mplayer 나.. quicktime 등으로 실행시켜놓고.. dock 에 최소화를 시켜놓을 경우.. dock 에 들어간 상태 그대로 계속해서 영화는 나옵니다.. 물론 사파리등을 dock 에 최소화 시킬 경우에도.. 마찬가지로.. 실시간으로 모든게 갱신되죠 ..

비트맵수준에서의 가속은 아닐 듯 합니다 ;)

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

정태영의 이미지

아 그리고 하나 더.. 커맨드 옵션 = 혹은 커맨드 옵션 - 를 누를 경우.. 화면 전체가 확대됩니다 :) 시력에 장애가 있는 사람등을 위한 기능 같던데.. 이런 경우에도 벡터기반 그래픽모델의 장점이 나오는거겠죠 :)

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

죠커의 이미지

logout wrote:
데스크탑에 벡터 그래픽을 도입하는 이유는 쉽게 생각하면 이렇습니다... 요즘은 워낙 그래픽 하드웨어 기술이 발전하다보니 이제는 3D 가속기능도 일반화가 되었습니다. 이것이 처음에는 게임에 주로 사용되었었는데... 일견 생각해보면 굳이 게임에만 비싼 그래픽 카드 하드웨어 자원을 쓰기에는 좀 아깝더라는 것이지요.

이론적으로 평면을 만들어서 뿌리면 3D만으로 처리가 가능하기 때문에 2D 파트는 배제할려는 분위기로 알고 있습니다. 그래픽 벤더들은 지속적으로 2D 지원을 중단해 줄 것을 요구한다고 합니다. (비용의 문제이겠지요.) PS1의 덜 떨어진 2D 능력이나 공식적으로는 Direct X에서 2D가 배제된 것이 그러한 이유로 알고 있습니다.

앞으로 몇세대만 지나면 순수 2D 하드웨어는 범용 PC에서는 찾기가 어려워지지 않을까 싶습니다. 어차피 3D 특성을 사용하는 방향으로 갈테니 지금의 시도는 타당해보입니다. :-)

익명 사용자의 이미지

냠... mplayer나 qucktime등의 화면이 익스포제나 dock에서 실시간으로 변하는것은 아마도 비디오램상에 보이지 않는 화면을 만들어서 그곳에 그린 다음 보이는 화면에 축소 복사를 하거나 아니면 보이는 화면에 평면 폴리곤을 뿌리고 그에 해당하는 텍스쳐로 쓴다던가 하는 방식으로 구현할 수 있습니다.(이는 그래픽카드의 가속을 이용해서 고속으로 처리할 수 있습니다 아마 quartz도 이런식으로 구현한것이라 생각합니다.)

물론 보이지 않는 표면에 그릴 때 벡터 그래픽으로 그려야 할 필요가 있는 그림들은 벡터 그래픽으로 그리겠지요.

그런데 제가 알기로는 현재 그래픽 가속 카드들은 벡터 그래픽에 대한 가속의 지원이 없는것으로 알고있습니다. (혹시 가속 기능이 있다면 지적해주세요 :oops: )

결국 곡선이라던가 하는 벡터 그래픽 처리부분은 CPU가 그 부담을 떠안아야하는 부분이지 그래픽 카드의 가속이 해결해 주는 부분이 아니라는 이야기입니다.

결국 정리하면
익스포제나 dock같은 경우엔 그래픽 카드의 비트맵 처리 가속을 이용한 기능이고, 벡터 그래픽 처리는 CPU가 처리하는 부분이지 그래픽 카드가 가속해주는 부분이 아니다.
정도가 되겠습니다

제가 기대하는 바는 벡터 그래픽으로 옮겨감과 동시에 그래픽 카드 가속 기능을 충분히 이용 가능한 X서버가 나와주었으면 하는 정도입니다 8)

FrogLamb의 이미지

켁... 위에있는 글 제가쓴겁니다. 글 쓰기 전에 분명 로그인했는데 도중에 세션 정보가 날아갔나보군요 :?

----------------------------------------
Kwonjin Jeong

segfault의 이미지

CPU만으로 그래픽 처리를 하는것보다 3D 가속을 쓰는 것이 적어도 blitting 속도면에서는 훨씬 이득이 됩니다.

이것만으로도 3D 가속을 쓰는데 메리트는 충분한 셈이죠.

FrogLamb의 이미지

babjo87 wrote:
CPU만으로 그래픽 처리를 하는것보다 3D 가속을 쓰는 것이 적어도 blitting 속도면에서는 훨씬 이득이 됩니다.

이것만으로도 3D 가속을 쓰는데 메리트는 충분한 셈이죠.

그렇죠... 제발 리눅스 X서버들도 그래픽 카드 가속을 적극적으로 이용해줬으면...

파폭 띄워놓고 창 드래그했다고 CPU점유율 50%에 육박하는거 보면 가슴이 아파요 :?

----------------------------------------
Kwonjin Jeong

익명 사용자의 이미지

FrogLamb wrote:
babjo87 wrote:
CPU만으로 그래픽 처리를 하는것보다 3D 가속을 쓰는 것이 적어도 blitting 속도면에서는 훨씬 이득이 됩니다.

이것만으로도 3D 가속을 쓰는데 메리트는 충분한 셈이죠.

그렇죠... 제발 리눅스 X서버들도 그래픽 카드 가속을 적극적으로 이용해줬으면...

파폭 띄워놓고 창 드래그했다고 CPU점유율 50%에 육박하는거 보면 가슴이 아파요 :?


방금 ms win xp 에서 파폭 띄우고 드래그 했는데 cpu 점유율 50%이상 88%까지 뛰었습니다.
가슴 아니 아프셔도 되겠습뉘다.
죠커의 이미지

무단포옹 wrote:
방금 ms win xp 에서 파폭 띄우고 드래그 했는데 cpu 점유율 50%이상 88%까지 뛰었습니다.
가슴 아니 아프셔도 되겠습뉘다.

윈도우 환경에서 파이어 폭스로 연 일부 페이지가 매우 높은 메모리 점유를 보이는 것 같더군요.

지인이 당한 페이지들을 정리해서 올려볼려고 합니다.