
youtu.be/znfyEhpsXkU Galaxy GameSDK (samsung) 사용목적 모바일디바이스의 상태정보 온도 발열상태 bottleneck 실시간으로 성능/품질 조절 급격한 성능저하 회피 적용예 동적변환 퀄리티요소 Shadow distance Foliage LOD Animation LOD Target Framerate Feature Parameter (변하는 양) Scaling Impact Shadow Distance 80~50 CPU 0~10% offloading Foliage LOD 1~0.8 GPU 0~5% offloading Animation LOD 0~2 CPU 0~3% offloading GPU 0~1% offloading Target Frame Rate 60~57 CPU 0~5% ..
간략히, 디바이스상태(정상/쓰로틀링직전/쓰로틀링상태, CPU delay, GPU delay)에 따라 targetFrameRate를 조절하거나 CPU/GPU level의 조정, LOD의 제어를 하게하는 기술 (삼성 디바이스에서만 가능..) 더보기 Adaptive Performance Samsung (Android)은 현재 Android 10을 실행하는 다음 Samsung 장치를 지원합니다. 모든 구형 및 신형 Samsung Galaxy 모델 Samsung GameSDK 3.2+가 설치된 장치를 지원합니다. 가변 주사율 은 현재 Galaxy S20에서만 지원됩니다. [메가시티프로젝트 다운로드] Unity 패키지 관리자를 통해 어댑티브 퍼포먼스를 설치한 후 디바이스에 프로젝트를 빌드하면, Unity에서 삼성 ..

youtu.be/C0UNzBRUr6Q arm과 unity가 협력하여 arm 프로세서의 멀티코어 프로세서 성능을 활용하는 방법 컴파일러 기술을 활용한 ARMv8 Architecture에 타게팅한 최적화기술 버스트(burst) 컴파일러란? unity 앱용 LLVM을 사용해 IL/.NET 바이트코드의 하위세트를 최적화된 네이티브코드로 변환하는 컴파일러 기술. 본래 job과 DOTS와 연동되도록 디자인 되어있음. 범용컴파일러가 아닌 특정한곳에 사용할 컴파일러. 데이터지향설계를 지향. [BurstCompile] struct MyJob : IJob { public NativeArray Input; public NativeArray Output; public void Excute() { for(int i=0; i

youtu.be/d_0uDfNEOk8 프로파일러에서 graphics.blit/device.present 항목으로 대기하는 부분은 gpu boundary 즉, gpu job이 끝날때까지 cpu가 대기하고 있다고 보면 된다. 프로파일러에서 calls가 높고 ms가 높다면, cpu에서의 draw call이 높다고 볼 수 있다. Gpu 프로파일링 Fillrate = 화면 픽셀수 x 프래그먼트 쉐이더 복잡도 x 오버드로우 gpu의 경우 유니티 프로파일러로는 측정이 불가함. 최근 디바이스의 경우 해상도가 hd 이상으로 올라가는 경향이므로 dpi를 조절하는게 의미가 있음. 프로파일링하다가 dpi를 줄였을때 의미있는 결과가 나오면 gpu 병목인지를 가늠해볼 수 있다. 오버드로우 병목의 경우는 보통 파티클이 많아져서 겹..
다음은 기본 제공 파이프 라인과 범용 RP의 차이점을 요약 한 것입니다. 주로 셰이더 코드 차이에 중점을 둡니다. Subshader 블록에서“RenderPipeline”=”UniversalPipeline”태그 사용 URP는 다음 "LightMode"태그를 사용합니다. UniversalForward – 포워드 렌더러로 개체를 렌더링하는 데 사용됩니다. ShadowCaster – 그림자 투사에 사용 DepthOnly – 씬 뷰의 깊이 텍스처를 렌더링 할 때 사용되는 것 같지만 게임 내에서는 사용되지 않습니까? 일부 렌더러 기능은이를 사용할 수 있습니다. Meta – 라이트 맵 베이킹 중에 만 사용 Universal2D – 포워드 렌더러 대신 2D 렌더러가 활성화 된 경우 사용됩니다. UniversalGBuf..
ShadowCaster 셰이더가 그림자를 드리우려면 "LightMode"= "ShadowCaster"태그가 있는 패스가 필요합니다. Unlit 셰이더와 Lit 셰이더 모두 이 작업을 수행 할 수 있지만 그림자를 드리우는 동안 UniversalForward 패스에서 처리하지 않는 한 그림자를 받지 않습니다. 셰이더에는 "LightMode"= "DepthOnly"태그가 지정된 패스도 포함되어야합니다. 이 패스는 ShadowCaster와 매우 유사하지만 그림자 bias offset이 없습니다. URP에서 DepthOnly 패스가 무엇에 사용되는지 완전히 잘 모르겠습니다. 씬 뷰는 (셰이더 그래프의 씬 뎁스 노드에서 사용되는) 뎁스 텍스처를 렌더링 할 때 이것을 사용하는 것 같지만, 게임 뷰 뎁스 텍스처는 이 ..
PBR (물리 기반 렌더링)은 Unity의 "Standard"셰이더가 사용하는 셰이딩/조명모델이며 셰이더 그래프의 URP "Lit"셰이더 및 PBR 마스터 노드입니다. 이전 섹션에서 언급했듯이 기본 제공 파이프 라인의 음영/조명은 일반적으로 "Standard"옵션이 PBR모델인 surface셰이더에 의해 처리되었습니다. 이들은 Albedo, Normal, Emission, Smoothness, Occlusion, Alpha 및 Metallic (또는 "StandardSpecular"워크 플로우를 사용하는 경우 Specular)을 출력하는 surface함수를 사용했습니다. Unity는 이를 가져와 scene뒤에서 vertex 및 fragment셰이더를 생성하여 PBR 셰이딩/조명 및 그림자와 같은 특정 계..
built-in 파이프 라인에서 lighting/shadow가 필요한 커스텀 셰이더는 일반적으로 surface 셰이더에 의해 처리되었습니다. physically-based Standard 및 StandardSpecular 또는 Lambert (확산) 및 BlinnPhong (스페큘러) 모델 중에서 사용할 조명 모델을 선택할 수있는 옵션이 있습니다. 예를 들어 툰 음영 결과를 생성하려는 경우 사용할 수있는 커스텀 조명 모델을 작성할 수도 있습니다. Universal RP는 surface 셰이더를 지원하지 않지만 ShaderLibrary는 많은 조명 계산을 처리하는 데 도움이되는 함수를 제공합니다. 이는 Lighting.hlsl에 포함되어 있습니다 (자동으로 포함되지 않음) lighting 파일에는 다음 섹..
- Total
- Today
- Yesterday