[Windows7 DirectX Control Panel]

 

Win7 운영체제에서 dxdiag 명령어를 이용해 하드웨어 가속을 조절하려고 보니 불가능했다.

알고 보니, Win 7 들어오면서 자동으로' 최대 사용'에 맞춰 조정한단다.

그래서 뚫는 방법을 찾았다. 구글: 구하라 그리하면 아마 주실 껄?

 

 

Microsoft DX SDK

이전 윈도우즈처럼 하드웨어 가속을 조절할 수 있게 만들어주는 것이 있었다.

용량이 거의 580MB 정도.

개인적으로 가속을 켜고 끄는 것만 사용할 줄 아는데, 이렇게 무거운 게 필요한가 싶었다.

(아무튼 필요할지도 모르겠다 싶어서 마소 정식 배포 링크는 걸어둠)

 

 

Microsoft DirectX Control Panel 9.0c Build 5.04.00.3900

또 찾았봤더니, 역시 SDK와 동일한 기능을 하는 가벼운 툴이 있었다.

용량은 132KB. (용량 단위 틀린 거 아님. KB 맞음) 압출 풀고 directx.cpl을 실행시키면 된다.

 

 

 

개인적으로 다이렉트 가속을 조절한다고 하면 3D 가속과 Draw 가속 두 부분의 사용 유무를 조정해주고 있다.

레드박스 항목을 체크 해제하면 꺼지고, 체크하면 켜진다.

두 가속 항목을 선택/해제할 때 '실행 - Dxdiag'를 실행시켜보면 제대로 적용되고 있는지 확인할 수 있다.

 

 

또는 툴로 바로 Dxdiag를 실행 시킬 수도 있다.

 

 

둘 다 해제

 

Draw만 해제 (Draw 가속 '사용'/ 3D 가속 '사용 안 함'도 가능)

 

 

원래 이 포스트는 개인적으로 '하드웨어 가속'을 활용하고 있음을 소개하려고 작성했었다.

작성을 하다보니 객관성이 너무 부족하고 경험만을 진술한 글이 되다보니

글이 늘어지게 되고 포인트에서 멀어진 혼란스러운 글이 되어 장문의 본문을 폐기해야만 했다.


포스팅 전에 개념을 잡고 쉽게 설명할 수 있길 기대하면서

많은 곳에서 '하드웨어 가속'에 대한 물음을 던졌지만 답변주는 곳은 한 곳도 없었다.

(기다리다 지쳐 내가 찾겠다고 몇일 째 구글링 돌려봐도 내 검색 능력의 한계에 부딪혔다)

같은 내용으로 많은 곳에 글을 올렸는데, 여기에는 네이버 지식iN에 올린 질문을 링크 걸어보겠다.

 

네이버 지식in에 올린 질문


십수년을 '하드웨어 가속'을 활용해오면서 가진 오랜 의문이였다.

이 부분에 대해서 이해하고 난 뒤 명쾌하게 설명할 수 있게 되면 그땐 꼭 다시 포스팅해보고 싶다.

 


 

 

- 2차 수정 포스팅 내용

 

[개인적인 활용 이해]

 

그동안 어떤 답변을 주지 못하다가 얼마 전에 하나의 답변을 받았다.

답변 주신 분도 확답은 주지 못했지만, 그래도 개인적으로는 개념을 조금이라도 잡을 수 있어서 고마웠다.

여기서부터는 그 답변을 바탕으로 개인적으로 개념을 정리해 본 파트가 되겠다.

그리고 개인적으로 활용하고 있는 방안에 대해서 적은 글로써 다른 이에게 권하는 바가 아님을 알린다.

행여 틀렸다거나 바로 잡을 부분이 보인다하면 수정을 도와주면 감사하겠다.

 

 

개인적으로는 아주 오래 전부터 (십수년 전 중딩이 레인보우식스 시리즈를 시작하면서부터)

FPS 게임을 할 때는 하드웨어 가속을 끄고 하고 있다. 가속을 끌 때 판정 반응이 더 빠르게 오는 걸 느꼈다.

오래전 어린 놈이 좀 더 잘해보려고 (정당히 유리해지려다가) 하다가 우연히 발견한 설정법인데,

십수년을 활용해오다보니 이제와서는 '습관'이다. 이제와선 이 활용없이는 게임이 안되는 수준으로 의존한다.

(이 어린 시기에 개인적으로 정립한 설정법이라면, FPS 게임은 닥치고 All Low... 뭐 이런 것도 있고;;)

 

적용했던 게임을 들면 레인보우식스 (~레이븐쉴드까지했었음)/ 스페셜포스1,2/ 서든어택(초기 베타 잠시)/

그리고 지금하고 있는 카운터스트라이크:글로벌오펜시브가 대표적인 적용 게임이 되겠다.

개인 게임 취향은, 보면 알겠지만 게임 규모가 넓은 필드에서 경쟁하는 (베틀필드 등) 게 아니라

일정 소규모 박스에 가둬두고 빠른 반응을 경쟁하는 형태의 게임이다.

그래서 아직 베필 시리즈는 단 한번도 해볼 생각도 없어왔고 테스트도 못해봐서 해당이 되는지 모르겠다.

추측은, 권장사양이 그리 높지 않게 하는 것도 하드웨어 가속 유무에 영향을 미치는 요소일 것 같다.

게임을 풀옵으로 하지 않는 것처럼, 옵션을 낮춰서 GPU 사용 비중을 낮추는 것도

효과가 드러내게 하는데 중요한 역할을 하는 것으로 보인다. (추측일 뿐)

 

질문에 답변주신 분의 말로는,

그래픽 연산처리는 CPU보다 GPU가 훨씬 빠르기 때문에 그래픽 연산처리를 GPU가 담당하고

CPU와 GPU를 동시에 사용하는 분산작업이 일반적이다고 한다.

이 분산작업은 마지막에 또 CPU를 거쳐 마침내 온전한 출력물로 나오는데

이 작업 사이에 일어나는 현상(딜레이)를 '오버헤드'라고 한단다.

자연스러운 현상이고, GPU의 연산 속도가 상대적으로 (월등히) 빠르다보니 오버헤드 현상이 생긴단들

단순 (GPU 가속 없는)CPU 연산처리보다 압도적으로 빠르기 때문에 무시해도 된다는 것으로 알아들었다.

(GPU/CPU 사용 개념을 쉽게 이해하려면, GPU는 한 이미지 한장 전체를 단번에 출력하는 형태라면

CPU는 부분 부분을 하나씩 연산처리하면서 이미지를 출력한다고 생각하면 된다.

전체 이미지 연산은 GPU>CPU/ 단순 연속 처리 속도는 GPU<CPU. 관련 영상)

 

그런데 분산작업시 딜레이가 유난히 긴 예외 프로그램이 있다고 한다.

(내가 봤을 땐 백에 하나 둘 꼴 아닌가 싶다. 개인적으론 어차피 한 종류의 게임에서만 해주고 있고)

여기 속하는 프로그램은 직접 사용 유무 조절로 알아보면 되는건데, 어려운 건 아니다.

개인적으로는 '찰나'를 경쟁하는 게임에 대해서만 '하드웨어 가속'을 활용한다.

그외 게임 외에는 좀 더 빠른 반응을 요구하는 일도 없으니 사용할 이유가 전혀 없고 말이다.

지극히 개인적인 느낌이지만 가속 유무를 비교해봤을 때 끌 때 데미지 판정이 일찍 온다고 느끼는데,

본인이 모니터를 통해서 보는 이미지 출력과 데미지 판정을 처리하는 연산 파트가 다른 것 같다.

(이미지 연산 출력은 GPU, 판정 관련되는 연산과 출력은 CPU로 나뉘는 것 같다)

그래서 GPU 가속을 끄고 CPU 연산 파트에 집중하는 게 '이득'을 보는 경우가 있는듯하다.

(모든 프로그램에 대해서 그렇다는 게 아니라, 개인적으로 그런 게임이 늘 있어왔다는 말이다)

 

 

활용법은 어려운 게 없는데, 프로그램을 실행 중에 하드웨어 가속 유무를 조절해보면 된다.

이때 하나만 기억하자면, 프로그램 실행 후 몇번이고 가속 유무 왔다갔다하는 건 좋지 않다.

한번 실행에 한번 유무를 결정하고 이후에 재시작해서 또 유무를 정해서 관찰하고 하는 게 좋다.

(관찰한다고 하면 성능이나 개인적인 느낌이나 모든 면으로 살핀다는 말)

길게 이야기 했는데 오해할지도 모르는 부분이 있으니 한마디 하면,

하드웨어 가속을 사용 안한다고 해서 게임이 GPU를 사용(인식)하지 않는다는 게 아니다.

가속 연산 부분만 GPU가 아닌 CPU에만 의존한단다고 생각하면 된다.

 

 

 

 

[CSGO 하드웨어 가속 끄기]

 

왜 굳이 글옵이라는 게임을 예로 드는지는 설명한다.

일단 내가 직접 하고 있는 게임이니 확실히 말할 수 있다는 부분도 크지만,

다른 프로그램과는 다른 좀 특이한 반응을 보이기 때문에 좋은 예시가 될 것으로 기대된다.

 

 

위에서 테스트하는 건 어려운 게 없다고 말했고, 직접 끄고 켜보면서 상황을 보면 된다고 설명했다.

보통은 '사용 안 함'하면 프로그램이 실행조차 안되는 경우가 흔하고,

이땐 가속을 '사용함' 시켜서 분산작업을 해주면 되는거다.

실행이 되더라도 화면 출력이 눈에 띄게 끊어지거나 반응이 더디게 오는 경우가 있을 수 있다.

이럴 때도 하드웨어 가속 끄는 건 해당이 안되므로 또 켜면 되는거다.

 

그런데, 글옵은 그동안 활용했던 것과는 다르다.

글옵은 처음 시작 때 반드시 켜져 있어야한다 (정확히는 3D 가속이 반드시 켜져 있어야한다).

이후엔 끄거나 켜거나 상관없이 실행이 된다.

시작할 때는 무조건 켠 상태에서 게임을 실행하고,

실행 이후에 '하드웨어 가속 사용 유무' 전환해서 관찰하면 된다.

아마 동영상 재생 시점에서 이런 하드웨어 가속을 요구 하는 경우도 있다고 혼자 추측해보고 있다.

실행 중 동영상을 재생하는 프로그램에서 하드웨어 가속을 활용해보려할 때

중요하게 체크 해가야 할 부분은,

실행 중 하드웨어 가속 사용을 요구하는 경우가 생겨서

하드웨어 가속 '사용 안 함' 상태에서 튕기고 종료되는 충돌이 있으면 절대로 안된다는 점이다.

이렇게 충돌이 일어나는 경우도 하드웨어 가속을 무조건 '사용함' 으로 해야하는 경우라고 할 수 있겠다.

다행히 글옵은 처음 시작 이외에는 도중에 하드웨어 가속을 요구하는 경우가 없어서 관찰하기 편했다.

 

 

글옵과 같은 프로그램에서 하드웨어 가속 사용 유무 확인할 때,

만약 시작시 하드웨어 가속을 '사용 안 함' 상태로 실행하면 어떠한 형태로든 충돌을 일으키게 된다.

글옵은 실행시킬 때 '사용 안 함' 상태라면 그래픽 설정이 초기화되는 충돌이 일어나게 된다.

처음에는 하드웨어 가속을 끄고 켜는 게 익숙하지 않아서 이와 같은 충돌을 자주 겪었다.

뭐, 해결방법은 어려운 게 아닌데 귀찮다.

 

해결 방법이다.

가장 먼저 시작과 동시에 튕기게 되는데 종료된 것이 아니라 그냥 화면만 출력 안되는 현상을 겪게된다.

즉, 프로세서는 켜져 있는데 도저히 화면으로 출력이 안되기 때문에 프로세서를 강제 종료시켜야한다.

Ctrl+Shift+Esc를 눌러서 작업관리자를 열고, '프로세스'탭에서 csgo.exe 프로세스를 선택해서 꺼주면 된다.

이걸 하지 않고 계속 실행시켜보려고 하면 '이미 웹이 실행 중이다'라는 메세지만 뜨고 재실행이 안될 것이다.

 

다음은

 

C:\Program Files (x86)\Steam\SteamApps\common\Counter-Strike Global Offensive\csgo\cfg

 

위 경로 폴더 안에 video.txt라는 파일에 자신의 그래픽 설정 정보가 저장되니까

이 파일을 백업해뒀다가 초기화 현상을 겪게 되면 이 파일을 복붙하고 (파일 내용이 달라지기 때문에),

이전엔 없다가 새롭게 생긴 videochange숫자때기.txt 파일을 지워주면 된다.

(비디오체인지숫자때기 파일은 초기화 현상을 겪으면 무조건 생기는 파일인데 반드시 지워줘야한다.

지우지 않으면 실행 때마다 초기화 현상을 겪게 되므로 이건 알아두면 유용하다)

 

이정도로 해결되면 귀찮다고 하지 않았을텐데.

백업하고 파일 삭제한 뒤 한번 실행시키면 다시 초기화 현상을 겪고

위와 같은 작업을 한차례 더 (그러니까 총 2회 반복 작업) 해주어야 해결된다. 여러모로 귀찮다.

몇번 귀찮은 짓하다보면 자연스럽게 글옵 종료와 동시에 다시 '사용함'으로 전환하는 게 몸에 배게 된다.

XP 운영체제까지는 Dxdiag 명령어를 실행해서 다이렉트 진단도구를 열고, 사용함/ 사용안함 정해줬다.

위에서 설명한 툴을 사용하면서부터는 이 과정이 간단해져서 다행이다.

 

 

또 다른 문제가 있는데,

간혹 이 하드웨어 가속을 켜고 끄는 과정에서 (사용함/사용안함 어느쪽이서도 나타날 수 있는 현상)

게임이 살짝 살짝 버벅이는 현상이 생길 때가 있다.

매번은 생기는 현상은 아니고,

어느 순간 버벅임 현상이 생기는데 그때부터는 지속적으로 계속 되는 현상이다.

(처음 게임하는 순간부터 버벅일 때도 있고 오래 게임하다보면 생길 때도 있고,

어떠한 경우나 상황이 만족되면 생기는 현상인지는 알아내지 못했다)

 

해결하는 방법은 어려운 게 없다.

게임을 종료하고, 하드웨어 가속을 '사용함'으로 전향한 뒤, 게임을 실행하고,

다시 하드웨어 가속 사용 유무를 선택하고 게임을 하면된다.

 

이게 웃긴게, 분명 버벅이는데 프레임 하락 변동이나 성능 하락의 어떠한 증상도 보여주지 않는다.

정말 이상한 현상이다. 게임 안에서 버벅임으로 인한 데미지 판정에 대한 불이익도 없다.

맞추면 맞는거고 데미지 판정에 딜레이도 일반적일 때와 다르다는 느낌없이 동일한 수준을 유지한다.

경우에 따라 순간을 포착하기 수월해서 게임하기 수월할 때도 있다.

장시간은 눈이 피곤하고 이질감이 심하고, 정상인 반응은 아닌듯해서

(무리 주는 건 아닌가 막연히 쫄려서) 재시작을 해주어 문제를 해결해주고는 있다. (쫄리면 뒈지던가...;;)

이런 현상(일반적인성능 하락에서 나타는 현상을 보이면서도 성능하락이 없는)은

이외 어떠한 경우에서도 본 적이 없다.

 

 

성능 모니터링에 대해서 말이 나왔으니 말인데, 각자가 다각도로 확인해보는 게 좋다.

누군가 카더라해서 그런갑다 하는 것만큼 스스로에게 무책임한 게 있을까.

잘못되면 또 남탓하고 자빠졌으니. 그렇게 생각 없이 사는 건 비웃음 당해도 싼 경우라고 생각한다.

게임 안에서 프레임 변동이나 판정 딜레이, 무엇보다 자신이 느끼는 '감'을 관찰하는 게 중요하겠다.

이건 기본이고 개인적으로 CPU/ GPU/ 심지어 보조디스크까지 PC 내부 온도까지 체크해주고 있다.

성능에 하락이 있거나 온도가 많이 상승하거나 등등 역효과가 생긴다 싶으면 적용 안하는 게 맞다.

이런 이야기 하는 건, 개인적으로 역효과가 없는 경우만 있어와서 포스팅하는 것이다.

처음 생각하기에 CPU 연산 비중이 커지면서 그쪽만 부하가 늘어나고 온도가 많이 상승하고

팬은 미친듯이 돌아갈 것 같고 걱정도 했는데, 풀로드 상태에서 밴치 떠도 전혀 차이가 안나길래 놀라웠다.

 

다시 말하지만 성능 하락이 보이면 이걸 활용하는 이유가 전혀 없어진다.

성능 하락이 보인다고 판단되면 그 순간 원래 기본인 '사용함'으로 복귀하도록 한다.

각자 PC 사양이 다르고 여러 시스템 환경이 다르고 프로그램마다 차이가 있기 때문에

유저 각자가 알아서들 확인해보는 수 밖에 없다.

 

 

 

 

[끝]

 

지금 내가 걱정하는 문제는 100명중 1명(나)만 되고 99명에 해당없는 경우이지 않을까하는 걱정이다.

개인적으로는 십수년간 개인 시스템만 수차례 바꾸면서도 늘 활용하던 셋팅인데,

매번 좋은 감을 유지해왔기에 다른 유저도 해당되지 않을까하는 막연한 기대로 작성했다.

당시 저사양 PC로 고사양을 권장하는 프로그램을 돌리기 위해서 발악하다 발견한 이후부터 오랫동안

저사양 PC에만 해당하는 활용이겠거니 여겼었는데, 지금와서는 권장 훨씬 웃돌고 폴옵 사양임에도

(나름) 사용 유무에 따라 확연한 차이를 보이기에 적어도 나에겐 큰 의미가 있는 활용 방법이다.

 

나 스스로가 객관적이고 확고한 개념을 가지고 있었다면 본문이 담백하게 작성되었겠지만,

개인적으로 활용해오던 경험(습관)에 의존해서 아주 작은 힌트만 가지고 작성하다보니 긴 글이 되었다.

(이정도 분량도 처음 포스팅 시도 때보다 굉장히 짧아진 상태다)

나 스스로 느끼기에 뒤끝이 깔끔하지 못한 포스트이다.

지금까지 길게 설명했지만, 직접 적용해 본 뒤 자신의 느낌만을 신뢰하고 소신껏 결정하도록 한다.

 

 


 

Posted by 1밀리미터
,