2014년 10월 20일 월요일

[강좌] Flight Simulator 2004. 고퀄리티의 지형텍스쳐를 감상하며 비행해보 자

올해로 나온지 5년이 되어가는 FS9의 경우, 프레임도 잘 나오고, 또한 여러가지 애드온들이 많기 때문에
FSX에 비해 안정적이고 빠른 속도에서 비행을 즐길 수 있습니다.

물론 꽤나 높은 사양으로 컴퓨터를 맞추게 된다면 FSX도 어느정도 안정적으로 돌릴 수 있기는 하지만,
그렇게 까지 하기 위해서는 여러가지로 추가비용이 들어간다는 점과,
듀얼코어급 이상이라면 FS9에서 어지간한 옵션을 다 올려놓고도 답답하지 않게 프레임을 뿌려주기 때문에,
FSX로의 전환을 망설이는 분들이 많은걸로 알고있습니다.

하지만 고사양이라 할지라도, FS9에서는 FSX의 깨끗한 텍스쳐나 비행특성(!)의 경우는 따라갈 수가 없다는 단점이 있지요.
이러한 문제들 중, FS9.cfg 수정을 통한 지형텍스쳐의 퀄리티를 극대화 시키는 법에 대해서 이야기 해볼까 합니다.

이미 외국의 포럼에서 언급이 되기도 하였고, 실제로 국내에서도 많은분들이 사용하시는 방법이기도 한데,
여기저기서 설정값에 대한 한계치나 수치 변경 이후에 발생하는 문제들 때문에 고생하는 분들도 여럿 계신듯 합니다.

사실 외국 포럼에서는 이 설정법에 대한 사항이 알려진지는 꽤 오래된듯 합니다만,
국내에서는 아직 이와 관련된 세부적인 설정법에 대한 글이 없는듯 하여 이번 기회에 한번 설명해 볼까 합니다.

* * *

테스트에 이용된 컴퓨터 사양에 대한 간략한 소개를 하자면 다음과 같습니다.
CPU : Conroe E2160 (1.8G No over)
RAM : 4G (DDR2 PC6400 2G x2, Single Channel)
VGA : Radeon HD4870 512mb
O/S : Windows XP x86

현재 옵션값의 경우, 시야, 3D cloud Percentage를 제외한 나머지는 풀로 돌아가고 있으며
대규모 공항에서 평균 10~15fps, 순항시 15~35이상의 프레임을 뽑아주고 있습니다.
(아래 설정값 적용했을 때의 경우이며. 적용하지 않았을 경우 그보다 더 높은 프레임을 뽑아줍니다.)


그럼 설정하는법에 앞서, FS9.cfg 세부설정 전과 후의 비교 스크린샷을 보고 계속해서 이야기 하도록 하겠습니다.
(위 : 설정 전 / 아래 : 설정 후)


1. 공항



공항의 경우, 설정값에 따른 차이를 느끼기 힘들었습니다.



2. 저고도



큰 차이는 없습니다만, 원거리 텍스쳐가 보이기 시작할 무렵부터는 확실하게 차이가 납니다.



3. 고고도



...궂이 설명 안드려도 되겠지요?

같은 장소에서 찍은 스크린샷이라야 그 비교가 확실하게 되겠지만, 이 부분에 대해서는 미처 준비를 하지 못한 관계로
서로 다른 위치에서 찍은 스크린샷을 가지고 비교를 해보았습니다.

그렇다 할지라도, 비교하는데에 있어서 커다란 문제는 없었으리라는 생각이 듭니다.
임의 설정전은 원거리 텍스쳐가 뭉개지거나 흐릿한 반면,
설정 후는 어느정도의 원거리까지 선명한 텍스쳐를 뽑아주고 있음을 확실히 느낄 수 있으니까요.


* * *

자, 이제 본격적인 설정법에 대해 알아보도록 하지요.
FS의 텍스쳐 로딩의 경우, 기본적으로 플레이어의 항공기를 중심으로 일정 반경(원형)만큼 고품질 텍스쳐가 로딩되고,
그 이후의 거리에 대해서는 점차적으로 저 퀄리티의 텍스쳐를 로딩함으로서 하드웨어의 부하를 줄이는 구조로 되어있습니다.

하지만 이 사항을 임의로 수정할 수 있는데, 바로 FS9.cfg를 수정하는 것입니다.
(FS9.cfg는 %userprofile%\Application Data\Microsoft\FS9  이 경로에 위치하고 있습니다.)

FS9.cfg중, 다른 부분은 건드릴 것 없고, 『Terrain』항목 중 일부 옵션값을 변경하면 되는데, 해당 항목은 다음과 같습니다.

TERRAIN_MAX_VERTEX_LEVEL
TERRAIN_EXTENDED_TEXTURES
TERRAIN_DEFAULT_RADIUS
TERRAIN_EXTENDED_RADIUS
TERRAIN_EXTENDED_LEVELS

그럼 저 항목에 대한 세부설명을 해보도록 하겠습니다.
기본적으로 값은 클수록 더 디테일하게 표시되구요.

● TERRAIN_EXTENDED_LEVELS : 메쉬에 대한 디테일과 관련된 것으로 기본값은 19, 최대 21까지 설정할 수 있습니다.

● TERRAIN_EXTENDED_TEXTURES : 0과 1 두가지의 값을 가지고 있으며, 0은 확장텍스쳐 사용안함, 1은 사용함을 의미합니다.
    FS의 Display옵션에서 Extended Texture옵션에 체크를 하느냐 안하느냐에 따라 달라지는데, 보통 이 옵션에 체크를 해야
    지형 텍스쳐의 퀄리티가 한결 좋아집니다.

● TERRAIN_DEFAULT_RADIUS : 플레이어 항공기를 중심으로 반경 40mi까지의 텍스쳐 디테일을 설정하는 옵션입니다.
    0~9.99까지 설정할 수 있고, 10.0이상의 값부터는 넣어도 9.99의 값으로 인식됩니다.
    값이 높아질수록 텍스쳐가 선명해지는 것을 느낄 수 있으며, 저품질 텍스쳐에서 고품질 텍스쳐로의 리프레쉬 속도가 빨라집니다.
    어차피 항공기 가까이에 있는 텍스쳐는 고화질로 뽑아주다보니 이 값은 크게 의미가 없습니다. 기본값은 0

● TERRAIN_EXTENDED_RADIUS : 플레이어 항공기를 중심으로 원거리 텍스쳐의 디테일을 설정하는 항목으로,
    이 값을 변경했을 경우, 가장 큰 개선효과를 누릴 수 있습니다. 위 항목과 마찬가지로 0~9.99까지 설정 가능하며 이후값은 무시됩니다.
    1.5를 넣었을 경우 70mi까지 고해상도로 뽑아주며, 최대값인 9.99를 넣으면 100mi 거리의 텍스쳐까지 고해상도로 뽑아줍니다.
    주의!!! :  몇몇 VGA의 경우, 3.9를 초과한 (4.0이상) 값을 입력하면, 일부 고해상도 애드온 메쉬에서
    메쉬데이터가 찢어지는 Texture Tearing (Blue Silvers)현상이 발생할 수 있습니다.
    
이에 대한 스크린샷은 아래 별도로 올려놓도록 하구요.
     기본값은 0입니다.

● TERRAIN_EXTENDED_LEVELS : 0~8까지의 범위를 가지고 있으며, 바로 위 TERRAIN_EXTENDED_RADIUS에 대한
    텍스쳐 퀄리티와 샤프니스를 담당합니다. 4를 넘어선 5부터서는 변화를 확인할 수 없었으며, 8을 넘어선 값부터서는 무시됩니다.
    역시 기본값은 0입니다.


그럼 지금부터 앞서 설명한 옵션값에 따른 그래픽 성능차이를, 스크린샷을 통해 비교해보도록 하겠습니다.

스크린샷 아래 기입하게 될 수치는 다음과 같습니다.
TERRAIN_EXTENDED_LEVELS / TERRAIN_EXTENDED_TEXTURES / TERRAIN_DEFAULT_RADIUS /
TERRAIN_EXTENDED_RADIUS / TERRAIN_EXTENDED_LEVELS



■ 비교.1 (수치비교)


21 / 1 / 9.99 / 9.99 / 8





:: 설명 ::
앞서 설명해드렸다시피, 인식할 수 있는 최대값과, 최대값을 초과한 값으로 설정한 후의 스크린샷입니다.
시간과 장소를 동일하게 하여 비교를 해보았는데, 최대값을 초과한 값을 넣는다 할지라도,
퀄리티에 영향을 주지는 않는다는 것을 확인할 수 있습니다. (확대 비교해보았지만 차이점을 발견하지 못하였습니다.)




■ 비교2 (TERRAIN_EXTENDED_RADIUS 값에 따른 Texture Tearing현상 및
   TERRAIN_EXTENDED_LEVELS값 변경에 따른 텍스쳐 퀄리티 변화 비교)



21 / 1 / 9.99 / 9.99 / 8




21 / 1 / 9.99 / 9.99 / 4




21 / 1 / 9.99 / 3.9 / 4

:: 설명 ::
앞서 이야기 했듯, 몇몇 VGA에서 TERRAIN_EXTENDED_RADIUS값이 3.9를 초과하는 경우, 메쉬가 찢어지는 현상이 일어난다 했는데
마침 제가 사용하고 있는 VGA에서도 그 현상이 발생하였습니다.
(해당부분을 아래 스크린샷의 붉은색 타원형으로 표시하였습니다.)



하지만 TERRAIN_EXTENDED_RADIUS값을 3.9로 했을 경우, Texture Tearing현상이 발생하지 않았지만,
값이 9.99일때는 텍스쳐가 전체적으로 선명했던 반면, 3.9로 낮춘 후로는 살짝 뭉개지는 부분이 생겼습니다.

그리고, TERRAIN_EXTENDED_LEVELS 값의 경우, 8과 4일 때의 차이는, 확대 비교까지 했지만 그 차이를 발견할 수 없었구요.


* * *

자. 이제 정리에 들어가보도록 하죠.

앞서 설명드린대로, 일정 값 이상의 수치를 입력한다 해서 텍스쳐 퀄리티가 한없이 좋아지는 것은 아니고,
각각의 값마다 최고 설정치가 따로 존재하고 있습니다.

또한, 변경항목 중, 가장 큰 영향력을 행사하는 것은 TERRAIN_EXTENDED_RADIUS 값인데, 몇몇 VGA에서는 이 항목에 대한 값이
3.9를 초과할 경우 Texture Tearing현상이 발생하기도 하였습니다.
(3.9에서도 발생합니다만, 해당 시점을 계속 보고 있을 경우, 추가적인 텍스쳐 로딩으로 해당 부분을 메꿔주었습니다.)
9.99에서 3.9로 낮출 경우, 텍스쳐 일부가 기본값일때 처럼 뭉개지는 현상이 발생하였지만
그렇다 할지라도, 기본값에 비해서는, 한결 향상된 퀄리티의 텍스쳐를 표현해주고 있습니다.

TERRAIN_EXTENDED_LEVELS의 경우 메쉬 퀄리티를 담당한다고 하였는데, 더 자세히 설명하자면,
기본값인 19의 경우 75m급 메쉬를 표현하며, 18은 150m, 20은 37m, 21은 19m 해상도 까지 표현할 수 있습니다.

다른항목이긴 하지만 바로 위 [Display]항목을 보면 TEXTURE_BANDWIDTH_MULT라는 항목이 있습니다.
이 항목은, 그래픽카드에서 수행하는 지상텍스쳐 처리속도를 결정하는 것이라 하는데,
수치가 높아질수록 처리하는 텍스쳐의 양은 많아지지만, 그만큼 높은 물리적인 비디오 메모리를 요구한다고 합니다.
(비디오카드 메모리가 128mb이하의 경우, 수치를 올려도 의미가 없다고 하네요.)
해당항목 값은 컴퓨터 사양마다 각기 다르므로 기본값 그대로 놔두는 편이 좋을 것 같습니다.


그럼 마지막으로, 위의 설명에 맞는 이상적인 값을 정리해보면,
(편의를 위해 수정항목만 나열해놓은 것으로, FS9.cfg에 있는 항목들과 순서가 다릅니다. 아래 내용 그대로 붙여넣기하지 마십시오.)

[Terrain]
TERRAIN_MAX_VERTEX_LEVEL=21
TERRAIN_EXTENDED_TEXTURES=1
TERRAIN_DEFAULT_RADIUS=9.9
TERRAIN_EXTENDED_RADIUS=3.9 (Texture Tearing이 없다면 9.99까지)
TERRAIN_EXTENDED_LEVELS=4

이렇게 되겠네요.

물론 원거리 텍스쳐까지 디테일하게 표현하다보니 어느정도 프레임 감소는 있습니다.
너무 저사양 컴퓨터에서 시도할 경우 오히려 비행하는데 지장이 생길 수 있으니
자신의 컴퓨터 사양이 어느정도 받쳐주는 경우에만 적용하는 것이 좋을 듯 합니다.
또한, 너무 높은 값으로 설정하는 경우 (한계치를 초과하는 경우) FS자체가 튕겨버린다든지, Freeze되는 등의 오작동을 할 수 있습니다.

물론 적용 전 FS9.cfg파일 백업은 필수겠지요?


이미 알고있는 분들도 계시겠지만,
이 방법을 모른 상태에 나는 컴퓨터 사양도 높은데 왜 다른사람 그래픽처럼 깨끗하게 나오지 않는거지? 하는 분들이라면
한번 적용해보시어 이전 비행했을 때의 지형텍스쳐와 비교해보는 것도 좋을듯 합니다.

왠지 횡설수설해버린듯 합니다만, 끝까지 글 봐주셔서 감사합니다.



본 글을 작성할 수 있게, CFG자료를 제공해주신 AfterBurner님께 감사말씀 드립니다.


* * *
p.s
* * *

테스트에 사용된 스크린샷을, 웹에서 비교하기 힘들다 하시는 분들을 위해 별도로 제공해드립니다.
zip파일을 다운받으시면 되며, 내부에 각 옵션값별 퀄리티 비교 스크린샷이 들어있습니다.
창모드로 실행한지라, 해당 부분 크롭을 제외한 리사이즈, 색보정등등의 후보정작업은 하지 않았습니다.

 

첨부파일 screenshot.zip

 

출처 : 플라이트 시뮬레이터 | 글쓴이 : 유이[김성수] | 원글보기

댓글 없음:

댓글 쓰기