몇몇 연구기관에서 발표한 바로는 두개의 모니터를 쓰면 적게는 10%에서 많게는 75%까지 생산성이 높아진다고 합니다. 이런 연구 결과를 토대로 많은 개발자들이 회사에 모니터를 하나 더 사달라고 하는게 붐이었지요. 저의 경우도 회사에서 데스크탑과 모니터 두개로 작업하다가 집에서 노트북으로 이어서 작업할려고 하면 참 갑갑하기 그지 없습니다.
그런데 어느날 사무실을 둘러보는 중 퇴사자 책상에 있던 새 모니터 한대가 그냥 놀고 있는게 보였습니다. 그래서 혹시 모니터 3개를 사용할 수는 없을까? 하고 생각해 보았습니다. 인터넷을 찾아보니 실제로 세개의 모니터를 사용하는 사람들이 있더군요. 최근에 나오는 그래픽 카드들은 3개 혹은 4개의 모니터를 지원하는 제품들도 있습니다. 그래서 위 사진처럼 3개의 모니터를 연결하면 실감나는 서라운드 화면을 즐길 수 있습니다.
제가 그동안 사용해 온 그래픽 카드는 nVIDIA의 GTX550Ti 제품입니다. 무난한 성능을 가진 보급형 카드로 두개의 모니터를 지원하는 제품입니다. 그래서 3개의 모니터를 위해서는 그래픽 카드를 교체해야 했습니다. 조사를 해 보니 3개의 모니터를 제공하는 그래픽 카드 중에서 가장 보편적인 제품이 GTX650이더군요. 다음날 용산에 가서 바로 질렀습니다.
제 회사 컴퓨터의 OS는 리눅스 민트입니다. 그러므로 리눅스를 기준으로 설명 드리겠습니다. 기존에도 nVIDIA 그래픽 카드를 사용했으므로 별다른 설치 없이 설정을 할 수 있습니다. 메뉴에서 "NVIDIA X Server Settings"를 선택하여 실행하고 다음 화면과 같은 식으로 모니터를 배치하면 됩니다. Primary Display를 지정하면 그 모니터에 하단 메뉴바가 나옵니다.
3개의 모니터를 사용하니 아주 편하더군요. 오른쪽 모니터는 NetBeans와 같은 개발 편집 도구를 띄워놓고, 가운데 모니터에는 참고 문서나 웹 브라우저를 띄워 놓습니다. 왼쪽 모니터에는 실행하는 프로그램의 로그를 출력합니다. 이렇게 배치하니 원하는 프로그램들이 가리지 않고 모두 노출되어 작업이 매우 편하더군요. 만세~ 를 불렀습니다.
최신 드라이버 설치하여 성능 향상
그런데 뭔가 상당히 화면이 버벅대는 느낌이 들더군요. 그리고 가끔 사용하는 3D 캐드의 성능이 GTX550Ti를 사용할 때에 비해서 훨씬 느려진 것을 확인할 수 있었습니다. 리눅스는 3D 엔진으로 OpenGL을 사용하고 있는데, OpenGL의 성능을 체크할 수 있는 glmark2를 이용하여 객관적인 성능 수치를 뽑을 수 있습니다.
커맨드라인에서 glmark2를 실행하면 다음과 같이 여러가지 3D 도형이 나타나면서 성능을 측정하게 됩니다. 대략 5분 정도 소요되니 끝날 때까지 기다리세요.
리눅스 민트에서 기본으로 제공되는 nVIDIA 드라이버를 이용하여 glmark2를 실행한 결과입니다.
=======================================================
glmark2 2012.08
=======================================================
OpenGL Information
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce GTX 650/PCIe/SSE2
GL_VERSION: 4.3.0 NVIDIA 313.30
=======================================================
[build] use-vbo=false: FPS: 578 FrameTime: 1.730 ms
[build] use-vbo=true: FPS: 725 FrameTime: 1.379 ms
[texture] texture-filter=nearest: FPS: 579 FrameTime: 1.727 ms
[texture] texture-filter=linear: FPS: 583 FrameTime: 1.715 ms
[texture] texture-filter=mipmap: FPS: 628 FrameTime: 1.592 ms
[shading] shading=gouraud: FPS: 475 FrameTime: 2.105 ms
[shading] shading=blinn-phong-inf: FPS: 439 FrameTime: 2.278 ms
[shading] shading=phong: FPS: 513 FrameTime: 1.949 ms
[bump] bump-render=high-poly: FPS: 417 FrameTime: 2.398 ms
[bump] bump-render=normals: FPS: 765 FrameTime: 1.307 ms
[bump] bump-render=height: FPS: 747 FrameTime: 1.339 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 415 FrameTime: 2.410 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 379 FrameTime: 2.639 ms
[pulsar] light=false:quads=5:texture=false: FPS: 601 FrameTime: 1.664 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 238 FrameTime: 4.202 ms
[desktop] effect=shadow:windows=4: FPS: 234 FrameTime: 4.274 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 491 FrameTime: 2.037 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 413 FrameTime: 2.421 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 477 FrameTime: 2.096 ms
[ideas] speed=duration: FPS: 443 FrameTime: 2.257 ms
[jellyfish] <default>: FPS: 296 FrameTime: 3.378 ms
[terrain] <default>: FPS: 68 FrameTime: 14.706 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 526 FrameTime: 1.901 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 515 FrameTime: 1.942 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 495 FrameTime: 2.020 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 464 FrameTime: 2.155 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 480 FrameTime: 2.083 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 435 FrameTime: 2.299 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 478 FrameTime: 2.092 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 477 FrameTime: 2.096 ms
=======================================================
glmark2 Score: 479
=======================================================
nVIDIA의 최신 드라이버는 nVIDIA로부터 다운로드 받아 설치할 수도 있습니다만... 꽤나 번거롭고 실패할 확률도 제법 있습니다. 저 또한 그런 경험이 있구요. 가장 쉬운 방법은 최신 드라이버와 최신 X서버 시스템을 제공하는 개발팀으로부터 업데이트를 받는 것입니다. 저는 "xorg crack pusher" 팀의 "xorg-edgers"를 설치해 봤습니다. 이 패치는 우분투 계열의 버전 12.04 이후에서만 설치 가능합니다.
설치 방법은 다음과 같습니다.
sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update
sudo apt-get install xorg-server
그런데 실제로 설치할 때 기록을 남기지 않고 기억에 의존하여 작성하는 글이니 디테일이 약간 다를 수 있습니다. 자세한 설치에 대한 자세한 문서는 다음 URL을 참고하세요. https://launchpad.net/~xorg-edgers/+archive/ppa
그러면 과연 얼마나 성능이 좋아졌을까요? 다시 glmark2를 돌려보니 다음과 같이 나옵니다.
=======================================================
glmark2 2012.08
=======================================================
OpenGL Information
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce GTX 650/PCIe/SSE2
GL_VERSION: 4.4.0 NVIDIA 331.20
=======================================================
[build] use-vbo=false: FPS: 2516 FrameTime: 0.397 ms
[build] use-vbo=true: FPS: 5179 FrameTime: 0.193 ms
[texture] texture-filter=nearest: FPS: 3583 FrameTime: 0.279 ms
[texture] texture-filter=linear: FPS: 3722 FrameTime: 0.269 ms
[texture] texture-filter=mipmap: FPS: 4311 FrameTime: 0.232 ms
[shading] shading=gouraud: FPS: 3544 FrameTime: 0.282 ms
[shading] shading=blinn-phong-inf: FPS: 4000 FrameTime: 0.250 ms
[shading] shading=phong: FPS: 3563 FrameTime: 0.281 ms
[bump] bump-render=high-poly: FPS: 2201 FrameTime: 0.454 ms
[bump] bump-render=normals: FPS: 3852 FrameTime: 0.260 ms
[bump] bump-render=height: FPS: 3618 FrameTime: 0.276 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 3406 FrameTime: 0.294 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 1944 FrameTime: 0.514 ms
[pulsar] light=false:quads=5:texture=false: FPS: 3028 FrameTime: 0.330 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 1319 FrameTime: 0.758 ms
[desktop] effect=shadow:windows=4: FPS: 1862 FrameTime: 0.537 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1065 FrameTime: 0.939 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 1339 FrameTime: 0.747 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1167 FrameTime: 0.857 ms
[ideas] speed=duration: FPS: 2411 FrameTime: 0.415 ms
[jellyfish] <default>: FPS: 1761 FrameTime: 0.568 ms
[terrain] <default>: FPS: 326 FrameTime: 3.067 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 4111 FrameTime: 0.243 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 3599 FrameTime: 0.278 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 4068 FrameTime: 0.246 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 3990 FrameTime: 0.251 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 4108 FrameTime: 0.243 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 4778 FrameTime: 0.209 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 4158 FrameTime: 0.241 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 4226 FrameTime: 0.237 ms
=======================================================
glmark2 Score: 3091
=======================================================
이렇게 해서 모니터도 3개 연결하여 잘 쓰고 있고, 예전에 비해 그래픽 성능도 많이 좋아져서 매우 만족하고 있습니다.
매일 업데이트 되지 않게 하려면...
그런데 xorg-edgers 패키지 제공자는 개발용이라 매일 업데이트가 됩니다. 그래서 매일 업데이트하라는 메시지가 떠서 번거롭습니다. 그래서 일단 한번 설치하고 나서 잘 돌아간다면 더 이상 업데이트가 되지 않도록 하는게 편합니다.
시냅틱 패키지 관리자를 띄워서 "설정" 메뉴의 "저장소"를 클릭합니다. 그러면 아래 그림과 같이 조금전 추가한 xorg-edgers 저장소를 볼 수 있습니다. xorg-edgers에 해당하는 두개의 저장소에 대해 사용한다는 체크 표시를 해제하고 "확인"을 누르면 더 이상 업데이트되지 않습니다.
혹은 같은 팀에서 배포하는 안정화 버전 저장소(PPA) "ubuntu-x-swat"을 사용해도 됩니다. 지원하는 우분투 버전을 잘 따라가지 못한다는 평이 있으니 해보시고 안되면 xorg-edgers로 갈아타시면 됩니다. 자세한 내용은 다음 링크를 확인하세요. https://launchpad.net/~ubuntu-x-swat/+archive/x-updates
댓글 없음:
댓글 쓰기