AT 최적화리스트 2부

  1.  UI (인터페이스)
  2. Doodads (장식물)
  3. Tranciparancy (알파 오브젝트 : 파티클)
  4. UPkeepFPS (입력 대기 시간)

에 대한 최적화 계획입니다.

  1. UI (인터페이스)

DUI의 렌더링 개선을 주 목표로 잡고 작업합니다.
다이얼로그 리소스 개선은 UI 텍스쳐 데이터를 모아서 찍을 수 있게 하는 기능입니다.

  • DUI 렌더링 개선
        - 텍스트 모듈 개선
        - 다이얼로그 리소스 개선

  • 개선효과 예상 
        - 최저사양에서 1~2 프레임 증가 예상

  • 예상 기간 
        - 올해 안

  1. Doodads (장식물)

Doodad의 개선에 대한 계획입니다. 가장 큰 기획이지만, 완성 후 여러 곳에 연결된 반응과 결과를 기대할 수 있습니다. 

가장 간단한 방식으로는 Doodad들을 지워 버리는 것으로 만들 수 있습니다만, 여기서는 그것보다 훨씬 진보한 방식으로 처리를 시도할 예정입니다. 

어클루젼 컬링이 그것인데, 다른 장식물 (혹은 산) 에 가려진 오브젝트들을 그리지 않는 기능으로
이것이 완성되면 보다 크고 빽빽한 오브젝트나 산을 그릴 수 있게 되면서도 훨씬 빨라지게 됩니다.
그러나 선행조건이 있습니다. 
 

  • 어클루젼 컬링
    a. 쿼드트리 자료구조 만들기 
        : 타일과 오브젝트를 쿼드트리 자료구조로 만들어, 검색을 빠르게 할 수 있게 만듭니다. 
    b. 기존 맵에디터 컨버터 제작 / 쿼드트리 오브젝트 정보 넣기 작업
        : 기존 맵을 수정하지 않고, 기존 맵에 추가 파일을 첨부하는 것으로 쿼드트리가 작동되게 만듭니다. 
        그렇지만 이 작업을 위해 맵에디터가 개선되어야 하며, 모든 오브젝트에 바운딩 박스의 정보가 들어가야 합니다.
    c. 어클루더 기능 추가 / 제작
        : 어클루젼 컬링이 제작되기 위한 차폐막이 제작되어야 하고, 레벨 디자이너가 맵에 차폐막을 찍어줘야 합니다.
    d. 컨테이너 제작 옵션
        : 한 개의 장식물이라도, 텍스쳐의 장수에 따라 각각의 개수로 분리되어 취급되기 때문에, 오브젝트의 개수가 늘어날 수 밖에 없습니다. 때문에 ‘컨테이너’ 라고 하는 옵션을 넣어서, 여러 개로 분리된 오브젝트를 하나로 취급하게 합니다.
    이것으로 Doodad의 Update를 줄일 수 있으리라 예상합니다. 단점은, 모든 오브젝트의 컨테이너 박스와 바운딩 박스 제작이 필수가 된다는 것입니다.

  • 오브젝트 제거 옵션 추가
        장식용 오브젝트는 옵션에 따라 제거해 버릴 수 있는 옵션을 넣습니다.
    물론 맵에디터에서 장식용 오브젝트로 지정을 해 줘야 합니다.
    이것으로 게임에 직접적으로 필요없는 오브젝트는 저사양에서 보이지 않게 할 수 있습니다.

  • 개선효과 예상 
        모든 기능들이 서로 연관되어 있기 때문에 예측하기 힘듭니다만 적어도 최저사양에서 2 프레임 정도의 향상을 기대할 수 있지 않을까 예상합니다. 

  • 기간 
        최소한 09년 1월 내로 초기 결과물이 나오는 것을 목표로 잡고 있습니다. 

  1. Tranciparancy (알파 오브젝트 : 파티클)

알파 오브젝트의 제거입니다. 크게 파티클과 , 기타 오브젝트의 알파 제거 (원거리 오브젝트/ 캐릭터의 알파 제거) 등을 예상할 수 있습니다만, 일단 파티클 제거부터 하겠습니다.

  • 파티클 제거 옵션 
        파티클 제거 옵션은 크게 월드 파티클 제거와 캐릭터 파티클 제거 두 가지로 나뉩니다. 
        파티클은 doodad 개수를 줄이는데 일조하며, 알파 오브젝트의 부하를 줄이는데도 일조할 수 있습니다. 
        문제가 되는 부분은 파티클을 제거했을 때 게임 플레이가 원할한가인데, 테스트 후 옵션으로 적용할 예정입니다.

  • 개선효과 예상 
        파티클이 많은 맵 (ex:용궁, 콘스) 에서의 프레임 증가를 예상할 수 있으며, 전투시 프레임 증가를 예상할 수 있습니다.

  • 기간 
        그다지 오래 걸리지 않을 것 같습니다. 작업 시작 되었습니다.

  1. UPkeepFPS (입력 대기 시간)

입력 대기 시간 코드를 개선하여 효율을 높입니다.

  • 개선효과 예상 
        클라이언트가 무거워 지는 것을 개선할 수 있을 듯 합니다. 
        고사양일수록 효과가 크며, 저사양에서는 큰 효과는 없을 것입니다. 

  • 기간 
        약 1~2 주 가량 걸릴 예정입니다. 

결론 

위 개선을 모두 적용하면, 최저사양에서는 3~4 프레임까지 증가를 조심스럽게 예상 할 수 있으며, 
시스템이 좋아질수록 클라이언트가 가볍게 느껴질 수 있게 될 것으로 기대합니다. 

본 테스트는 애로 조 명근 선생과 기술개발팀 전체의 지원으로 제작되었습니다.

Hugo로 만듦
JimmyStack 테마 사용 중