0. dxvk란?
dxvk는 directx9 ~ 12기반 게임을 Vulkan으로 변환시켜 실행시켜주는 호환성 레이어이다.
directx11이나 directx12같이 최신 기술로 만들어진 게임일수록 체감이 적고
directx9같은 오래된 기술로 만들어진 게임일수록 체감이 크다.
물론 기술이 오래되고 아니고를 떠나서 유지보수가 제대로 되고, 최적화가 잘 이루어진 게임이라면 체감이 적다.
유명한 사이트에서도 리뷰한 적 있음.
0. 카트라이더에서의 효과
카트라이더가 워낙 오래된 게임이기도 하고, 업데이트가 이뤄지고 있는 게임임에도 최적화가 상당히 구린 것을 다들 느낄 것이다.
DXVK의 효과는 모든 사용자마다 다르다. DXVK의 동작은 어디까지나 임시조치에 해당함을 잊지 말자.
DXVK가 제대로 적용되었을 때에 기대해볼만한 효과는 다음과 같다.
- FrameTime의 균일화로 프레임이 훨씬 부드러워보임
- 최적화가 구린 게임에서의 반응속도 개선
- 전체화면-창모드 전환시의 딜레이/프리징 감소
- 창모드/전체화면 해상도 지정, 최대 프레임 제한 등의 커스텀 여부
1. dxvk 다운로드 받기
아래 Assets 항목에서
dxvk-2.0.tar.gz 과 같이 .tar.gz 파일을 다운로드 받아 압축을 풀면 된다.
우리는 x86 게임인 카트라이더에 적용할 것이므로
압축파일 속에 있던 x32폴더에 있는 d3d9.dll 파일을 이용할 것이다.
2. 카트라이더에 적용하기
보통 카트라이더의 경로를 따로 옮기지 않았다면 다음 경로에 설치되어 있을 것이다.
C:\Nexon\KartRider
카트라이더가 설치된 경로에
아까 압축을 푼 폴더에 있던 \x32\d3d9.dll 파일을 카트라이더에 넣어주자.
그리고 카트라이더 폴더에 있는 d3d9_27.dll 파일을 지워주자. 이걸 지우지 않으면 적용이 안된다.
만약 d3d9_27.dll을 지우면 게임이 실행되지 않는다면,
- 그래픽카드 드라이버가 설치되어 있는지 확인해보고
- directX 통합설치가 되어있는지 확인해보자 (보통 이 경우)
directX 문제라면 https://www.microsoft.com/ko-kr/download/details.aspx?id=35 에서 설치하자
d3d9_27.dll은 매 업데이트 떄마다 카트라이더에서 설치하므로, 업데이트가 있었다면 바로바로 지워주는게 좋다.
이것으로 카트라이더에 적용하는 기본적인 방법인 끝이라고 볼 수 있다.
3. 추가 설정을 반영하기
아까 다운로드 받았을 압축파일에 포함되어있지 않은 항목이 있는데, 바로 dxvk.conf이다.
이 conf파일을 이용하여 dxvk의 동작을 설정할 수 있으며, 없을 경우에는 기본값으로 동작한다.
게임 창모드/전체화면에서의 해상도 크기나 수직동기화/최대프레임 제한 등의 기능을 설정할 수 있다.
게임을 조금 더 빠릿하고 쾌적하게 커스텀할 수도 있지만, 이건 모든 사용자마다 환경이 다르게 동작할 가능성이 높으므로 고급 사용자에게만 권장한다.
전체 설정에 대해서는 다음 문서를 참고하자
모든 값을 다 알 필요는 없고, 대표적으로 관심 있을법한 수직동기에 대한 항목은 다음과 같다.
해당값을 0으로 놓으면 수직동기를 해제한다.
60프레임을 타겟으로 Vsync가 동작한다. 수직동기를 60프레임에 맞춰서 걸고싶다면 이렇게 하면 된다.
마찬가지. 수직동기가 144에 맞춰서 동작한다.
4. 안전한가?
위에서 한번 말했지만,
dxvk는 엄연히 게임 구성요소를 변환시켜 실행시키는 방식이다.
따라서 로스트 아크, 소울워커, 많은 스팀게임들에서 사용이 가능하지만
오버워치, 발로런트 등의 게임에서는 사용할 경우 게임변조로 인식하여 계정 정지조치를 하기도 한다.
카트라이더의 경우에는 내가 1년 조금 넘게 사용했는데 아직 아무런 조치가 없다.
사실 게임가드에서 거르고 잡히는건데, 카트라이더의 게임가드는 아무런 조치를 하지 않는다.
따라서 dxvk를 사용하는것에 대해 안심해도 될거라고 생각하지만,
혹시 모르니 사용하는것에 대한 감수는 스스로 해야 함을 밝혀둔다.
물론, dxvk를 사용했더니 화면이 깨진다 같은 부작용이 있는 경우도 있을 수 있으므로, 적당히 사용해보자
이거 김안드가 쓰는거임
스팀 덱은 이걸로 성능 향상시킴. 물론 게임사마다 정책이 달라서 넥슨이면 진짜 정지먹일수도 있다.
스마게는 안 잡는 모양새인 듯 하고 넥슨의 경우에도 카트는 안잡는것 같다. 몰라서 안 잡는것 같긴 한데
컴성능 좋으면 체감 별로 안되는데 역체감은 느껴짐
이거 gta4할때 써봤는데 반응속도 엄청느려지던데 카트도 그런거아녀?
잘 만들어진 게임은 역효과가 남 카트는 더 빨라지는 듯
아 그렇구나 화면은 확실히 부드러워지고 최적화되는느낌이었음
게임에 따라서 dxvk.conf값을 설정 안하면 수직동기가 강제로 걸린다거나 하는 경우가 있는데 이런 경우일수도 있음
동작설정을 어캐하는거임?
요약) 게임폴더에 다운받은 d3d9.dll 넣고 게임에 있던 d3d9_27.dll 지우기
directX도 깔았고 d3d9.dll 도 카트라이더 경로에 놨는데 여전히 계속 튕김
그래픽카드가 구형이면 안될수 있어..
이거하니까 제 스펙터가 사라졌어요 ㅠㅠㅠ
이거로 원신 프레임 144가능?
원신은 안써질걸
고맙다 잘쓸게
근데 인터벌값 왜 비활성이나 0 말고 60 혹은 그 이상수치 넣으면 카트 프레임은 3,4천대씩 뽑히는데 졸라 버벅거릴까? 마치 20프레임으로 겜하는 기분임
카트같은 고전게임부터 요즘 나오는 게임들까지 거의 대부분의 게임이 과도하게 높은 FPS를 출력하고 있다면 정상적으로 작동이 안됨. 아래 링크는 카스에서 프레임을 어디까지 뽑을 수 있나 실험하는 영상인데 1000프레임 가까이 가면 이동속도가 비정상적으로 빨라지고 덜덜거리림 카트도 이거랑 똑같이 프레임 너무 높아지면 게임이 감당을 못해서 렉걸리고 난리나는거 https://youtu.be/5GneP6MuVOk?t=439
그냥 인터벌은 0놓고 써야겠다 뭘해도 안됨
프레임타임 균일화가 진짜 크긴 크네
고전게임은 위에 말한 이유 등등으로 presentInterval 말고 d3d9.maxFrameRate 값으로 제한을 걸어서 하는게 나을수도 있어
프레임이 3,4천씩 뽑히는데 버벅이는 듯 보인다면 고전 게임환경에서 높은 프레임이 오히려 스터터링을 유발하기 때문이야 최적화를 잘 한 게임이거나, 최신 게임들은 프레임컨트롤 능력이 뛰어나기 때문에 아주 높은 프레임이 나오거나 낮은 프레임이나오거나, 요동치는 경우에도 순간적인 스터터링의 발생이 적은데 구형 게임들은 아주 높은 프레임 = 높은 CPU 부하 = 프레임 컨트롤 능력이 떨어짐 -> 순간적인 프레임타임 늘어짐 (스터터링 발생)으로 이어진다. 이런 경우 부드럽게 보이는 환경을 구축하려면 모니터의 3~4배정도 프레임정도만 뽑아주고 CPU에 여유를 주는게 좋아
이게 이거 안쓸때도 아주아주 가끔씩 3,4천씩 뽑힐때가 있는데 그때는 또 말짱함 암튼 지금은 2~300으로 즐겜함ㅋㅋ
카트는 maxFrameRate가 훨씬 나음
드립감 신기해지네
쓸만 함?
먼가반속빨라지긴한느낌?
그럼 쓰고 있는거임?
추가설정 어캐함
게임폴더에 dxvk.conf 파일 만들고 메모장으로 열어서 입력
그냥 메모장으로 만드는거?
왜 적용이안되지
만들어진 파일이 혹시 dxvk.conf.txt 아니냐?
오 파일확장명 숨김으로되있었구나 폴더설정 ㄳㄳ
그거 지우면 됨
뭔짓을 해도 d3d9_27.dll 이 파일 지우니깐 카트가 실행이 안되는데 방법 있나요 directX도 최신버전이라고 뜨는데..
그거 지우고 폴더에 d3d9.dll 놔뒀음?
이거 쓰면 정지먹어요 속지마세요 - dc App
실제로 게임사 정책에 따라 정지먹을 수 있으므로 무조건 주의
게이야 혹시 이거 라테일이란 게임도 적용가능함? 라텔은 다렉x라서 dxdi인가 하는 4글자 파일 넣었는데도 안되는거같음
그 게임이 DirectX 9면 d3d9
d3d9도 적용이 안되는거같음
게임에 따라 적용해야 하는게 다른데 내가 라테일을 안해서 모르겠다 d3d9, d3d11 두개를 써야하는경우도 있고 d3d11, dxgi 두개를 써야하는경우도 있고 등등..
오 2개 해봄 x랑 9.0 둘다 해야하는거같음
안됨.. 윈7
윈7이면 이런거 쓰지 말고 그냥 해라
적용시키고 나면 겜 킨 상태에서 윈도키 누르면 해상도 1024*768 그대로인데 이건 감수하고 해야될려나
전체화면에서의 버그가 아닌가 싶은데 dxvk도 버전마다 동작이 조금씩 다르곤 하니까 1.10.3같은 구버전으로 해봐
아 예전에 한번 써봤었는데 그 때도 전체화면에서 탈출할 때 해상도 저래가지고
밴 먹을 거 같아서 못 쓰겠노
혹시 추가설정 창모드 해상도 크기는 어케 조절함?? 깃허브 봐도 해상도 관련 못찾겠던데
정확히는 해상도는 그대로고 emulation하는 디스플레이의 크기를 조절하는 방식인데 그러게 예전에 그게 가지고 놀았는데 안보이네
창모드로 하면 너무 작아서 화면 좀 키우고싶은데 이제 안되나
dxvk말고 dgvoodoo를 이용하면 확대가 되긴 해 d3d9.dll이랑 dgvoodoo.conf 두개 넣고 FullscreenAttributes = Fake DesktopResolution = "원하는 해상도" 넣으면 조절이 가능할거야
오 ㄱㅅㄱㅅ해보겠음
지금 해봤는데 해상도 변경은 되는데 마우스 포인터가 갈길을 잃는다. 하지마라
전체화면에서 수직동기화 껐을때 나오는 프레임드랍도 이걸로 잡을 수 있나??
난 이거썼을 때 전체화면 프레임 몇백정도 나오고 프레임드랍도 없음 근데 3~4시간에 한번정도 게임이 죽더라
PC 환경에따라 그런경우가 있는데, 어지간하면 창모드로 하는게 좋음
윗댓을 통한 결론 : 그냥 앵간해서 하지 마라 ㅇㅇ
나는 하는걸 추천함
해봐라
나도 해봤는데 이거 반속은 빠른데 그냥 드립감부터 시작해서 컴푸터가 이상해져가지고 그냥 지워버림
아 시발 이거 절대하지마라 이거하고부터 프레임드랍 존나생기고 좆같아서 삭다 밀고 다시 설치함
이거 했는데 컴퓨터가 이상해진다는거는 그래픽카드가 엄청 구버전이거나 시스템이 어느정도 불안정하다는 소리임
3060임
지랄하네 프레임 1000대에서 2천대 찍고 있는데 드랍 이지랄 ㅋㅋ - dc App
풀모드하면 바탕화면 1024x768로 해상도 고정되는데 푸는방법 없음?
구버전 써봐
구버전 골라서 썼는데도 똑같은데 되는버전 있음?
예전에 잘 되던데 d3d9.enableDialogMode = True 해볼래?
안된다..
이거하고 키면 흰색화면에서 안넘어가다 꺼지는데 어캐해야함?
글카 드라이버 버전 안맞으면 꺼짐
드라이버버전은 최신인게 좋고 그래픽카드가 vulkan 지원을 제대로 못하면 그럼 dxvk를 구버전 (1.9.3 등)으로 내려봐
dxvk 수직동기 옵션 0으로 해서 끄고 max frame rate 60으로 해놨는데 이러면 dxvk 적용안하고 그냥 리바만 60걸어놨을때랑 차이없음?
외부 프로그램을 사용해서 제한을 거느냐, 게임 그래픽을 그리는 레이어 단계에서 제한을 거느냐의 차이가 있음 어느쪽이 더 효율적일지는 게임에 따라 다름
Cannot find 'd3dx9_27.dll'. Please, re-install this application
이런 오류 뜨는데 어캄
1. 그래픽카드 드라이버 최신버전 설치 2. MS가 배포하는 Directx 최종 사용자 런타임 웹 설치 관리자 다운로드 하여 설치
윈7은 이거 안됨?