MapleLegends/TIP

(Legends+ 프로그램) 노트북에서 ML 실행 시 외장그래픽이 사용되지 않는다.

VEGEMILL 2022. 1. 22. 17:20

옵티머스 기능(외장그래픽이 필요하다고 판단될 때만 사용되고 나머지는 내장그래픽이 이용되는 기능)이 내장된 게이밍 노트북이나 내장그래픽이 노트북 디스플레이와 고정되어 내장그래픽 비활성화가 불가능한 노트북의 경우,

 

MapleLegends를 창모드로 실행 시 클라이언트 몇 개를 키던 간에 무조건 내장그래픽으로 로드하여 고사양 노트북임에도 불구, 상당히 버벅이는 현상이 일어난다.

 

 

필자의 예시..

 

필자의 노트북은 내장그래픽이 intel HD Graphics 630, 외장그래픽이 GTX 1650인데 MapleLegends를 창모드로 여러 개 실행하고 작업관리자의 GPU 엔진 탭을 보면 GPU - 0 으로만 메이플이 실행되고 있음을 볼 수가 있다.

 

외장그래픽은 전혀 사용되지 않아서 고작 클라이언트 3~4개를 창모드로 실행했을 뿐인데 엄청난 렉에 시달리게 된다.

 

 

 

이를 해결해보기 위해서 구글링도 해보고 옆 동네 MapleRoyals 포럼도 둘러보고 전부 찾아봤는데 메이플레전드를 외장그래픽으로 실행시켜 줄 방법은 한 가지도 없었다. 2017~2018년쯤에 포럼에 게시된 Legends+ 프로그램이 유일하게 메이플레전드를 외장그래픽으로 실행시켜 주었다. (Legends+ 프로그램 설치와 사용법은 본문 아래 게시)

 

 

 

첫 번째로 시도해본 방법인데 이게 될 리가 있나, 윈도우에서는 정식 등록된 앱만 저 기능이 적용된다고 하는 카더라가 있었다. NVIDIA 제어판에서도 고성능 NVIDIA 그거 설정해봤는데 전혀 효과가 없었다.

 

 

 

 

두 번째로 해본 방법. 장치 관리자에서 내장그래픽을 사용안함으로 하면 노트북이 외장그래픽만을 쓰게 되지 않을까.. 했지만 전혀 아니었다. 일단 이 방법은 위험한 게 노트북 디스플레이가 무조건 내장그래픽을 한 번 거치도록 설계되어 있으면 노트북 화면이 아예 나가버린다. 설령 그 경우가 아니더라도 내장그래픽을 억지로 비활성화 하면 어차피 어떤 게임이든 실행조차 할 수 없었다.

 

 

 

세 번째로 해본 방법은 레전드 서버 같은 길드원인 Bum님이 알려주신 건데 외부모니터를 연결하고 노트북 화면을 아예 꺼버리는 방법이다. Bum님은 이렇게 해서 메이플을 외장그래픽으로 실행하신다고 한다. 그렇지만 내 경우에는 효과가 없었다.

 

 

 

 

그래서 결국 찾아낸 것이 Legends+ 프로그램.

 

레전드 포럼에서 관련 문제로 검색을 좀 해보니 이게 하드웨어 가속 기능이 있어서 외장그래픽으로 메이플을 실행시켜 준다고 하길래 바로 설치하고 실행해봤다.

 

정말 효과가 있었다. 클라이언트 4개든 5개든 창모드로 실행해도 전혀 렉이 걸리지 않았다.

아니 대체 옵티머스 노트북에서 어떻게 외장그래픽을 이용하게끔 프로그램을 만든 것인지 신통방통한 프로그램이다.

 

다만, 단점은 HD 패치가 있기 전인 2017~2018년쯤에 만들어진 프로그램이라서 클라이언트가 800x600 해상도가 아니면 이용할 수가 없다. 프로그램에서 Show All을 눌러보면 1920x1080 해상도로 선택할 수는 있긴한데 그렇게 실행해보면 화질이 말도 안 되게 쓰레기가 되어버려서 사용안하느니만 못하다.

 

https://forum.maplelegends.com/index.php?threads/legends-client-mod.12009/ 

Legends+ 프로그램의 제작자는 Lily라는 ML의 은퇴한 스태프이다.

 

 

Legends+ 프로그램은 아래 주소에서 다운 받을 수 있다.

https://mega.nz/#!Nr5lkDoR!en4RnOBA3UUXdtY-30htzN5lMbhLkfhvH5ft8Gp7TKY

 

 

다운로드 하고, 설치는 아무 폴더에나 해준다.

설치하고 나서 해당 폴더로 들어가보면 대략 위 사진과 같을텐데

 

저기서 Legends+ Config.exe 파일과 d3d8.dll 파일만 선택한 뒤 MapleLegends.exe가 있는 클라이언트 폴더 내에 넣어주면 된다.

 

 

사전작업으로 레전드 클라이언트 폴더에 Legends.ini 파일을 열어서 해상도를 0번 세팅(800x600)으로 맞춰줘야 한다.

제일 아래 있는 Legends.ini 파일 실행 후 해상도 설정을 0번으로

 

 

그리고 옮긴 Legends+ Config.exe 파일을 실행하면

 

이런 화면이 뜨는데, 주사율(Hz)은 본인 모니터에 맞게끔 하고 800x600 선택.

그리고 Extra Options에서 Windowed 항목을 체크해제 한다. (이건 별 의미 없는 것 같은데 필자는 그냥 체크해제 함)

 

마지막으로 Launch(실행)를 눌러주면...

 

놀랍게도 GPU - 1, 즉 외장그래픽으로 실행된다. 저 점유율은 갑자기 치솟은 거라.. 외장그래픽으로 로드 되기 때문에 클라 4~5개를 켜야 60~70%를 상회한다.

 

저렇게 한 번 설정을 해두면 Legends+ 프로그램 실행 안하고 메이플레전드만 실행해도 적용이 된다.

 

그리고 한 가지 주의할 점은 보조로 켜놓은 클라이언트들의 해상도를 800x600으로 설정해두고 Legends+가 적용된 상태에서 Legends+가 미적용된 다른 1366x768 해상도의 클라이언트를 실행하면 이게 내장그래픽으로 로드되어서 랙이 발생하므로 Legends+의 하드웨어 가속 기능을 이용하고 싶다면 모든 클라이언트를 800x600으로 실행해야 한다.

 

어차피 필자는 하드웨어 가속 기능만 이용하고 해상도 관련 기능들은 전혀 필요하지 않아서 개발자분에게 디스코드 메시지를 보냈더니 어셈블리어/C언어에 익숙하다면 해상도 관련 기능들을 모조리 제거하는 것은 어렵지 않을 것이라고 한다. 3~4년 전에 작업한 것이라 파일이 남아있는지 모르겠다고 하시는데 소스 코드와 Donor 버전을 찾으면 무료로 주시겠다고 하신다.

 

전공이 컴공도 아니고 프로그래밍 언어는 교양 수업으로만 들어봤지만 한 번 시도해볼만 할 것 같아서 소스 코드를 받으면 직접 프로그램에서 해상도 관련 기능을 없애보려고 한다. 그냥 소스 코드만 지우는 것은 어렵지 않을 거라는 추측에서..

 

 

 

그리고 써볼만한 기능은 Resize 기능인데 마우스로 화면이 차지하는 비율을 늘렸다 줄였다 할 수가 있다. 이건 No Resize에 체크만 하지 않으면 자동 실행되는 기능이다.

 

좀 불편한 것은 일반적으로 윈도우에서 폴더가 차지하는 화면을 리사이즈 할 때 마우스 커서가 바뀌는데 이건 그런 거 없고 그냥 윗부분을 잡아당기거나 하면 사이즈가 조절이 된다.

 

 

 

https://forum.maplelegends.com/index.php?threads/guide-full-screen-windowed-borderless-on-all-maplelegends-clients.18781/ 

 

리사이즈 기능은 위 주소에서 소개하는 프로그램이 더 나을 수 있다.

100x100이든, 200x200이든 원하는 사이즈로 클라이언트 화면의 크기를 조절할 수 있다.

 

다만, 이것도 단점이 있는 것이 클라이언트를 여러 개 키고 각각 다 리사이즈 하려고 하면 프로세스의 이름들이 똑같아서 구분이 힘들고 컴퓨터도 헷갈리는지 1번 클라 사이즈 조절을 했는데 2번 클라가 줄어든다거나 이런 식..의 잔버그가 있다. (필자가 설정을 멍청하게 한 것일 수도)

 

 

P.S.

Legends+가 적용된 클라이언트와 미적용된 클라이언트를 따로 나누어도 된다.

(리사이즈 기능을 이용하려는 클라이언트와 필요 없는 클라이언트가 있다면..)