X 윈도우가 느린 이유

temu의 이미지

해를 거듭하면서 리눅스의 GUI도 참 많이 발전했구나 하는
생각을 했습니다. 모양도 화려해졌고 편의성도 많이 증대되었고요.
그러나 왜 X윈도의 속도는 전혀 개선되지 않는가라는 궁금점이
생기더라구요. 오히려 속도는 갈수록 느려진다는 느낌이었습니다.
너무 무겁게 느껴졌고 순간적으로 반응하는 속도도 많이 느린것같습니다.
여러 게시판에 질문해봐도 대개 윈도 매니져를 xfce로 바꿔쓰라는 대답뿐이
었습니다. 또는 `데스크탑 운영체제(win xp)와 서버 운영체제(linux)를 비교
하기에는 문제가 있다.` 라고 하더라구요. 우분투가 데스크탑을 대상으로한
리눅스 개발에 주력하는 상황에서 틀린말이 아닐까 싶고, 느리다는게 결국
은 win xp랑 비교했을때를 말하는건데 xfce랑 winxp를 비교하기는 좀 그렇더
라구요.

지금까지 찾아본 x가 느린것의 여러 의견은
1. 서버/클라이언트 형태의 X의 구조
(반면 윈도는 다이렉트 렌더링방식이라죠)
2. xlib의 비효율적인 구현방식
3. 범용 컴파일러인 gcc의 속도문제
4. 비디오 드라이버의 문제
이렇게 나눠서 보고 있던데 혹시 외국 포럼이나 이런곳에서도 문제화된적
이 있었나요? 영어가 된다면 우분투 개발자들이나 freedesktop에 질문하고
싶지만 영어가 짧기 때문에 좀 그러네요.

무단포옹의 이미지

전 느린지 모르겠더군요.

일단 케케묵은 질문이라 케케묵은(?) 기존 글을 올립니다.
중간에 훼방글이 있으니 가려보시기 바랍니다.

http://kldp.org/node/55936

semjase의 이미지

저도 무단포옹님처럼 무딘 성격을 가졌으면 어땠을까란 생각을 잠시해봅니다.
누가봐도 느린데 느리지않다고 생각하는건 어떤 이유에서일까요?
느린 이유는 이미 다 나와있는데도 말입니다.

1. 무단포옹님의 하드웨어가 엄청 빵빵해서 속도차이를 못느낀다.
2. 뭐 그까이꺼 느려봐야 거기서 거기지.. 10분안에만 뜨면 되는거 아이가~ 하는 느긋한 성격
3. 윈도우즈를 아예 써보지않아서 비교불능
4. 속도에 아예 관심조차 없다. 빠르면 빠른거고 느리면 느린거지..
5. 그냥 맘 내키는데로 댓글단다.
6. 리눅스에 대한 경외감때문 (똑같은 hello world 프로그램을 짜도 리눅스쪽이 더 멋져보인다)

(갑자기 이야기가 딴데로 새네?)
실례됐다면 죄송합니다. 갑자기 생각나서요..

참고로 저의 사양은 AMD 1G, 512ram, ATI Radeon9000Pro입니다. 윈도우XP와 우분투 대퍼를 멀티로 부팅해서 쓰는데
차이가 상당히 많이 느껴집니다.

.

뿌직의 이미지

완전 낚시성 글이군요...

litestep, windowBlinds, rainmeter...기타등등 깔아놓고 "winXP 왜 이렇게 느려?" 하는것고 같은 맹락...

===========
`0-
-0`

--------------------------
`0-
-0`

warpdory의 이미지

별로 느린 것 못 느끼겠습니다. 퀘이크 3 나 둠 3 를 해도 ... 윈도즈랑 별 차이 없거든요.
저희집에서 윈도즈가 깔린 시스템 사양은 ...
AMD Athlon XP 2500+ 램 1G, ATi Radeon 9550 pro 이고.. 윈도즈 XP 와 OS/2 eCS 1.2 가 깔려 있습니다.
리눅스가 깔린 시스템 사양은 ...
AMD 베니스 3000+, 램 512 MB, nVIdia 6600 GT 이고... 우분투 대퍼 를 쓰고 있습니다. 기본 윈도 매니저로는 그놈하고 KDE 를 번갈아 가며 쓰고 있습니다.

두대의 속도 차이는 별로 없습니다. 윈도즈든 OS/2 든, 리눅스든 ...

제 생각에는 semjase 님께서 질문하시는 글들로 봐서 ATi 드라이버가 제대로 안 깔려서 그런 것 같습니다. nVidia 의 경우도 기본적으로 xorg 에서 지원하는 nv 드라이버와, nvidia 의 독점 드라이버의 성능차이가 상당하거든요. 퀘이크나 둠에서 프레임 수를 측정해 보면 거의 2배 nvidia 독점 드라이버가 빠릅니다. - 실제로 프레임수를 측정해보면 ATi 9550 보다 nvidia 6600 GT 가 역시 또 한 1.5 배 이상 빠르다고 나옵니다. 하지만, 메모리가 512MB 이므로 한꺼번에 이것 저것 실행시키면 아무래도 메모리 1 기가 짜리 녀석보다는 버벅일 때가 있어서 .. 단순 비교는 좀 어렵습니다.
그러면 윈도즈에서 512 MB 를 떼고 측정하면 될 것 아닌가 .. 싶겠지만, 제가 시뮬레이션 용으로 쓰는 프로그램 중 하나가 최소 사양이 512 MB 라서 ... 그 프로그램 돌리려면 1 기가 이상은 있어야 하기 때문에 메모리 떼고 붙이기는 ... 귀찮아서라도 안합니다.

---------
즐겁게 놀아보자.
http://akpil.egloos.com
---------
트롤 출현시 대처요령 (phpBB 용)
불여우 1.5.x ;
http://www.extensionsmirror.nl/index.php?showtopic=4814&st=0&p=16579&#entry16579


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

pok의 이미지

xgl 등은 써보셨나요?
제 친구 카드는 i810인데 그 구린 그래픽 카드에서 aiglx와 compiz가 돌아가는 모습은 가히 환상입니다. 저도 윈도가 더 좋은구조라고 생각했든데, 최근 그 생각이 완전히 바뀌었습니다.

compiz 써보고 나서 윈도를 사용하면 심심하더군요. 이미 compiz는 비스타급이라고 생각합니다. 효과는 비스타급인데, 속도가 윈도xp와 동급이라면 당연히 리눅스편을 들어주고 싶군요.

그리고 효과등도 compiz-quine경우에는 빠른 속도로 증가하고 있습니다.
굉장히 매력적이구요.

속도차가 유독 심하게 느껴진다면, 저도 아마 ATI 드라이버 문제때문이지 않을까 생각해보네요. intel은 예상과 다르게 오픈소스 드라이버에 상당히 적극적이라고 들었거든요.

zelon의 이미지

으음... 그렇다면 저도 제대로 세팅을 못해서 그런건가 보네요. 그리고 앞의 분이 퀘이크나 둠3 등을 언급하셨는데, 포스팅을 하신분의 의견은 아마도 일반 응용프로그램에서의 반응 속도를 말씀하시는 것 같습니다.

예를 들면 firefox 에서 오른쪽 버튼을 눌러서 팝업 메뉴를 띄우거나, gnome 의 바탕화면에서 오른쪽 버튼을 눌렀을 때 팝업메뉴가 뜰 때의 반응속도, 윈도우를 드래그하여 움직일 때의 반응 속도를 말씀하시는 것 같습니다. 저는 이런 반응속도에서 차이를 많이 느낍니다. 물론 같은 하드웨어에서 윈도우XP 와 우분투를 깔았을 때의 속도 차이입니다.

그렇다면 제대로 드라이버 세팅만 되어 있으면 다들 속도차이를 잘 못 느끼시는 건가요? 여기서 비교는 가벼운 데스크탑 xfce 와 윈도우XP 의 비교가 아니라, (gnome or kde) vs 윈도우XP 의 일반 응용프로그램을 말씀드리는 겁니다.

http://www.wimy.com

-----------------------------------------------------------------------
GPL 오픈소스 윈도우용 이미지 뷰어 ZViewer - http://zviewer.wimy.com
블로그 : http://blog.wimy.com

lacovnk의 이미지

gentoo, fglrx 사용 못하고 있습니다 -o- (radeon으로 사용중..) kde, P4 1.7G, 1G DDR입니다. 최고 성능으로 해놓고 씁니다. (대부분 효과 제거) MS Windows도 대부분 효과 제거해서 쓰니 비슷한 셈이죠..

1. 컨커러 뜨는 속도는 윈도우 탐색기와 비슷합니다. 우클릭으로 팝업메뉴도 마찬가지고요..

2. 파폭의 팝업 메뉴는 바로 뜬다는 느낌은 안듭니다만.. 탭 전환은 너무 느립니다. 큰 페이지 읽어들일 때도 잠시 먹통도 되고.. (이건 누굴 탓해야 할지 ㅎ)

그리고 파폭에서 새탭 띄우고 바로 url치면 앞부분 잘라먹습니다. 이런 문제가 좀 짜증나죠.. (역시 누구 탓일까..)

3. 윈도우 드래그 할때 잘 따라다닙니다. 어차피 내용은 잘 안보이니까.. 문제는 창을 놓았을 때 그려지는 속도가 느립니다..

4. konsole이든 terminal(xfce)이든 gnome-terminal이든.. 스크롤 속도가 MS Windows의 putty보다 못합니다. 예전보다 나아지긴 했는데.. 그래도 -o-

음.. 또 어떤 경우가 있을까요? 저야 하는 게 별로 없다보니..^^;

warpdory의 이미지

제 경우, 위에 썼듯이, xorg 기본 내장 nv 에서는 그럭저럭 느리다고 느꼈었지만, nvidia 독점 드라이버를 사용한 다음에는 느리다고 느낀 적이 없습니다.

gnome 에 온갖 잡다한 테마 + 등등 이고, 윈도즈 XP 는 모든 효과를 죽인 상태입니다만, 별다른 차이를 못 느낍니다.

---------
즐겁게 놀아보자.
http://akpil.egloos.com
---------
트롤 출현시 대처요령 (phpBB 용)
불여우 1.5.x ;
http://www.extensionsmirror.nl/index.php?showtopic=4814&st=0&p=16579&#entry16579


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

lacovnk의 이미지

어라 아까 글 달았던 것 같은데 -o-; 사라졌군요.

일단 어느 부분이 느린 것인지 성능 측정 결과가 필요합니다.

예를 들면, alt+tab의 화면 전환 속도, 키보드 응답 속도... 등 다른 척도가 있겠지요.
또 다르게 생각해보면, KDE 어플끼리 붙었을 경우, 다른 WM의 어플들이 상호작용하는 경우.. 도 따져봐야겠지요.

그렇게 성능 측정치가 나와야 어디가 병목인 줄 알고, 어떻게 고칠수 있다... 가 나올 수 있는 겁니다.

wine 같은 경우 특정 부분에서는 MS windows 환경보다 더 나은 성능을 보여주고, 어디에서는 크게 떨어지고.. 하는 결과가 나왔었지요. (찾을수가 ㅠㅠ)

덧..

그래픽 드라이버가 중요합니다.. vesa에서 via로 잡아줬더니 firefox 스크롤이 달라집니다 -o- (ubuntu 느려..하고 있었는데; )

cinsk의 이미지

이런 내용이 자주 올라오는데 몇가지 짚고 넘어갈게 있는 것 같아서 글을 올립니다.

첫째. X의 server/client 구조가 나쁜? 설계 방식으로 인식하는데, 전혀 그렇지 않습니다. 오히려 추천할 설계 방식이죠. 단순히 한 클라이언트에서 원격으로 접속하는 것 이상으로, 한 X server에 접속해서 N명이 동시에 xscrabble을 즐긴다거나, 한 Emacs를 띄워 놓고, 창을 여러 client에 띄워서 작업한다거나 하는 작업이 가능합니다. 물론 여러 명이 동시에 작업할 수 있는 디자인 목적과는 달리, 개인용으로 한 PC에서 혼자 쓰기 때문에 이러한 기능의 필요성을 못 느낄 수는 있겠지만, 이러한 기능을 자주 쓰는 사람들에게는 이 server/client 구조는 없어서는 안될 필수 요소입니다.

둘째, X의 server/client 구조는 client가 local에 있을 경우 unix domain socket을 씁니다. 상대적으로 느리다고 하기에는 무리가 있습니다. 인기있는 폰트 서버인 xfs도 tcp, unix domain socket 모두 지원합니다. 이 방식의 장점은 폰트를 한 X 서버에 모조리 몰아 두고, 다른 X 서버에서는 단순히 이 폰트를 가져다 쓰게 할 수 있다는 것입니다. N개의 폰트를 M개의 Windows에서 쓰기 위해서 N * M의 크기가 필요한 것에 비하면 X Window System에서는 N개의 폰트를 1개의 server에 설치하고 공유할 수 있습니다.

세째, 요사이 X는 DRI(3d graphics), DGA(direct frame buffer access) 등의 확장 기능을 제공하기 때문에, 빠른 그래픽 처리가 요구되는 application들도 충분히 지원 가능합니다.

네째, 그래픽 드라이버의 성능이 떨어진다는 것과 X가 느리다는 것과는 전혀 다른 문제입니다. 이 것은 그래픽 하드웨어를 제공하는 vendor에 따라 얼마든지 달라질 수 있는 것이기 때문에, 문제가 생길 경우, X가 무조건 비난을 받을 필요가 없습니다. 사실 현실적으로 말해서, Linux를 제대로 지원하는 하드웨어 vendor들의 수는 열세입니다. 제대로 spec을 공개하지 않거나 해서 하드웨어의 성능을 충분히 지원하지 못하는 디바이스 드라이버가 있을 가능성도 배제할 수는 없습니다. 가능하면 처음 하드웨어를 마련할때, Linux를 잘 지원하는 하드웨어(예: Nvidia)를 선택하는 것이 여러 모로 좋을 것입니다.

다섯째. GCC의 속도 문제에 대해서는 아는 바가 없기 때문에 no comment입니다. :) 사실 GCC의 속도를 모른다기 보다는, 다른 컴파일러를 충분히 써 본 적이 없기 때문에 비교하기가 힘들군요. 하지만, 컴파일러가 느린 코드를 만들어 낸다는 것은 가장 마지막에 비난해야 할 것입니다. 오히려 코드를 비효율적으로 작성했다거나 하는 경우가 훨씬 더 많겠죠. 그리고 이미 빠른 속도로 동작하는 프로그램도 GCC로 작성된 것을 보면, GCC가 느리다고 하는 것은 flame을 유발하기 좋은 주제인것 같습니다.

위와 같은 여러 이유에서, 단순히 X가 느리다고 하는 것은 (X가 빠르다고 느끼는 분들도 많기 때문에) 많은 사람들의 동의를 얻기도 힘들고, 도움을 얻기가 힘듭니다. X가 느린 것인지, 폰트 처리가 느린 것인지 (비트맵, 트루 타입 등), GTK 라이브러리가 느린 것인지, Gnome이 느린 것인지, Qt가 느린 것인지, KDE가 느린 것인지, 아니면 특정 application이 느린 것인지 등을 알고 나서, 정확히 어떤 놈이 느린 것인지 알아야 문제 해결에 도움이 될 것 같다는 생각이 듭니다.

--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/

harderthan의 이미지

X윈도우 시스템의 단점에 대한 포스팅을 찾고 있었는데, 관련 내용 명확히 이해 되었습니다.
감사합니다.

익명 사용자의 이미지

노파심에 하는 말인데, 부디 저기 저 내용을 원 글 그대로 받아들이지 마시고 현재 상황이 어떻게 되었는지는 확인해 보시기 바랍니다. 12년 동안 X 윈도우의 세계가 안 바뀌었을 것이라고 생각하시나요? 날짜를 제발 확인하세요.

joone의 이미지

오래된 글이 다시 살아났군요. GPU가속이 기본이 되면서 X역할이 브로커 수준으로 역할이 축소되었고, 사실상 X가 제공하는 2D기능은 실제 사용이 안됩니다. 그때문에 Wayland가 나온 것이죠.
아래 글에 자세한 설명이 나왔습니다.

https://wayland.freedesktop.org/docs/html/ch03.html#sect-Wayland-Architecture-wayland_architecture

황병희의 이미지

요즘 전 Wayland 에서 매일매일 희망을 느낍니다.
아직 레거시가 있지만 시간이 흐르매 미래의 리눅스 그래픽은 모두다 Wayland 위에서 노래부를거 같아요~

다시 한번 감사드립니다^^^

리눅스 팬 황병희 드림

[크롬북에서 적었어요~]

--
^고맙습니다 감사합니다_^))//

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.