Study/Unreal_Engine

[언리얼엔진코스] 실시간렌더링 기초

하유우 2021. 8. 25. 14:23

Real-Time Rendering Fungamentals

 

 

1. 다이내믹 섀도의 퀄리티 : Esc 밑에있는 ~ (물결키) 누르면 사용 명령어 나온다.

R.shadowquality 0 입력 : 그림자를 완전 꺼버림

R.shadowquality 1 입력 : 그림자가 나타나지만 품질이 매우 나쁨(거칠고 단순)

숫자는 5까지 설정이 가능

 

 2. 디퍼드 렌더링 , 포워드 렌더링

  • 두가지 실시간 렌더링
  • 디퍼드 렌더링 : 고사양 안정적인 퍼포먼스 보여줌 ex) 대형 블록버스터 게임, 언리얼에서 디퍼드가 기본

Temporal Anti-Aliasing약자 TAA 제공함 , 프레임에서 약간의 고스트 현상이 발생(디퍼드의 한계!)

  • 디퍼드의 약점 : 안티에일리어싱(포워드에서 구현이 잘됨)
  • 디퍼드렌더러는 Gbuffer( 프레임의 이미지세트, 엔진이 사용할 데이터를 만드는 식으로 씬의 렌더링 프로세스를 돕는기능) 사용,
  • 포워드 렌더링 : 간단한 용도나 하드웨어 성능이 제약 경우 퍼포먼스가 빠르다 ex) 모바일이나 vr 게임에서 사용, 보통 하드웨어 제약이 있는 상황에서 많이 사용 ex) MSAA 사용

 

 3. RenderDog : 언리얼엔진 있는 것이 아니라 쉽게 다운로드 있는 렌더링 !

캡처한 프레임을 분석하는 툴인데 , 에디터나 게임에서 프레임을 캡쳐하면 프로그램이 분석한다.

머티리얼 메탈릭, 스페큘러, 러프니스가 저장이 따로 된다.

 

 

4. 픽셀과 버텍스 쉐이더

  • 렌더링 도중에 보통 아주 단순한 계산을  번씩 해야하는데 작업을 줄이기 위한 방법이 섀이더이다.렌더링 성능에도 영향을 끼친다.
  • 픽셀 셰이더 : 값을 조정하고 색을 변환하고 새롭게 출력한다. Ex) 픽셀 색을 저장해 계산하고 새로운 값을 출력한다.
  • 픽셸 셰이더는 픽셀단위 , 버텍스 셰이더는 버텍스 단위로 작업함
  • 픽셀 셰이더 : 머티리얼 렌더링 , 안개 , 포스트 프로세스 ,이펙트 많은 것을 처리 =>렌더링 파이프라인의 핵심 요소이다.

 

5. 실시간 렌더링 퍼포먼스

  • 보통은 초당 30프레임 또는 초당 60프레임을 목표로한다.
  • Ms 밀리초를 나타내는데, 렌더링 이미지 한장 렌더링에 드는 비용 ,

초당 프레임보다 많이 사용하는 단위며 , 비용이 수록 프레임 속도는 낮다.

Ex) 60fps 초당 60프레임을 의미, ms 숫자는 낮을수록 좋다. 퍼포먼스 측정 방법으로는 좋은 방법

엔진을 사용해서 제작할때 단위를 많이 사용한다.

퍼포먼스를 측정할 또는 배경과 렌더링 결과를 측정할 사용

  • 콘솔 도구 / 출력로그에서 확인 : 창 - 개발도구 - 출력로그

출력로그에서는 명령어를 입력할 있음 "stat fps" 입력시 프레임 속도 확인 가능

명령어 이외 , 화살표를 클릭해 밑에 사진과 같이 확인 가능

 

  • "t.masfps 600" 입력시 : 프레임 속도의 한계 제거 가능 , 숫자 변경 가능 (퍼포먼스 측정시 보통 프레임 속도제한 제거하는 것이 좋음, 그렇지 않으면 실제 작업한 효과가 보이지 않을 수도 있음 )
  • "Stat unit" : Frame Stat fps 값이 비슷! 개가 동일하다.

 

 

  • CPU :  기본적인 앱과 배경에 해당하는 부분 , 사라지거나 사물의 위치 이동
  • GPU : 기본적인 실제 렌더링 담당
  • 실시간 렌더링 퍼포먼스 : 두가지 모두가 작동 . 프레임 속도가 낮은경우  cpu인건지 gpu인건지 알아내야함 둘다 동기화 상태여야함 => 앱이 느려지는 원인 파악이 중요
  • Stat rhi : 추가정보 목록 , 다시 입력시 패널이 사라짐
  • Stat Scenerendering : 단계에 소모되는 값을 보여줌 ,
  • 화면의 픽셀 수가 많을수록 복잡하고 소모값이 높은 머티리얼이며,  복잡한 머티리얼이 퍼포먼스에 미치는 영향도 크다 .

 

퍼포먼스에 영향을 주는 4가지

  • 드로 콜이나 픽셀 버텍스 섀이더의 영향
  • 비용이 높아 픽셸 섀이더에 영향을 주는 반투명 문제
  • 폴리곤 수가 높은 모델을 사용할때
  • 속도 저하가 생기는 다이나믹 섀도