optimization
-
[UE5] Garbage CollectionUE4 & UE5/Core 2023. 7. 5. 08:00
[UE5] Garbage Collection 최초 작성 : 2023-07-05 마지막 수정 : 2023-07-05 최재호 목차 1. 환경 2. 목표 3. 내용 3.1. 언리얼 GC 방식인 Mark and Sweep 3.2. GC 가 GameThread 히칭을 발생시키는 주요 지점 중 하나 3.3. UE5 GC 의 주요 단계 3.4. UE5 가 레퍼런스를 유지하는 방식 3.4.1. UCLASS 의 UPROPERTY() 멤버 변수에 등록 3.4.1.1. ReferenceTokenStream 의 생성 과정 3.4.2. FGCObject (UGCObjectReferencer) 를 상속 받기 3.4.2.1. UGCObjectReferencer 3.4.3. Cluster Root 에 등록 (GC 를 처리하는 대표 ..
-
Variable Shading Rate(VRS)Graphics/기본 2022. 9. 27. 00:08
목차 1. 개요 2. 내용 2.1. 디바이스 생성 2.2. VRS 이미지 생성 2.3. VRS 사용을 위한 Graphics Pipeline State 생성 2.4. VRS 디버깅을 위한 코드 추가 2.5. 구현결과 2.6. 구현 코드 3. 레퍼런스 1. 개요 Variable Shading Rate(VRS) 에 대해서 알아보고 구현해봅시다. VRS 는 화면의 영역별로 쉐이딩 비율을 조정하는 기능입니다. 그림1을 보면, 1x1 부터 4x4 까지 다양한 쉐이딩 비율이 있습니다. 1x1 이 VRS 를 사용하지 않은 기본 비율입니다. 그리고 2x2 는 4픽셀당 1번 쉐이딩을 합니다. 이 기능을 활용하여 사람의 시야에서 인지적으로 크게 영향을 미치지 않는 부분는 더 적은 수의 픽셀을 쉐이딩 하여 퍼포먼스를 얻을 수..
-
[번역] Screen Space Reflections : Implementation and optimization – Part 2Graphics/번역 2021. 1. 30. 22:35
개인 공부용으로 번역한 거라 잘못 번역된 내용이 있을 수 있습니다. 또한 원작자의 동의 없이 올려서 언제든 글이 내려갈 수 있습니다. 출처 : sugulee.wordpress.com/2021/01/19/screen-space-reflections-implementation-and-optimization-part-2-hi-z-tracing-method/Screen Space Reflections : Implementation and optimization – Part 2 : HI-Z Tracing MethodPosted on January 19, 2021 by Sugu Lee 1. Overview이전 글에서, 선형 추적 방법(Linear tracing method)을 사용하여 Screen Space Ref..
-
[번역] Screen Space Reflections : Implementation and optimization – Part 1Graphics/번역 2021. 1. 28. 01:00
개인 공부용으로 번역한 거라 잘못 번역된 내용이 있을 수 있습니다. 또한 원작자의 동의 없이 올려서 언제든 글이 내려갈 수 있습니다. 출처 : sugulee.wordpress.com/2021/01/16/performance-optimizations-for-screen-space-reflections-technique-part-1-linear-tracing-method/ Screen Space Reflections : Implementation and optimization – Part 1 : Linear Tracing MethodPosted on January 16, 2021 by Sugu Lee 1. OverviewScreen space reflections(SSR)은 표면에서 반사효과를 만드는 실시간..
-
[번역]WHAT IS SHADER OCCUPANCY AND WHY DO WE CARE ABOUT IT?Graphics/번역 2020. 11. 13. 22:20
개인 공부용으로 번역한 거라 잘못 번역된 내용이 있을 수 있습니다. 또한 원작자의 동의 없이 올려서 언제든 글이 내려갈 수 있습니다. 출처 : interplayoflight.wordpress.com/2020/11/11/what-is-shader-occupancy-and-why-do-we-care-about-it/ WHAT IS SHADER OCCUPANCY AND WHY DO WE CARE ABOUT IT? November 11, 2020 | Kostas Anagnostou 트위터 DM을 통해서 occupancy가 무엇인지? 왜 그것이 쉐이더 성능에 중요한지? 에 관한 좋은 질문을 받았습니다, 블로그 포스트로 나의 답변을 더 자세히 쓰고 있습니다. 먼저 몇 가지 문맥에서, GPUs, 쉐이더 프로그램이 동..
-
[번역]A Better Way to Scalarize a ShaderGraphics/번역 2020. 10. 31. 02:05
개인 공부용으로 번역한 거라 잘못 번역된 내용이 있을 수 있습니다. 또한 원작자의 동의 없이 올려서 언제든 글이 내려갈 수 있습니다. 출처 : https://asawicki.info/news_1735_a_better_way_to_scalarize_a_shader 이 글은 고급 주제 입니다. 당신이 쉐이더를 쓰는 것과 low level의 작동을 알고 있고(vector vs scalar 레지스터들 같은) 스칼라화를 통해 어떻게 최적화 하는지 안다고 가정합니다. 모든 것의 시작은 텍스쳐나 버퍼 디스크립션 배열 요소를 동적인 인덱스 값으로 얻어야 하는 것에서 출발합니다 - 픽셀마다 다를 수 있습니다. 이것은 bindless-style 렌더링 혹은 여러 텍스쳐 레이어의 블랜딩에 유용합니다. HLSL 쉐이더에서 적..
-
[번역] INTRO TO GPU SCALARIZATION – PART 2 -SCALARIZE ALL THE LIGHTSGraphics/번역 2020. 8. 8. 02:12
개인 공부용으로 번역한 거라 잘못 번역된 내용이 있을 수 있습니다. 또한 원작자의 동의 없이 올려서 언제든 글이 내려갈 수 있습니다. 출처 : https://flashypixels.wordpress.com/2018/11/10/intro-to-gpu-scalarization-part-2-scalarize-all-the-lights/ 주의: Note: 아래의 포스트들은 GCN에 특화될 것입니다, 나의 첫번째 확장으로 충분히 깔끔하게 하지 못했습니다, 그렇기 때문에 PSA가 글이 맨위에 있습니다! 만약 당신이 그것을 읽었고 그게 혼란스럽게 했다면 미안합니다. 이것은 나의 짧은 시리즈인 스칼라화의 2번째 파트입니다. 이것은 당신이 첫번째 파트를 읽었거나 Wavefront가 무엇인지, SGPR/VGPR, SALU..
-
[번역] INTRO TO GPU SCALARIZATION – PART 1Graphics/번역 2020. 7. 20. 09:30
개인 공부용으로 번역한 거라 잘못 번역된 내용이 있을 수 있습니다.또한 원작자의 동의 없이 올려서 언제든 글이 내려갈 수 있습니다.출처 : https://flashypixels.wordpress.com/2018/11/10/intro-to-gpu-scalarization-part-1/ 주의: 아래의 포스트들은 GCN에 특화될 것입니다, 나의 첫번째 확장으로 충분히 깔끔하게 하지 못했습니다, 그렇기 때문에 PSA가 글이 맨위에 있습니다! 만약 당신이 그것을 읽었고 그게 혼란스럽게 했다면 미안합니다.직장에서, 나는 최근 라이트 반복문을 스칼라화 하는것을 찾았습니다. 그리고 그것은 완전 재미있었습니다, 그래서 이번주에 나는 주말에 내 친구와 새 작업이 어떻게 되어가는지 이야기 하였습니다, 나는 그것을 언급하였습..