UDN
Search public documentation:
VFXOptimizationConceptsKR
English Translation
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
UE3 홈 > 파티클과 이펙트 > 파티클 시스템 > UE3 의 VFX 최적화 > VFX 최적화: 핵심 개념
UE3 홈 > FX 아티스트 > UE3 의 VFX 최적화 > VFX 최적화: 핵심 개념
UE3 홈 > FX 아티스트 > UE3 의 VFX 최적화 > VFX 최적화: 핵심 개념
VFX 최적화: 핵심 개념
문서 변경내역: Jeff Wilson 작성. 홍성진 번역.
GPU, 렌더 스레드, 게임 스레드 이슈 식별하기
- 콘솔에서 게임을 실행합니다.
- tab 키를 치고 'stat unit' 이라 입력합니다.
STAT PARTICLES
명령을 사용하여 여러가지 스레드에서의 파티클 시간을 측정합니다.

STAT PARTICLES
은 게임 스레드와 렌더 스레드에 관계된 통계를 여럿 출력합니다. 드로 콜 (렌더 스레드) 과 틱 시간 (게임 스레드) 에 주목해 보십시오.
게임 스레드 관련 이슈 집어내기

ParticleTickStats
명령을 사용하여 어느 시스템이 문제아인지 알아볼 수 있습니다.
ParticleTickStats
명령에는 인수가 셋 있습니다:
- Single - 한 프레임을 캡처하여 파일로 출력합니다.
- Start - 통계 캡처를 시작합니다.
- Stop - 통계를 끝내고 일정 기간동안의 틱 시간을 볼 수 있습니다.
[UE3 디렉토리]\[게임명]\Profiling\PSTick-[sys time].csv
스프레트 시트는 이펙트의 비용을 개략적으로 나타내는 행과 열로 나뉩니다.

- Total Tick ms
- 그 파티클 시스템의 모든 인스턴스를 틱하는 데 걸린 총 시간입니다.
- Avg Tick ms
- 그 파티클 시스템을 틱하는데 걸린 평균 시간입니다. (총 틱 / 틱)
- Max Tick ms
- 그 파티클 시스템의 인스턴스에 대해 가장 높은 틱 시간입니다.
- Ticks
- 그 파티클 시스템의 인스턴스 수 입니다.
- Avg Active/Tick
- 그 파티클 시스템의 틱 도중 활성 파티클 평균 수 입니다. (총 파티클 / 틱)
- Max Active/Tick
- 그 파티클 시스템(의 한 인스턴스)의 틱 도중 활성 파티클 최대 수 입니다.
- 사용되고 있는 시스템의 파티클 방출 횟수를 줄입니다.
- 씬의 파티클 시스템 수를 줄입니다.
- 일부 이미터에 대한 수명(파티클 평가가 계산되는 기간)을 줄입니다.
- 콜리전 등 비싼 계산을 검사하여 최적의 세팅을 사용중인가 확인하고, 콜리전이나 충돌하는 파티클/메시 양을 줄입니다.
- 필요하면 콜리전, 다이내믹 파라미터 등 비싼 계산을 없앱니다.
- 가능하면 게임 스레드 계산되는 파티클 이펙트를 스태틱 메시 이펙트로 대체합니다.
- 파티클 시스템에 고정 바운드를 설정하여 매 프레임마다 계산되지 않도록 합니다.
- (LODMethod 를 automatic 으로 설정한 루핑 이펙트에 대해) LodDistanceCheckTime 을 늘려 LOD 검사 빈도를 낮춥니다.
Unreal Frontend 를 사용하여 콘솔에서 빌드 런치하기
Unreal Frontend 는 프로젝트의 Binaries 폴더에서 찾을 수 있습니다.[UE3 디렉토리]\Binaries\UnrealFrontend.exe
Unreal Frontend 는 타겟 플랫폼에서의 로컬 데이터 결과를 확인하기 위해 어떠한 규칙으로도 빌드나 레벨을 빠르게 쿠킹하여 디플로이(배치)할 수 있는 GUI 입니다. Unreal Frontend 는 에디터나 다른 툴과의 링크도 포함해서 프로젝트를 런치하는 곳으로 사용할 수도 있습니다. 이 툴에 관련된 상세 정보는 Unreal Frontend KR 페이지를 참고하십시오.
이펙트의 퍼포먼스에 관해서, 게임이 얼마나 잘 돌아가고 있는지 비교적 정확하게 측정하기 위해 게임을 실행할 때는 두 가지 파라미터를 집중해서 사용하게 됩니다. Launch Options 박스에서 명령에 -novsync, -noverifygc, -noailogging 입니다.
-novsync 는 (30 fps 로 고정시키는) 수직 동기화를 꺼서 씬에 부하가 얼마나 걸리는지 볼 수 있으며, -noverifygc 는 주기적인 가비지 콜렉션을 꺼서 버벅임이 자주 발생하지 않도록 하고, -noailogging 은 게임을 꽤나 느리게 만드는 ai 로깅을 끕니다. ai 로깅과 가비지 콜렉션을 켜면 백그라운드로 실행되어 퍼포먼스가 낮아집니다. 이 옵션들을 꺼 주면 디스크 로드 시간만 뺀 상태로 최종 릴리스 빌드에서 실제에 가까운 프레임율을 얻을 수 있습니다.

FX 배치(batch) 문제해결
ParticleSystemAudit
이 커맨드렛은 MineCookedPackages 결과로 생기는 데이터베이스에 포함된 모든 파티클 시스템에 대해 심사를 합니다. 주: 'On DVD' 태그를 사용하도록, 단순히 모든 기존 파티클 시스템을 검사하도록 변경될 것입니다. 콘텐츠 최적화/수정을 돕기 위해 다음과 같은 부분이 포함된 csv 파일을 생성합니다:- All particle systems w/ NO LOD levels
- NO LOD 레벨이란 파티클 시스템이 '비어' 있다는 뜻입니다.
- All particle systems w/ a single LOD level
- 이 시스템을 검토해서 배경 (레벨에 놓인) 이펙트가 아닌지 확인합니다. 그러한 경우 보통 LOD 를 활용하여 원거리의 이미터를 끄는 것이 좋습니다.
- All particle systems w/out fixed bounds set
- 고정된 상대 바운드를 활용할 모든 파티클 시스템입니다.
- All particle systems w/ LOD Method of Automatic & a check time of 0.0
- 파티클 시스템이 매 프레임마다 LOD 를 검사함을 나타냅니다.
- All particle systems w/ bOrientZAxisTowardCamera enabled
- 게임이 분할화면을 지원한다면 이 시스템은 문제를 일으킵니다.
- All particle systems w/ missing materials
- 이 시스템은 디폴트 머티리얼로 렌더합니다.
- All particle systems w/ no emitters
- 이 시스템은 '비어' 있습니다. 지워야 할까요?
- All particle systems w/ collision on in at least one emitter
- 현재 콜리전 메서드로는 파티클에 대한 연산 비용이 매우 높습니다.