dg부두 2: 윈도우 7까진 잘 되던 고전 게임이 버벅거린다면!

구형 그래픽 API를 구원하는 방법

퀘이사존 QM크크리
44 4119 2021.09.08 15:53


퀘이사존

 


구형 API, 그것이 문제로다!

 

    안녕하세요. QM크크리입니다. 게임 성능에 관심이 있는 사용자라면 다이렉트XDirectX나 불칸Vulkan 같은 API 이름에 대해 들어본 적이 있을 것입니다. "배틀그라운드PUBG"는 DX11DirectX11이고, "어쌔신 크리드 발할라"는 DX12DirectX12, 반면 "둠 이터널"은 Vulkan..., 그 외에도 "레인보우 식스 시즈"는 두 가지 서로 다른 API들을 지원하지만, Vulkan을 써야 제 성능이 나온다고 하고, 같은 게임 같은 API라도 지포스GeForce에서는 어떤데 라데온Radeon 그래픽카드에서는 또 다르고 등등....

    여기서 말하는 DirectX나 Vulkan 같은 것들을 '애플리케이션 프로그래밍 인터페이스', 약칭 API(Application Programming Interfaces)라고 합니다. 음식점으로 치면 손님의 주문을 요리사에게 전달하고, 주문한 요리가 나오면 내주는 점원의 역할을 하는 것이 바로 이 API입니다.




퀘이사존

▲ 도해 출처: 레드햇(Red Hat Software)


    API가 없다면 그래픽카드의 세대가 바뀔 때마다 프로그램을 다시 만들어야 하는 사태가 발생할 수도 있습니다. 정확히는 '명령어 집합 구조(ISA, Instruction set architecture)'의 변화와 관계가 있습니다만, 특히 그래픽카드는 세대가 바뀔 때마다 이 명령어 집합 구조의 변화가 심한 편이라 웬만해선 공개하지도 않는 정책을 쓰고 있습니다. 프로그램이 그래픽카드를 사용할 때는 공개된 API를 통해서만 주문을 제출하도록 하고, 제조사의 드라이버가 알아서 각 그래픽카드의 하드웨어에 맞는 명령어로 변환하는 방식입니다.


     하지만 API를 통해서 알아서 하는 데에도 한계가 있습니다. 하드웨어나 API가 너무 구형이면 결국 어디선가 문제가 생길 수밖에 없습니다. 요즘 많은 분들이 즐기는 인기 게임 중에서는 "로스트아크(LOST ARK)"의 성능 관련 문제가 비교적 잘 알려진 편입니다. 이는 구형 API인 DirectX 9를 쓰기 때문에 생기는 문제입니다.


    그러나, 로스트아크는 활발히 개발되고 있는 현역 게임이라 일부 성능 저하로 문제가 한정되는 등 그나마 나은 편입니다. 아예 개발이 중단된 지 오래되어 '레거시legacy'로 분류될 정도의 프로그램이라면, 특히 이런 프로그램을 윈도우 10, 11 같은 최신 운영체제에서 사용해야 한다면 문제가 커질 때가 많습니다. 더구나 대부분의 사용자는 설령 레거시legacy 지원 문제에 관심이 있더라도, 자신이 쓰는 물건은 해당하지 않을 거라고 막연히 생각하는 경향이 있습니다. 이는 윈도우 11의 사양이 공개된 직후 터졌던 논란이 잘 보여준 바 있습니다. 윈도우 11 게임 성능 칼럼에서 말씀드린 것처럼 보안 관련 제약으로 밝혀지면서 조금 사그라들긴 했지만, 당시의 논란은 레거시를 쳐내는 문제가 일반 사용자 다수에게 어떻게 받아들여질지를 적나라하게 보여준 사례라고 할 수 있습니다.


"윈도우 11, 내가 하는 게임 성능은 올랐을까? 7종 게임 성능 비교" 칼럼 바로 가기


 


퀘이사존

▲ 레거시는 신속히 도태되어야 합니다. 내가 쓰는 것만 빼고요..., 아마도. 그림 출처: 근육시바견 밈

 

    윈도우 11은 구형 하드웨어에 대한 지원 문제지만, 반대로 프로그램이 구형일 경우에도 문제가 될 수 있습니다. 특히 고전 게임을 즐기시는 분들은 이런 문제에 이미 익숙해져 있을 터인데요. 비단 게임이 아니라도 문제가 되기도 합니다. 게임용 모니터의 성능을 보여주는 프로그램으로 나름대로 인지도 있었던 PixPerAn(Pixel Persistence Analyzer, PixPerAn_english.exe)이란 프로그램이 그 대표적인 예입니다.


    이 프로그램은 모니터의 성능, 특히 게임용 응답속도를 보기 쉽게 해주는 테스트용 패턴 화면을 보여주는 게 주 용도입니다. 가볍고 간편하면서도 게임에서 중요한 응답속도를 정확하게 비교할 수 있는 여러 테스트를 제공하여 2012년~2016년경쯤에 국내에서도 적극적 사용자들이 비교 체험담을 올리거나 게이밍 모니터 사용기에서 언급하기도 하였습니다. 그런데 윈도우 7까지만 해도 멀쩡하게 돌아가던 이 프로그램이 윈도우 8부터는 엄청난 성능 저하와 프레임 누락drop 등의 문제로 제대로 쓸 수 없게 되었습니다. 여기서 보여주는 화면들은 게임용 응답속도 비교를 위해 일부 빠른 움직임도 있지만, 대부분 단순한 2D 화면과 글자들일 뿐이라 화려한 그래픽을 자랑하는 3D 게임들과는 비교할 수 없을 만큼 가벼운 작업이기에 전적으로 API 호환 문제라고 할 수 있는 상황이죠.






    ※ PixPerAn은 프로그램 자체적으로 화면 오른쪽 위에 현재 프레임률(Frame rate)과 누락된 프레임의 총 개수(Frames lost) 등의 성능 정보를 알려주기 때문에 문제가 생기면 쉽게 알아차릴 수 있습니다. 지금 보시는 영상은 LG 27GN950의 160Hz 설정에서 구동한 모습이기 때문에, 간단히 이상적으로 말하자면 160fps와 0 Frame lost가 나와야 합니다.


    ※ 영상을 올리고 나서 안 사실이지만, 처음 윈도우 8에서 이 프로그램을 실행시켰을 때에 비하면 엄청나게 잘 돌아간 편입니다. 아무래도 테스트에 사용한 시스템이 라이젠7 3800X와 ASUS 스트릭스 RTX 3080 Ti라는, 윈도우 8이 처음 나올 당시의 주류 사양에 비해서는 엄청난 고사양이라 소위 깡성능으로 성능 저하를 맞받아쳐서 그런 것으로 보입니다. 그런데도 16초의 짧은 영상에서 50 프레임 넘게 누락drop되는 결과입니다.


    이는 다이렉트드로우DirectDraw라는 구형 API를 사용해서 2D 화면을 그리기 때문에 생기는 문제입니다. DirectDraw는 2000년 DirectX 8 발표와 함께 이제는 사용하지 않는다Deprecated고 명시한 만큼 아주 오래된 API입니다. 사실 PixPerAn의 첫화면에서 나오는 안내에서 언급하고 있는 1024x768이라는 해상도만 생각해봐도 아주 예전에 만들어진 프로그램임을 짐작할 수 있습니다.


    처음 이 문제를 겪었을 땐 다이렉트드로우 호환성 도구(DirectDraw Compatibility Tool)란 프로그램과 DXGL을 시도해보았습니다만, 전혀 효과가 없거나 어떤 면에서는 오히려 더 나빠진 결과여서 결국 사용을 포기하였습니다.






    ※ DXGL을 사용하면 프레임 누락drop은 해결되었다고도 할 수 있는 수준이나, 최대 프레임은 오히려 떨어지면서도 CPU 사용률이 지나치게 높아지는 결과를 보입니다.

    그러나, 정답은 의외로 이미 주어져 있었습니다. 바로 dg부두 2(dgVoodoo 2)입니다.


 


퀘이사존


    dg부두 2dgVoodoo 2는 이제는 알만한 사람만 아는 3dfx Interactive사의 부두Voodoo 시리즈를 위한 프로그램입니다. PC용 3D 게임의 태동기 때 천하를 호령했던 부두 시리즈는, 모든 게 열악했던 시절이기에 자체 독점 API인 글라이드Glide를 통해 우위를 점하는 전략을 택했습니다. 그렇기에 시대가 변하고 3dfx사가 몰락하자 글라이드 API에 의존하던 게임들의 호환성이 문제가 되었습니다. 처음 3D 게임을 접했을 때 강렬한 첫인상을 남겼던 추억의 게임들을 쉽게 버릴 수는 없었죠. 그래서 당시의 게임들을 잊을 수 없었던 마니아들은 부두 2 PCI 제품을 구해 남는 PCI 슬롯에 추가 설치하는 등 갖은 노력을 다했으나 시간이 지나면서 이도 점점 어렵게 됩니다.




퀘이사존


    ※ QM벤치 님이 보관하고 계신 '3dfx Voodoo3 3000 AGP'의 모습입니다. 여러모로 요즘 그래픽카드와는 다른 외양을 볼 수 있습니다.


    이 문제를 해결하기 위해 여러 가지 방법이 제안되었고, 그중 하나가 글라이드 API를 새로운 대세인 DirectX로 변환해주는 API 변환 래퍼(Application programming interface transforming wrapper)입니다. 여담입니다만, 국내 특허 중에도 이 변한 래퍼와 관련된 것이 있더군요.


"Api 변환 래퍼를 이용하여 리얼 코드와 연동할 수 있는 시뮬레이터 및 시뮬레이션 방법"

- Google Patents(바로 가기)


    이미 눈치채신 분도 있으시겠지만, 이전에 소개해드린 DXVK도 API 변환 래퍼입니다. 윈도우 전용인 DirectX 3D(Direct3D) API를 리눅스 등의 다른 운영체제에서도 호환되게 하면서도 성능 저하를 최소화하기 위해 Vulkan API로 변환하는 것이 DXVK의 핵심 기능입니다.


"DXVK로 라데온 게임 성능을 높일 수 있다고? (추가: 스타2)" 칼럼 바로 가기


    참고로 위에서 언급한 프로그램 중 다이렉트드로우 호환성 도구(DirectDraw Compatibility Tool)는 API 래퍼가 아닙니다. 주로 윈도우 7에서 DirectDraw 자체는 정상 동작하지만, 일부 설정이 제대로 적용되지 않아서 색상이 이상하게 나온다거나 하는 문제를 해결하는 프로그램으로, DirectDraw에 대한 레거시 지원 자체가 끝난 윈도우 8 이상에서는 거의 아무 효과도 없는 편입니다.


    글라이드용 변환 래퍼는 여러 프로그램이 나온 바 있습니다만, dg부두 2는 지금도 활발히 개발되고 있으면서 DirectX 중에서도 구형이 된 DX9 이하 버전도 지원한다는 점이 다른 프로그램들과 차별화되어 있습니다. 그렇기 때문에 DirectDraw와 같은 DirectX의 구버전 API를 사용하여 생기는 문제에도 대응할 수 있습니다. 위에서 말씀드린 PixPerAn처럼 말이죠.


 




    PixPerAn에 dg부두 2의 최신 버전인 2.75.1을 적용하니 거의 완벽하게 해결된 모습입니다. 몇몇 순간을 제외하면 이상적인 160프레임에서 큰 변동 없이 안정적인 모습을 보이며, 누락된 프레임도 처음 실행 시 하나와 기능을 전환할 때 하나를 합쳐 단 두 개뿐입니다.


    참고로 영상 후반부의 테스트에서 글자가 너무 빠르다고 생각하신다면 정상입니다. 프로그램 자체가 60 Hz 기준으로 만들어져 있어 그보다 높은 프레임으로 구동하면 내부의 시간 자체가 프레임에 비례해서 빨라지는 전형적인 틱레이트tickrate 변동 문제를 가지고 있습니다. 3D 싱글 플레이 게임에서도 비슷한 문제가 발생했던 사례로는 "다크소울", "폴아웃 4", "레드 데드 리뎀션 2"가 있습니다. 따라서 120 Hz의 5단계는 같은 5단계라도 60 Hz의 5단계보다 2배 빠르며, 주사율이 다른 모니터를 PixPerAn으로 비교할 땐 이를 고려하여 실제 글자가 움직이는 속도를 기준으로 비교할 필요가 있습니다.


 


퀘이사존


    그렇다면 이 dg부두 2를 어떻게 적용해야 하고, 어떤 게임에서 효과가 있는지 궁금하실 겁니다. 우선 dg부두 2의 기본적인 사용법을 알아보고, 효과가 있는 게임 몇 개를 예시로 설정 방법을 설명하겠습니다.

     dg부두 2는 freeweb.hu에 홈페이지를 가지고 있으며, 깃허브에 소스를 공개하고 있습니다. 또한 PCGamingWiki에도 dg부두 2를 설명하는 페이지가 따로 있습니다.


PCGamingWiki의 dg부두 2 페이지 바로 가기

dg부두 2 홈페이지의 다운로드 페이지 바로 가기

깃허브의 dg부두 2 다운로드 페이지 바로 가기


    현재 최신 버전인 dgVoodoo2_75_1.zip 파일을 내려받아 반디집 등으로 압축을 해제하면 여러 파일과 폴더를 볼 수 있습니다.(이름에 dbg가 추가로 붙은 파일은 디버그용이니 개발자가 아니라면 신경 쓰지 않으셔도 됩니다.) 이 중에서도 우리가 신경 써야 할 것들은 dgVoodooCpl.exe와 "MS" 폴더(글라이드 API 게임을 할 때는 "3Dfx" 폴더)입니다.


 


퀘이사존

 

    우선 적용할 게임이 사용하는 API가 글라이드인지, 다이렉트X 구버전인지 알아야 합니다. 글라이드 API를 사용하는 게임, 특히 글라이드 전용 게임은 현재 기준으로 아주 예전 게임이라 글라이드 사용 여부가 모두 알려져 있습니다. 부두 시리즈의 몰락 이후로는 정확히 대응하지 않으면 실행조차 불가능하기 때문이죠. "니드 포 스피드 2 SE" 같은 게임이 이에 해당합니다. 그 외에도 글라이드가 옵션이지만 글라이드 위주로 최적화한 것으로 알려진 게임들도 있습니다. 아마 그중 가장 최신 게임이 디아블로 2(리마스터가 아닌 원작)일 것입니다. 다만 디아블로 2는 1.14a 패치로 Direct3D 구현을 개선하였다고 하며, 이젠 리마스터가 출시되려 하고 있으니 옛일이 되었기도 합니다.


    아무튼, 해당 게임 이름으로 검색했을 때 3dfx사나, 부두 시리즈, 글라이드glide에 대한 언급이 있다면 글라이드 API를 사용한 게임일 가능성이 매우 높습니다. 그렇지 않다면 DirectX 구버전을 사용한 고전 게임일 가능성이 높겠죠.


    그리고, 해당 게임의 실행 파일 위치와 32비트/64비트 여부를 알아야 합니다. 이는 (오류가 나더라도) 실행한 상태에서 윈도우 작업 관리자로 확인할 수 있습니다.


 


퀘이사존

 

    작업 관리자에서 '(32비트)'나 'x86'이라는 언급이 있으면 32비트이고, 그렇지 않으면 64비트라고 생각하면 됩니다. 따라서,

  • 글라이드 API 사용 게임이라면 "3Dfx" 폴더에 들어갑니다. 반대로 DirectX 구버전(다이렉트드로우 포함)인 경우 "MS" 폴더에 들어갑니다.
  • 적용할 프로그램이 32비트이면 x86 폴더에, 64비트라면 x64 폴더에 들어갑니다.
  • 해당 폴더에 있는 1~4개의 DLL 파일을 적용할 프로그램의 실행 파일이 있는 곳에 복사해줍니다. 단, Napalm 폴더는 일반적으로 사용하지 않습니다.(부두 4에만 있는 기능에 대응하는 글라이드의 고급 구현입니다만, 이미 3dfx가 몰락의 끝에 달했을 때 출시된 제품이라 대응 게임이 거의 없습니다.)


    여기까지만 해도 적용은 다 되었습니다만, 이 상태로 실행하면 dg부두 2의 기본 설정으로만 구동합니다. 설정을 바꿔주고 싶으면 dgVoodoo.conf 파일을 복사해서 수정해야 하고, 이 작업을 쉽게 해주는 그래픽 사용자 인터페이스(GUI, Graphical User Interface)가 dgVoodooCpl.exe입니다.




퀘이사존

 

    모든 설정은 마우스 커서를 가져다 대면 설명이 나오므로 이를 보고 설정해도 되지만, 영어로만 설명을 제공하니 자주 쓸법한 설정 위주로 간단히 설명하겠습니다.


 


퀘이사존


    메인 화면입니다. 가장 먼저 신경 쓸 곳은 맨 위의 Config folder입니다. 오른쪽 Add 버튼을 눌러서 적용할 프로그램의 실행 파일이 있는 폴더를 추가해 줍니다. 그곳에 있는 dgVoodoo.conf 파일을 가지고 설정을 바꾸겠다는 뜻입니다.(없으면 자동으로 기본 설정을 적용할 준비를 해줍니다.) dgVoodoo.conf가 생성되지 않는다면, 아무 설정이나 적당히 바꿔준 후 확인(OK)이나 적용(Apply)을 눌러주면 해당 설정으로 생성해줍니다.

  • Output API: 출력에 사용할 API를 선택합니다. 일반적으로 기본값인 'Best available one'으로 두면 되나, DirectX 12를 쓰고 싶으면 따로 선택해줘야 합니다. DirectX 12를 통해 더 높은 성능, 특히 1% 하위 프레임을 개선할 가능성이 있지만, 아직 dg부두 2의 문제가 약간 있어서 자동으로는 선택하지 않습니다.
  • Adaper(s) to use: 그래픽카드가 여러 개일 때 원하는 그래픽카드를 통해 실행하기 위해 여기서 선택해줍니다. 그래픽카드가 하나거나 기본 설정에서 잘될 때는 신경 쓰지 않아도 됩니다.
  • Appearance: 전체화면(Full Screen)이 기본값이며, 창 모드(Windowed)가 필요하면 선택합니다.
  • Scaling mode: 4:3으로만 개발된 게임이라 와이드 모니터에서 좌우로 늘어져 나올 경우 여기서 4:3을 명시한 설정을 하나씩 선택해보면서 가장 잘 나오는 설정을 찾습니다. 기본값은 Unspecified입니다.




퀘이사존

 

    글라이드 설정은 모두 기본값이 가장 무난합니다만, 기본 설정인 부두 2가 아닌 제품에서 가장 좋다고 알려진 게임이라면 해당 제품을 선택해주는 것이 좋습니다. 여기서 부두 3 이상의 제품은 모두 목록 맨 아래의 Other greater를 통해 설정해주면 됩니다. 일례로 부두 4라면 Other greater를 선택 후 오른쪽의 Onboard RAM을 부두 4의 알려진 용량인 32 MB를 선택하면 됩니다.




퀘이사존

 

    다이렉트X 설정도 대부분 기본값이 무난하나, 게임에 따라 조절할 설정이 몇 개 있습니다.

  • Disable and passthru to real DirectX: 이미 dg부두 2를 적용했지만 잠시 비활성화할 필요가 있을 때 쓰는 테스트용 설정입니다.
  • Videocard: ATI 라데온 8500이나 지포스4 Ti 4200, 지포스 FX 5800 울트라에 최적화된 것으로 알려진 게임이라면 해당 카드를 선택합니다. 그 외의 경우에는 기본값인 dgVoodoo Virtual 3D Accelerated Card로 내버려 두는 것이 무난합니다.
    • VRAM: 고전 게임은 VRAM 용량이 너무 많으면 오히려 제대로 인식하지 못해 오류를 일으킬 수 있어 기본값인 256 MB가 대체로 무난합니다. 비교적 고사양 게임이라 256 MB로 부족하면 3 GB나 실제 그래픽카드의 용량을 입력해볼 수 있습니다. 이때 대소문자나 띄어쓰기 무시하고 11gb 같은 식으로 입력해도 dgVoodooCpl.exe가 알아서 정확히 받아들이니 걱정하지 않으셔도 됩니다.
    • 3 GB을 언급한 이유: 32비트 주소 체계만으로 개발한 게임은 비교적 근래에 출시한 게임이라도 VRAM 용량을 딱 3 GB까지만 제대로 인식합니다. 대표적인 예로 2018년 출시한 "토탈 워 사가: 브리타니아의 왕좌"가 있습니다. 2016년 출시한 "토탈 워: 워해머"에서는 해결된 문제입니다만, "토탈 워 사가"가 소규모 외전 시리즈라 2015년작 "토탈 워: 아틸라"의 엔진을 재활용했기에 생긴 문제입니다.(다만 토탈 워 시리즈는 전용 설정 파일 수정을 통해 4095 MB까지 인식시키는 게 가능합니다. 자세한 건 "%appdata%\The Creative Assembly gfx_video_memory"로 구글링하면 됩니다.)
  • Resolution: 특정 해상도로 설정하고 싶을 때 사용합니다. 여기서 설정하면 부작용이 생기거나 제대로 적용되지 않을 수 있으니, 가능하면 기본값인 Unforced로 놔두고 게임 내 설정을 이용하는 편이 좋습니다. 다만 게임에 따라서는 여기서 강제로 설정하는 쪽이 나은 경우도 간혹 있습니다.
  • Force vSync: 수직 동기화가 필요한데 게임에서 지원하지 않는 경우 시도해볼 만한 설정입니다.
  • dgVoodoo Watermark: 화면 오른쪽 아래에 dgVoodoo의 워터마크를 표시합니다. 기본값으로 활성화되어 있지만, 정상 적용 여부를 보여주기 위한 것일 뿐이라 언제든지 해제해도 됩니다. 일반적으로는 정상 작동 여부를 확인하고 원하는 설정을 확정한 후에 해제하는 것이 좋습니다.
  • Fast video memory access: dg부두 2를 적용해도 여전히 성능이 낮을 때 시도해볼 만한 설정입니다.


 

#1: "니드 포 스피드 2 SE"



퀘이사존


    위에서 설명한 글라이드 적용 방식에 따라 설정하면 됩니다. 정확히는 x86 폴더의 Glide2x.dll만 있어도 됩니다만, 모르면 다 복사해도 상관없습니다. 다만 이 게임은 현재 InstallSDB.exe와 nfs2sea.sdb를 포함한 특정 배포판으로만 실행할 수 있습니다. 워낙 옛날 게임이라 요즘 저장장치의 용량을 인식할 수 없어서, 이를 따로 패치 해주지 않으면 하드디스크에 1 MB도 안 남았다는 오류 메시지만 보여주고 게임 진입이 불가능한 경우가 절대다수입니다. 정확히는


"Your hard drive has less than 1MB free space.
If you encounter problems please refer to the reference card."


    입니다. 거기에 InstallSDB.exe를 실행하면 vb6ko.dll가 없다는 오류로 실행되지 않습니다. 게임도 옛날 물건이고, 이제는 패치도 너무 옛날 물건이라서 이러네요. vb6ko.dll 오류는 "vb6ko.dll 윈도우10"으로 검색하면 손쉽게 해결할 수 있으니 굳이 이것까지 설명하진 않겠습니다.

    아무튼 vb6ko.dll을 설치해서 InstallSDB.exe를 구동하고, 설치Install 버튼을 누르면 nfs2sea.sdb가 적용됩니다. 그리고 nfs2sea.exe를 실행하면 (dg부두 2는 앞서 이미 적용했다는 가정하에) 잘 실행된 게임 화면을 볼 수 있습니다.(끝이 n으로 끝나는 nfs2sen.exe는 그래픽카드를 사용하지 않는 일종의 저사양 호환성 모드이니, 가능하면 nfs2sea.exe를 통해 실행하는 것이 좋습니다.)



 

퀘이사존


퀘이사존


퀘이사존

▲ 전체화면으로 실행 시 Scaling mode를 4:3으로 해줘야 원래의 화면비를 볼 수 있습니다.

 


#2: 세이크리드 골드(Sacred Gold)



퀘이사존

▲ 클릭하면 커집니다(원본 크기로 보실 수 있습니다).


퀘이사존

▲ 클릭하면 커집니다(원본 크기로 보실 수 있습니다).

    # 위 화면은 포토샵으로 좌우를 늘려 재현한 것이라 실제 게임 화면과 다소 다를 수 있습니다.


    2004년 출시한 액션 롤플레잉 게임 세이크리드는 DirectX를 사용하여 그냥 실행해도 되긴 합니다만, 4K 모니터에서도 저해상도에 좌우로 늘어진 화면을 보여주는 등의 문제가 있습니다. dg부두 2로 해상도와 Scaling mode를 설정해주면 원래 그래픽에서 3D 부분의 해상도만 올라간 깔끔한 화면을 볼 수 있습니다. 만약 최대한 원래 그래픽 그대로 즐기고 싶으시다면 해상도 설정은 하지 않고 Scaling mode 설정만 적용하면 됩니다.




퀘이사존

▲ 클릭하면 커집니다(원본 크기로 보실 수 있습니다).


퀘이사존

▲ 클릭하면 커집니다(원본 크기로 보실 수 있습니다).


    # 위 화면은 사진 용량 제약으로 인해 FHD(1920x1080) 해상도로 축소한 후 JPEG 압축하여 실제 게임 화면과 다소 다를 수 있습니다.



#3: 폴아웃, 폴아웃 2 - GOG판



    GOG판은 기본적으로 고전 게임의 호환 패치를 포함하여 제공합니다만, 테스트한 시스템에서는 그냥 실행하면 검은 화면만 나오고 정상 작동하지 않습니다. 게임도 옛날 물건이고, 이제는 패치도 너무 옛날 물건이라서 이런 것으로 보입니다. dg부두 2의 32비트 MS 파일을 적용하고(정확히는 D3D9.dll만 적용해도 됩니다만, 다 복사해도 됩니다. 이때 ddraw.dll은 놔두거나 덮어써도 상관 없습니다), Fast video memory access 설정을 활성화 해주면 정상적으로 구동할 수 있습니다.


 


퀘이사존

▲ 클릭하면 커집니다(원본 크기로 보실 수 있습니다).

 

    f1_res_Config.exe를 먼저 실행하여 고해상도 패치를 설정해주고 falloutwHR.exe로 실행하면 좀 더 원본에 가까운 화면비로 구동할 수 있습니다.




퀘이사존

 

    Scaling X2를 체크해주고 현재 모니터의 해상도를 선택한 후, 아래쪽의 패치를 활성화Enable시켜주면 됩니다. 위 화면은 패치가 이미 활성화된 상태에서 찍은 것입니다.




퀘이사존

▲ 클릭하면 커집니다(원본 크기로 보실 수 있습니다).

 

    2편도 1편과 마찬가지로, f2_res_Config.exe를 먼저 실행하여 고해상도 패치를 설정해주고 fallout2HR.exe로 실행하면 좀 더 원본에 가까운 화면비로 구동할 수 있습니다.


 


퀘이사존


    Scaling X2를 체크해주고 현재 모니터의 해상도를 선택한 후, 아래쪽의 패치를 활성화Enable시켜주면 됩니다. 위 화면은 패치가 이미 활성화된 상태에서 찍은 것입니다.



 #4: 로스트아크(LOST ARK)



    로스트아크는 이미 DXVK 칼럼(바로 가기)에서 다룬 바 있고, dg부두 2와 DXVK를 모두 적용할 수 있는 DX9 게임인 만큼 성능 비교를 진행해보았습니다. 다만 dg부두 2의 주목적인 고전 게임이 아니다 보니 설정을 조절해도 기본 상태보다 오히려 성능이 떨어지는 결과가 나왔습니다. 따라서 DXVK를 사용하는 쪽이 최선인 것으로 보입니다.

    ※ 이러한 성능 한계 때문에 "툼 레이더" 4편(Tomb Raider: The Last Revelation) 같은 일부 DX7~8 게임은 dg부두 2를 적용한 후 DXVK를 다시 적용하는 이중변환이 가장 좋은 성능을 낸다고 알려져 있습니다. 이는 DXVK의 성능이 더 좋지만, DX9~11만 지원하기 때문입니다.(dg부두 2를 먼저 적용하여 정상 구동을 확인한 후, DXVK를 적용할 땐 DX11 게임용 적용 방법을 사용하면 됩니다.)


 


퀘이사존퀘이사존




퀘이사존


퀘이사존

 

    ※ D3D12는 몇몇 설정을 추가로 조절한 결과지만, 어차피 성능이 떨어지는 결과라서 자세한 설명은 생략합니다.



 #5: 스타크래프트2 - 실패



    스타크래프트 2는 로스트아크와 같은 이유로 성능 비교를 진행하려 하였으나, dg부두 2를 적용한 상태에서 벤치마크용 리플레이를 구동할 수 없었습니다. 따라서 DXVK 칼럼(바로 가기)에서 다룬 것처럼 지포스는 게임 기본 상태로, 라데온은 DXVK를 적용하여 실행하는 것이 최선으로 보입니다.


 


퀘이사존


■ 고전 프로그램이 유용할 때도 있습니다

    "술과 친구는 오래될수록 좋다"는 말이 있습니다. 매일 새로운 기술이 쏟아지는 듯한 첨단 분야에서도 가끔은 옛것의 향수를 느끼고 싶을 때도 있습니다. 특히 고전 게임들 말이죠. 분야에 따라서는 PixPerAn처럼 오래된 유틸리티가 여전히 별 차이 없이 유용한 경우도 있습니다. 그러나, 여러 호환성 문제는 이런 고전 프로그램을 이용하는 데 큰 어려움을 줍니다. 그래서 이러한 고전 프로그램을 구동하기 위해 DOSBox-X같이 옛 시절의 환경을 통째로 에뮬레이션하기도 합니다만, API 변환만으로 해결할 수 있는 경우라면 들어가는 품을 크게 줄일 수 있습니다. '오컴의 면도날'이 말해주듯이, 똑같이 목적을 이룰 수 있다면 가장 간단한 방법이 최선의 방법입니다.

■ 일부 고전 게임과 유틸리티를 사용할 때 dg부두 2는 최선의 해결책입니다

    PixPerAn의 사례에서 볼 수 있듯이, 최신 윈도우 10에서 고전 프로그램의 정상 구동을 위해 API 변환이 필요한 경우 dg부두 2가 최선의 방법일 수 있습니다. 세이크리드와 폴아웃, 폴아웃 2에서도 dg부두 2는 만족스러운 결과를 내는 것으로 보입니다. 툼 레이더 4편처럼 dg부두 2와 DXVK를 같이 적용하는 방법이 최선으로 알려진 게임도 있습니다. 여러 고전 프로그램을 최소한의 품만 들여 계속 사용할 수 있게 해주는 dg부두 2는, '오래된 술을 위한 좋은 친구'라고도 할 수 있겠습니다.




댓글: 44

신고하기

신고대상


신고사유

투표 참여자 보기