티스토리 뷰
원작자: John Hinson, Potteryspury, UK, 2008-2010
원문출처: http://www.adventure-unlimited.org/faultfinding.php
번역: 창공의 꿈: http://www.justflight.co.kr
본 문서는 원작자인 John Hinson 씨의 번역에 대한 허가를 얻어 번역된 문서입니다. 한글로 번역하면서 문장상의 흐름을 부드럽게 하기 위하여 약간의 의역된 부분도 없지 않으나, 가능한 원문에 충실하도록 하였습니다. 본 글에서 지칭하는 “저는”, 원작자인 John Hinson 씨를 지칭하는 단어입니다.
플라이트 시뮬레이터 9 또는 Century of Flight 로 알려진 Flight Simulator 2004는 매우 안정적인 프로그램입니다. 초기 제품에서는 여러가지 문제점이 나왔으나 이는 9.1 버전으로 업그레이드가 되면서 대부분 해결되었습니다. 그러므로 대부분의 문제들을 살펴보면 크게 다음과 같은 두가지 문제점에 의하여 발생하는 것으로 보입니다.
1. 메모리나 그래픽 카드 드라이버와 같은 하드웨어 문제
2. 추가로 설치된 애드온들의 문제
본 설명에서는 제가 경험한 문제들과 그에 대한 해결책을 요약하여 제공함으로서 다른 플라이트 시뮬레이터 사용자 분들에게 도움으로 주고자 합니다. 저의 전제는 플라이트시뮬레이터 2004를 윈도우 XP의 서비스팩3 가 설치된 상태를 전제로 하고 있습니다.
만약 9.1 업그레이드 프로그램을 아직 설치하지 않았다면 마이크로소프트 다운로드 사이트(http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=92cf4b8c-ea69-476b-a276-618c4ab52aaf) 에 접속하여 9.1 업그레이드 프로그램을 다운로드 하기 바랍니다.
저는 개인적인 지원은 아직 하지 않고 있으며, 때때로 인터넷의 여러 포럼 사이트를 통하여 도움을 주고 있습니다. 여기서 제공하는 정보는 현재까지의 상태를 기준으로 제공되는 정보라는 것을 미리 언급합니다. 그리고 항상 기존의 프로그램이나 데이터를 변경하는 경우에는 원본을 백업하여 만약의 문제가 발생하는 경우 복원하기를 권장합니다. 여기서 설명되는 절차들이 모든 문제를 해결하지는 못하며, 주의 깊게 실행하지 않는 다면 더욱 더 상황을 악화시킬 수도 있습니다. 따라서 서두르지 말고 천천히 하나하나 짚어 나가기를 바랍니다.
일부의 사람들은 포럼이나 게시판을 통하여 즉각적인 해결책을 원하기도 합니다. 하지만 그런 해결책은 거의 불가능합니다. 많은 애드온과 많은 변경작업이 존재하므로 어떤 문제가 어떻게 발생할 지는 너무나 많은 변수가 존재합니다. 오직 그 문제를 안고 있는 사용자만이 그 문제를 해결할 수 있으며, 문제를 해결하는 데에는 많은 고통의 시간과 검증이 필요할 것입니다. 만약 문제를 여러분이 추적하고 싶다면 인내와 노력을 기울여야만 할 것입니다. 아래의 설명하는 내용들은 여러분의 그런 시간을 줄이는 데 도움을 줄 수 있을 것이지만, 그렇다고 문제 해결을 해야 하는 그 자체가 없어지는 것은 아닙니다.
물론 다른 방안으로 플라이트 시뮬레이터 자체를 처음부터 설치하고 그 다음에 애드온들을 다시 설치하는 것입니다. 재설치가 문제를 해결하거나 또는 그렇지 않을 수도 있지만, 그렇게 하기에는 너무나 많은 시너리와 수많은 AI 기체들이 설치되어 있는 시스템을 뒤엎는 것은 아마도 원하지 않을 것입니다.
■ 원인 규명하기
많은 사람들이 물어보는 문제가 플라이트 시뮬레이터 소프트웨어 자체의 에러입니다. 일부에서는 “Crash To Desktop(CTD)라고 부르기도 하는데, 이는 모호한 표현으로 에러에 대한 적절한 표현은 아닌 것 같습니다. 소프트웨어 자체가 예상치 못하게 충돌(crash)하거나 죽는(down)경우는 다음의 두가지 경우입니다.
- 플라이트 시뮬레이터가 갑자기 사라지는 현상: 이 문제는 보통 그래픽 드라이버와 같은 외부적인 문제로 인한 경우가 많습니다.
- 플라이트 시뮬레이터 화면이 멈추거나, 화면이 없어지거나 또는 화면 표시가 지연되면서 화면에 플라이트 시뮬레이터가 멈추었다는(흔히 얘기하는 돈센드 메시지) 에러 메시지가 표시될 때.
이런 메시지를 보게 되면 그냥 닫거나 하지 마십시오. 아래의 화면과 같이 에러 화면에는 문제가 발생한 원인을 제공하는 중요한 정보(링크)가 있을 수 있습니다. 그러나,
- 문제 자체가 플라이트 시뮬레이터에 의한 것이 아닌 애드온에 의한 것이거나
- 이런 문제에 대하여 해결할 수 없는 업데이트가 없는 경우라면
기술적인 정보는 소프트웨어 엔지니어가 아닌 이상 별로 중요하지 않을 수도 있습니다.
위의 화면에서 상세 에러화면에 나타난 내용을 보면, 문제가 g3d.dll 에 의한 것으로 추정될 수 있습니다. 이런 정보는 문제를 원인을 아는 데에 매우 중요한 실마리를 제공합니다. 아래의 설명들에 알려진 문제와 해결책에 대한 각각의 잠재적 에러를 설명하였습니다.
■ hungapp 에러
때때로 플라이트 시뮬레이터가 특정 공항에서 시작할 경우 멈추는 현상이 발생합니다. 이것은 주로 잘못된 시너리 문제이지만, 공항이 실제 시작하려는 곳과 멀리 있는 공항의 문제로 발생하기도 합니다.
예를 들어 저는 아프리카 남부에 있는 공항에서 출발 할 수 없는 문제가 있었으나, 실제 문제는 미국에 있는 KMAF 공항의 시너리를 제거함으로서 문제를 해결할 수 있었습니다. 실제 KMAF 시너리에는 많은 “exclude” 파일을 포함하고 있다는 것을 발견할 수 있었고, 그런 파일들을 제거함으로서 문제가 해결되었습니다. 흥미로운 점은 KMAF 시너리 자체만을 설치하면 문제가 없었다는 점입니다.
■ ai_playr.dll 에러
이 에러는 보통 여러 개의 AFD 파일의 좌표 문제로 발생합니다. 즉, 실제와는 떨어진 좌표의 공항에서 시작하려 하면 플라이트 시뮬레이터는 그 좌표에 공항이 있다고 가정하여 기동하려다가 문제가 되는 경우가 발생합니다. 그러나 다음과 같은 경우에는 문제가 되지 않을 수 있습니다.
- 여러 개의 AFD 파일이 서로 유일한 좌표를 가지고 있는 경우
- 다른 좌표를 가리키는 AFD 파일이 플라이트 시뮬레이터의 기본 공항을 표시하고 있을 경우 즉, 여러 개의 AFD 파일이 서로 다른 좌표를 가리키고 있을 경우가 문제가 된다고 보입니다.
해결방법: AFCAD2 나 AFX 와 같은 프로그램을 사용하여 문제가 되는 공항의 AFD 파일의 중복되는 지점들을 삭제
■ atc.dll 에러
저는 한번도 경험한 적이 없지만 음성(voice)파일의 문제로 발생하는 것으로 보입니다. 이문제는 설치 디스크에서 usenglishbig.gvp 또는 usenglishsmall.gvp 파일을 추출하여 설치된 파일을 대체함으로 해결된다고 알려져 있습니다.
■ fe.dll 에러
fe.dll 에러는 보통 AI 기체나 애드온 시너리로 인하여 설치된 잘못된 텍스쳐 파일 문제로 발생합니다. Fe.dll 가 발생하는 또 다른 경우는 사용자가 보유한 항공기를 외부 시점에서 둘러 볼 때 발생하기도 합니다. 만약 이런 문제가 AI 기체에서 발생한다면 문제를 해결하는 데 시간이 걸릴 수 있습니다.
■ g2d.dll 에러
이 문제는 보통 이차원 패널과 같이 이차원 그래픽에서 발생합니다. 만약 이런 문제로 플라이트 시뮬레이터를 기동할 수 없다면 먼저 화면 해상도를 변경한 후에 기동을 해보는 방법이 있습니다. 그런 다음에 다시 해상도를 원상 복구하면 됩니다. 몇가지 다른 해결책을 아래에 설명하였습니다.
- 컴퓨터의 BIOS 설정에서 video caching 과 shadowing 옵션을 사용하지 않도록 합니다.
- 그래픽 카드의 fast write 설정을 사용하지 않도록 해봅니다.
- ATI 그래픽 카드인 경우는 Overdrive 를 OFF 로 설정합니다. BIOS 설정 방법은 각 보드 매뉴얼이나 시스템 매뉴얼을 참고하십시오.
■ g3d.dll 에러
저는 이런 에러를 겪은 적은 없지만, g3d.dll 의 에러는 아마도 시너리와 같은 삼차원을 제공하는 화면에서 발생하는 에러입니다.
때때로 이 문제는 특정한 공항에서 시작하는 것이 불가능한 경우가 있습니다. 이러한 문제는 물리적인 문제라기 보다는 플라이트 시뮬레이터가 좀 꼬인 상태에 빠진 것으로, 이런 경우 다른 공항에서 출발하여 문제가 생긴 공항으로 착륙하는 것으로 문제를 해결할 수 있는 경우도 있습니다.
■ ntdll.dll 에러
이 에러를 발생시킨 ntdll.dll 파일은 플라이트 시뮬레이터 소프트웨어의 파일이 아닌 윈도우의 시스템 파일입니다. 이 문제는 여러가지 이유로 인하여 발생하는 것으로 보입니다.
이 문제는 반사되는 텍스쳐를 가진 항공기를 불러올 떄 발생할 수 있습니다. 이런 경우에는 ‘Render to Texture’ 설정 (Settings -> Display -> Hardware) 을 켜거(ON)나 또는 ‘Reflection’ 설정(Settings -> Display -> Aircraft)을 켜는(ON) 하여 해결할 수 있습니다. 이 설정 중의 하나라도 수정하지 않으면, 해당 항공기에서 다시 문제가 발생할 수 있습니다.
이 문제는 반사되는 텍스처를 가진 AI 기체에서도 발생할 수 있는데, 여러분이 운항중인 항공기에서 보이는 거리에 해당 AI 기체가 있을 경우 발생할 수 있습니다.
또 다른 이유로는 ai_playr.dll 에서 언급한 바와 같이 복수개의 AFD 파일이 다른 곳의 좌표를 가지고 있는 경우 발생할 수 있습니다. 또는 AI 기체의 파킹 장소는 설정되었으나 활주로가 닫혀진 채 만들어진 완성이 못된 AFD 파일을 사용하는 경우에도 발생할 수 있습니다.
■ panels.dll 에러
이 문제로 플라이트 시뮬레이터를 기동하지 못하고, 그 문제가 바로 panels.dll 인 경우로 판명되는 경우, 현재 해상도와 플라이트 시뮬레이터에 꼬임에 있을 가능성이 있습니다. 이런 경우에는 fs9.cfg 파일을 다른 장소로 백업한 후에 지웁니다. 그런 다음 플라이트 시뮬레이터를 기동하게 되면 플라이트 시뮬레이터는 초기 설정으로 기동되면서 새롭게 fs9.cfg 파일을 생성합니다. 그런 다음 원본 파일로 교체한 후 다시 기동하게 되면 플라이트 시뮬레이터를 이전의 설정으로 사용할 수 있게 됩니다.
panels.dll 파일 에러가 항공기가 하늘에서 운항중에 발생하는 경우에는 애드온으로 설치된 DXT3 포맷의 구름 텍스처에 의한 문제일 수 있습니다. 32비트 텍스처 또는 원본 구름 텍스처로 다시 설치하여 문제를 해결 할 수 있습니다.
■ symmap.dll 에러
만약 symmap.dll 에러가 발생하면서 플라이트 시뮬레이터를 기동할 수 없는 경우는, 사용자가 기본으로 설정해둔 플라이트 정보(default flight)에 변경이 발생한 경우입니다. 사용자의 기본 플라이트 정보(default flight, C:\My Documents\Flight Simulator Files)를 삭제한 후 플라이트 시뮬레이터를 다시 기동하면, 기본 플라이트 설정 정보가 새로 생성되면서 문제를 해결할 수 있습니다.
■ terrain.dll 에러
이 에러가 별로 놀랍지 않은 이유는 바로 잘못된 애드온 메쉬(mesh)파일로 인한 문제이기 때문이다. 어떤 문제로 인하여 파일이 손상되는 지는 알 수 없으나, 문제를 찾아내고 제거하는 방법이 문제를 해결할 수 있습니다.
저와 같은 경우에는 시스템에 설치된 Philippines-phil_mesh_v21.bgl 이란 파일이 문제를 일으킨 적이 있었습니다. 그리고 이러한 문제는 플라이트 시뮬레이터에 설치된 너무 많은 지형(terrain) 파일이 문제를 일으킨다는 것을 발견하였습니다. 그래서 모든 USA 지형 파일과 Alaska059.bgl 파일을 제거하여 문제를 해결한 적이 있습니다.
또 놀라운 사실은 상용으로 판매되는 제품 중에도 이런 문제를 일으키는 제품이 있는데, 일반적으로는 문제 발견 이후에 별도의 업데이트가 나오거나, 또는 하드웨어 설정을 변경하여 해결하기도 합니다.
또한, 똑 같은 메쉬 파일을 중복하여 설치하는 경우에도 발생하기도 합니다. 또 다른 저의 경험에 의하면, 13,000 평방피트에 이르는 제대로 컴파일이 되지 않은 거대한 튀니지아 메쉬와 컬럼비아 메쉬가 무료로 제공된 극동지방의 메쉬와 문제를 일으킨 적이 있습니다.
■ user32.dll 에러
이 에러는 등록 버전의 FSUIPC.dll 파일을 필요로 하는 게이지에 의하여 발생하는 에러입니다. FSUIPC(피터 도슨의 제품사이트에서 구매 가능: http://www.schiratti.com/dowson.html) 는 타사 제품 중 주로 게이지와 관련된 프로그램과 연동하여 사용되는 라이브러리 입니다. 저도 이전에 RKG_speed.gau 파일이 문제를 경험한 적이 있습니다. 이 문제는 FSUIPC 를 구매하여 설치하지 않는 한 발생하므로, 구매하지 않을 경우에는 사용자의 panel.cfg 에서 해당 게이지 사용을 삭제하는 것이 해결책입니다.
■ 윈도우에서 메모리 부족 에러가 발생할 경우(out of memory)
이 에러는 에러 메시지가 전하는 그대로 메모리 부족 에러입니다. 간단히 줄어서 OOM(Out of Memory) 에러라고 부르기도 합니다. 가장 빈번하게 발생하는 것은 애드온으로 설치한 착륙 공항에 가까워 질 때 발생합니다. 플라이트 시뮬레이터는 프로그램 자체로는 이미 착륙 공항에 대한 정보를 충분히 로딩하였다고 생각하지만, 실제로는 그렇지 못한 경우에 발생합니다.
몇가지 애드온 시너리를 제거할 수 없다면, 유일하게 남은 옵션은 플라이트 시뮬레이터가 컴퓨터의 메모리를 효율적으로 사용할 수 있도록 튜닝하는 방법이외에는 없습니다.
해결책: 문제를 해결하는 방법에는 두가지 방법이 있습니다. 첫번째는 fs9.exe 파일을 수정하여 더 많은 메모리를 사용하도록 하는 방법이 있으며, 다른 하나의 방법은 컴퓨터의 부팅 절차를 수정하여 보다 많은 메모리를 사용하도록 하는 방법이 있습니다.
Fs9.exe 파일의 수정: 4GB Patch 라고 부르는 유틸리티를 사용하여(http://ntcore.dll) 플라이트 시뮬레이터가 보다 많은 메모리를 사용하도록 하는 방법입니다(32비트 윈도우에서는 4기가 메모리를 장착하더라도 3기가(보통 3.2 기가 정도) 이상의 메모리를 사용할 수 없습니다. Fs9.exe 파일을 수정한 이후에는 몇몇의 애드온 소프트웨어들이 정상적으로 동작하도록 파일의 속성들을 수정하는 약간의 복잡한 절차를 거쳐야 합니다. 해당 소프트웨어의 포럼에 해당 사항에 대하여 설명이 있으니 참조하면 됩니다.
부팅 절차의 수정: FS Wiki(http://forums.flightsim.com/fswiki/index.php/OOM_Error) 사이트를 보시면 3GB Switch 와 관련된 상세한 정보가 있습니다. 이 방법에 대해서는 사용자 간의 상당한 이견이 존재하며, 어떤 사용자는 3GB Swicth 와 4GB 패치를 동시에 사용해야 한다는 의견도 있습니다. 저의 경험에 의하면 4GB 패치를 통하여 문제를 해결한 반면, 3GB Switch 를 사용한 경우에는 플라이트 시뮬레이터를 사용하는 동안 멈춤 현상이나 디스크를 자주 읽는 현상이 있었습니다. 저의 의견은 4GB 패치 방법을 권장합니다. 4GB 패치를 하게되면 원본 fs9.exe 파일을 백업하므로 다시 원래 상태로 만드는 것도 어렵지 않습니다. 이 방법은 no-cd 패치를 한 fs9.exe 파일에도 적용이 가능합니다.
■ 문제를 일으킨 파일을 찾고 제거하기
어떤 경우에는 문제를 찾아서 해당 파일을 제거하는 데에 많은 시간이 걸릴 수 있습니다. 이 방법은 사실 유일한 방법이며, 아무도 여러분을 대신하여 해 줄 수도 없으며, 빨리 처리할 수 있는 방법도 없습니다. 그저 장시간 이빨을 지그시 물고 시스템적으로 그리고 지루한 테스트를 반복하는 방법 이외에는 없습니다.
먼저 문제가 어디서 반복적으로 발생하는 지 확인하고, 그 상태를 저장하여 문제가 고쳐진 경우 확인할 수 있도록 합니다. 피터 도슨씨가 제공한 autosave.dll 파일을 이용하면 자동적으로 항공기 운항을 지정된 주기마다 저장해 주므로 꽤 쓸모 있는 유틸리티 입니다.
- 만약 문제가 애드온 시너리라고 생각된다면, 임시적으로 모든 애드온 시너리를 사용하지 않도록 설정합니다.
- 만약 문제가 AI 기체에 의한 것이라고 생각된다면, 임시적으로 모든 AI 기체를 다른 폴더에 이동 시킵니다.
- 이런 방법으로 문제가 발생하지 않는다면, 50% 의 시너리 또는 AI 기체를 다시 사용할 수 있도록 한 후에, 다시 플라이트 시뮬레이터를 테스트 합니다.
- 문제가 해결되었나요? 그러면 문제는 나머지 50% 에 있습니다. 문제가 해결되지 않았다면 설치한 50% 에 문제가 있다는 것을 추측할 수 있습니다.
- 같은 방법으로 50% 씩 줄여가면서 테스르를 진행하다 보면 문제를 찾아 낼 수 있습니다.
그리고, 특정 텍스처 파일이나 시너리 bgl 파일을 같은 절차를 이용하여 문제를 해결할 수도 있습니다. 그러나 대부분 사용자들은 애드온 항공기나 시너리를 같이 묶어서 테스트 하기를 원하는 경우가 많습니다.
■ 시스템을 좋은 상태로 유지하는 팁
규칙1: 주기적으로 플라이트 시뮬레이터를 백업합니다. 전체를 모두 복원하는 상황이 발생하는 경우는 드물지만, 때때로 문제가 발생한 몇 개의 파일을 복원하는 데에도 도움이 됩니다.
규칙2: 가능하다면 자동 설치 프로그램을 사용하지 않도록 합니다. 자동 설치 프로그램을 사용하면 편할 수는 있으나 시스템에 어떤 것이 설치되는 지 전혀 알 수 없는 경우가 발생합니다(플라이트 시뮬레이터 폴더 또는 다른 폴더에). 또 자동 설치 프로그램에는 보이지 않는 바이러스나 스파이웨어 같은 것이 포함된 경우도 있어 시스템을 망가뜨리기도 합니다. 설치한 시너리 파일이 공항을 사실적으로 표현하는 것처럼 보이게 만들 수도 있으나, 어떤 경우에는 기본 파일을 덮어 써서 다른 공항도 모두 똑 같은 형태로 만들어 버리는 경우도 있습니다.
일반적으로 자동 설치 프로그램은 설치할 폴더를 사용자에게 결정할 수 있도록 해주기도 하지만, 그런 옵션을 제공하지 않거나, 심지어는 특정 폴더를 지정했음에도 불구하고 플라이트 시뮬레이터 폴더에 설치해 버리는 경우도 있습니다. 이런 경우에는 플라이트 시뮬레이터 폴더의 이름을 ‘Flight Simulator 9.temp’ 와 같이 변경한 다음 자동 설치를 실행하여, 어떤 파일이 설치되는 지 확인하여 그 파일을 사용할 지 여부를 결정할 수 있습니다. 무료로 제공되는 파일 들을 설치할 경우에는 좀 더 신경을 쓸 필요가 있습니다.
규칙3: 문제가 발생한 경우 윈도우의 복원 기능을 사용하지 않는 것이 좋습니다. 윈도우 복원 기능을 사용하면 문제가 해결되기 보다는 더 문제가 복잡해 지는 경우가 많습니다. 윈도우 복원은 윈도우의 복원에 우선되어 있어 타 소프트웨어를 복원하지는 않습니다.
■ 잘못된 소문들
때때로 판명되지 않은 사실 들이 사실과 같이 받아 질 때까지 퍼져 가는 경우가 있습니다. 다음과 같은 사실들은 제가 알고 있는 한, 사실이 아닙니다.
- 출발장소가 없는 AFD 파일은 문제를 일으킨다.
- 시너리의 레이어는 331개로 제한되어 있어, 그 이상의 것을 넘게 되면 작동하지 않는다.
- 하나의 항공기 폴더에 들어갈 수 있는 기체의 수는 200개로 그 개수를 넘는 기체는 사용할 수 없다.
- 애드온 제품을 플라이트 시뮬레이터에 설치할 때, 바이러스 소프트웨어 기능을 일시 중지하여야 한다. 현명하지 못한 가이드임.
- 하나의 공항을 위하여 여러 개의 ADF 파일을 설치하는 경우 반드시 문제가 생긴다. – 항상 그런 것은 아님. ai_palyr.dll 항목을 확인.
- 빈 텍스처 폴더는 프레임을 떨어뜨리거나 메모리 부족 문제를 일으킨다(FS2002 에서는 landclass 파일과 관련하여 문제가 있었으나 FS2004 에서는 해결되었음).
지금까지 설명한 내용들이 쓸모 없는 내용은 아닐 것입니다. 제가 설명한 내용과 백업을 같이 수행한다면 소프트웨어 충돌 문제가 계속 되지는 않을 것입니다.
'Just Flight' 카테고리의 다른 글
진에서 HL7555 @인천공항 Take-off (0) | 2014.01.08 |
---|---|
제트 여객기의 엔진은 몇개인가요? (4) | 2013.12.18 |
세계에서 가장 큰 공항은? (0) | 2013.12.18 |
세상에서 가장 위험한 공항들 - Princess Juliana Airport (0) | 2013.12.18 |
일본 북서부로 가는 길이 빨라진다. (0) | 2013.12.18 |