르네상스가 자꾸 튕긴다는 이야기들이 많았었는데 네이버 더길드 카페에서 LK님과 graymage님이 좋은 정보를 올려주셨네요.. Steam이라고 하는 온라인 게임 판매 사이트에 올라와 있는 글을 옮겨 주셨더군요.. 내용을 읽어보니 다음과 같은 이유로 게임이 충돌이 있었다는군요..

먼저 게임 충돌이 일어나는 경우는 대개 32비트 윈도우 운영체제에서 세이브를 하는 경우인데.. 32비트 운영체제는 사용자 프로그램이 메모리의 주소를 2기가 까지만 액세스를 할 수 있도록 제한해놓았다고 합니다.. 하지만 르네상스의 경우는 2기가를 넘어가는 메모리 주소 대역을 액세스를 해야 할 경우가 생기게 되는데 특히 게임을 세이브하는 과정에서는 더더욱 그렇답니다. 게임을 세이브 할 때는 평소보다 조금 더 많은 메모리를 요구를 하기 때문에 이 때 2기가를 넘는 주소 대역을 액세스 해야 할 경우가 생긴다는 것이지요.. 이런 때는 충돌이 일어나게 된답니다.. 이 문제를 해결해 주기 위해서는 윈도우가 사용자 프로그램에 조금 더 많은 양을 할당해주도록 조정하면 된다고 하는군요..

http://forums.steampowered.com/forums/showpost.php?p=16461909&postcount=2
구체적인 방법은 위의 Steam 홈페이지에 등록된 글을 보면 있습니다.. 내용은 영어로 쓰여 있습니다.


이 포스트에서는 세 가지 방법을 소개를 해 드리고자 합니다. 먼저 두 가지 방법은 위의 사이트에서 이야기 한 방법으로 XP용과 Vista, 7용이 있습니다.. 그리고 나머지 한 가지는 Visual bcdedit 라는 프로그램을 이용하는 방법을 소개해 드리겠습니다..

 

 

1. XP에서의 방법

 

XP에서는 boot.ini 파일을 메모장으로 불러서 직접 /3GB /USERVA=2990 라는 라인을 추가하는 방법을 사용을 하고 있습니다. 위의 사이트에서 이야기 한 대로 따라가보도록 하겠습니다.

 

먼저 시작 => 실행을 실행을 시킵니다.

 

그러면 다음과 같은 컴맨드를 실행을 시킬 수 있는 창이 뜨는데 그 창에 sysdm.cpl 이라고 치고 확인을 누릅니다.

 

그러면 다음과 같은 창이 뜨게됩니다.. 고급 탭으로 이동을 한 후 시작 및 복구 메뉴의 설정을 눌러줍니다.

 

오른쪽에 있는 편집을 눌러줍니다.

 

그러면 boot.ini 파일이 다음과 같이 메모장에 열리게 됩니다. 제일 밑에줄 제일 끝에 보시는 바와 같이 /3GB /USERVA=2990 라는 라인을 추가시켜 주고 저장을 한 후에 컴퓨터를 다시 부팅을 시킵니다. 그리고 게임을 하시면 되겠습니다. 여기에서 2990이라는 숫자는 2500 이상 3072를 넘지 않는 숫자 중에서 원하시는 대로 사용하실 수 있습니다.

 

 

 

2. Windows Vista, 7에서 적용하는 방법

 

윈도우 비스타와 7은 더이상 boot.ini 라는 파일을 지원을 하지 않습니다. 따라서 XP와 같은 방법을 사용을 할 수는 없고 대신 윈도우에서 제공하는 bcdedit.exe 라는 도스용 프로그램을 이용을 해서 비슷한 설정을 해 주게 됩니다.

 

위의 아이콘은 제 컴퓨터의 시작 메뉴입니다.. 먼저 시작 메뉴를 힘차게 클릭해 줍니다.

 

그런 모든 프로그램을 클릭 합니다.

 

그리고 보조 프로그램으로 이동합니다.

 

 

그러면 "명령 프롬프트" 라는 프로그램을 보실 수 있습니다. 이 프로그램을 실행을 시켜야 하는데 그냥 실행을 시키면 일반 사용자 권한으로 실행이 됩니다. 그런데 bcdedit.exe 는 시스템을 건드리는 명령어이기 때문에 관리자 권한이 필요합니다. 따라서 명령 프롬프트를 관리자 권한으로 실행을 시켜야 하겠지요.. 관리자 권한으로 실행시키기 위해서 명령 프롬프트를 마우스의 오른쪽으로 클릭을 합니다. 그러면 위와 같이 창이 하나가 뜨면서 "관리자 권한으로 실행" 이라는 메뉴가 보이게 됩니다. 이 메뉴를 실행을 시켜서 관리자 권한으로 명령 프롬프트를 실행을 시켜줍니다.

 

그러면 위와 같이 도스창이 하나가 뜹니다. 그 도스창에 "bcdedit /set IncreaseUserVA 3072" 라는 명령어를 입력을 하시고 엔터를 쳐 줍니다.. 이때 3072는 2500부터 3072 안에서 사용자가 그 값을 바꿀 수 있습니다. 명령 프롬프트에 명령어를 입력하는 것은 명령 프롬프트를 처음 사용을 해 보는 분들한테는 다소 부담스러울 수도 있을텐데요 쉽게 명령어를 입력할 수 있는 방법이 있습니다. 먼저 bcdedit /set IncreaseUserVA 3072 라인을 카피를 하신 후에 명령 프롬프트를 마우스 오른쪽으로 클릭을 하신 후에 붙여넣기를 선택을 하면 쉽게 명령어를 입력 할 수 있습니다. 그런 후에 엔터를 눌러주시면 되겠습니다.

 

다음 화면은 엔터를 눌러서 명령어가 잘 입력이 된 화면입니다. 이제 컴퓨터를 다시 부팅을 시키고 게임을 실행 하시면 되겠습니다.

 

 

 

3. Visual bcdedit 사용하기

 

마지막으로 Visual bcdedit을 사용하는 방법을 소개합니다. 위의 bcdedit.exe 프로그램은 도스상에서 프로그램이기 때문에 명령어를 일일이 입력을 해야 하는 불편함이 있습니다.. Visual bcdedit 는 MS에서 제공하는 bcdedit.exe에 GUI를 입혀놓은 프로그램으로 윈도우상에서 bcdedit.exe에서 할 수 있는 거의 모든 기능을 다 할 수가 있습니다.. 먼저 아래의 프로그램을 다운 받아서 설치를 합니다. 적용 가능한 OS는 윈도우 XP, Vista, 7 까지입니다. 이 프로그램은 .NET 4 기반에서 동작하는 프로그램이기 때문에 .NET 4가 컴퓨터에 설치되어 있어야 합니다..

 

 

프로그램의 설치를 마쳤으면 프로그램을 실행을 시킵니다. 역시 관리자 권한으로 실행을 시켜야 하기 때문에 프로그램 아이콘을 마우스 오른쪽으로 클릭해서 관리자 권한으로 실행이라는 메뉴를 클릭해 줍니다.

 

그러면 위와 같은 화면이 뜨게 됩니다. 밑에 있는 New 버튼을 눌러줍니다.

 

그런 후 Object는 OS Loader를 Element는 IncreaseUserVa를 선택을 하고 OK를 선택합니다.. OK 버튼이 밑에 숨어서 잘 안 보입니다. 일부만 나타나 있기 때문에 클릭하기가 쉽지는 않습니다만 불가능하지는 않습니다.

 

그런 후에 왼쪽 카테고리에서 Windows 7을 선택을 하면 오른쪽 화면에 다음과 같이 IncreaseUserVa 라는 항목이 추가되어 있는 모습을 볼 수가 있습니다. 그런데 값이 0으로 설정이 되어 있습니다. 이 값을 고쳐야 되겠네요.. IncreaseUserVa 항목을 마우스로 더블 클릭을 해 주시던지 아니면 아래에 있는 버튼들 중에서 Edit 버튼을 클릭합니다.

 

그러면 다음과 같이 값을 변경할 수 있는 창이 뜨는데 적당한 값을 넣어주고 OK 버튼을 눌러줍니다.

 

그러면 다음과 같이 값이 바뀌어 있음을 알 수가 있습니다.. 이제 프로그램을 종료하고 컴퓨터를 다시 부팅을 한 후에 게임을 즐기도록 합니다. 설정된 값은 바로 바로 실시간으로 적용이 되기 때문에 프로그램을 종료하기 전에 바뀐 값을 적용하기 위해 따로 저장을 해야 할 필요는 없습니다. 또 따로 저장 기능을 지원하지도 않습니다. 값을 바꾼 후에는 그냥 프로그램을 종료하면 됩니다.

 

P.S. : UserVa에 적용시킬 메모리값에 대해..

참고로 UserVa에 적용시킬 메모리의 값에 대해 참고하실 수 있는 정보를 드리겠습니다. 32비트 윈도우(XP, Vista, 7)은 전체 메모리를 4기가로 제한하고 있다고 합니다. 여기에서 4기가 메모리는 Ram 카드만을 이야기를 하는 것이 아니라 윈도우에서 제공하는 가상 메모리를 포함한 모든 메모리를 이야기를 합니다. MS가 이처럼 32bit 윈도우의 메모리를 4G로 제한하는 이유는 드라이버 제조사들 때문이라고 하네요. 컴퓨터에서 동작하는 모든 하드웨어(비디오카드, 사운드카드, 랜 카드 등등을 모두 포함)들은 그 하드 웨어를 동작시키는 소프트웨어가 있어야 하는데 이러한 하드웨어를 동작시키는 소프트웨어를 드라이버라고 합니다. 처음 윈도우 XP가 나왔을 무렵 이 드라이버 개발자들은 윈도우의 메모리가 4G 이상 넘어갈 것을 전혀 고려하지 않고 드라이버를 개발한 탓에 32비트 운영체제에서 돌아가는 드라이버들은 4기가 이상되는 메모리 영역에 올라갔을 때에는 드라이버 자체를 액세스 할 수가 없다고 합니다. 그런데 윈도우의 메모리 구조상 사용자 프로그램의 메모리가 앞에 있고 드라이버를 비롯한 윈도우의 커널을 위한 메모리 영역은 뒤쪽으로 밀려나는 구조를 가지고 있는 듯 합니다. 따라서 사용자의 프로그램을 위한 메모리 영역의 커지면 커질수록 드라이버와 운영체제 커널을 위한 메모리 영역은 점점 더 뒤로 밀려나는 것이지요..

윈도우는 이 드라이버들 때문에 32비트에서 사용할 수 있는 전체 메모리 영역을 물리적인 메모리와 가상 메모리를 모두 합해서 4기가로 제한을 했고 그 중에서 사용자를 위한 메모리를 앞에 2기가, 그리고 각종 드라이버와 운영체제를 위한 메모리 영역을 뒤의 2기가로 설정을 해 놓았다고 하는군요..

한편 지금 UserVa를 바꿔주는 것은 이 4기가의 영역 안에서 사용자 프로그램을 위한 메모리 할당 영역을 바꿔주는 것이라고 합니다. 가령 bcdedit /set IncreaseUserVa 3072 와 같이 명령을 내려주면 사용자를 위한 프로그램에 3기가를 할당을 해 주는 것이지요.. 반면 커널과 드라이버를 위한 영역은 기존의 2기가에서 1기가로 줄어들게 되는 것입니다. 만약 UserVa를 4096으로 해서 사용자 영역에 4기가를 할당해버리면 각종 드라이버와 운영체제용 메모리 영역이 4기가를 벗어나게 되면서 컴퓨터가 작동을 중지하게 되겠지요..

이 UserVa 값은 2기가에서 3기가 사이로 설정을 하는게 적당한듯 합니다.. 물론 이 모든 이야기는 32비트 운영체제를 사용을 할 때의 이야기입니다. 운영체제를 64비트로 바꾸면 해당 사항이 없습니다.

관련 내용이 아래의 링크에 있습니다.
http://www.ebuzz.co.kr/content/buzz_view.html?ps_ccid=80663

 

P.S.: 더 길드 2에 대해 더 자세하고 다양한 정보를 얻기 원하시면 네이버의 더길드 카페(http://cafe.naver.com/theguildz2)를 방문해 보세요.

Posted by yyht
,