블렌더 공식 채널의 Cycles X 영상
원문
오늘 은 Cycles가 발표 된 지 정확히 10 년이 지났습니다 . 지난 10년 동안 Cycles는 많은 아티스트와 스튜디오에서 사용하는 본격적인 프로덕션 렌더러로 발전했습니다. 우리는 10년 동안 잘 작동한 것들, 뿐만아니라 잘 되지 않았던 것들 또는 렌더링 알고리즘과 하드웨어가 발전하면서 구식이 되었던 것들로 부터 많은 것을 배울 수 있었습니다.
우리는 핵심 Cycles 렌더링을 더 많이 개선하고자합니다. 그러나 과거에 내려진 일부 결정은 성능을 저해하고 코드 유지를 어렵게 만들었습니다. 이를 해결하기 위해 Sergey와 저는 아키텍처를 새로 고치고 향후 10 년 동안 준비하는 것을 목표로 Cycles X라는 연구 프로젝트를 시작했습니다. 문제의 일부만 해결하는 빠른 수정이나 최적화를 찾는 대신 아키텍처 전체에 대해서 재고하고 있습니다.
프로젝트
일반적으로이 프로젝트의 목표는 다음과 같습니다.
•
향후 개발을위한 아키텍처 개선
•
뷰포트 및 배치 렌더링의 유용성 향상
•
최신 CPU 및 GPU에서 성능 향상
•
고급 렌더링 알고리즘 소개
첫 번째 목표는 새로운 아키텍처를 검증하는 것이 었습니다. 이를 위해 우리는 새로운 GPU 커널의 프로토 타입과 뷰포트 및 배치 렌더링을위한 새로운 스케줄링 알고리즘을 구현했습니다. 이제 일부 벤치 마크 장면을 렌더링하기위한 충분한 기능이 있습니다.
현재 Cycles X 커널 그래프
오늘 우리는 몇 가지 초기 성능 결과를 공유하고 Cycles 컨트리뷰터들과 협력하기 위해 코드를 공유하고 있습니다. 기술 프리젠 테이션 새로운 아키텍처에 대한 개발자가 사용할 수 있으며 코드에서 찾을 수 있습니다 사이클-X 지점 에 git.blender.org .
할 일이 많이 있습니다. 이 작업이 공식 Blender 릴리스의 일부가 될 때까지 최소 6 개월이 걸릴 것으로 예상합니다.
초기 결과
첫째, 잘 알려진 벤치 마크 씬을 사용한 GPU 렌더링의 결과입니다. 아직 구현되지 않은 볼륨 렌더링과 같은 기능이 씬에서 제거 되었습니다.
새로운 아키텍처에서 계속 작업함에 따라 수치는 변경 될 것입니다. OptiX 지원은 불과 며칠 전 Patrick Mours에 의해 추가되었습니다.
가장 중요한 개선 사항은 라이트 바운스 및 셰이더가 많은 내부 장면에서, 새로운 커널이 더 높은 점유율과 일관성을 달성 할 수 있다는 것 입니다.
CPU 렌더링 성능은이 시점에서 이전과 거의 동일하지만 새로운 아키텍처는 거기에서도 새로운 가능성을 열어줍니다.
둘째, 뷰포트 렌더링을 개선하기 위해 노력하고 있습니다. 더 빠른 렌더링 커널이 도움이되지만, 스케줄링, 타이밍 및 디스플레이 메커니즘을 개선하면 뷰포트가 더 인터랙티브하게 느껴질 수 있다는 것도 발견했습니다. 적응 형 샘플링 및 일괄 처리 샘플에 대한 새로운 뷰포트 지원으로 처음 몇 개의 샘플이 완료되면 이미지가 더 빨리 클링-업 됩니다.
CPU 뷰포트 렌더링
Open Image Denoiser를 사용한 CPU 뷰포트 렌더링
GPU 뷰포트 렌더링
앞으로의 기대
앞으로 몇 달 내에 더 많은 최적화 아이디어를 시도하고 누락 된 기능을 복원 할 것입니다. 기능이 누락 되었을 경우는 일반적으로 새 아키텍처에서 우리가 다른 접근 방식을 취하기를 원했기 때문입니다. 몇 가지 예 는 아래와 같습니다:
•
볼륨 렌더링 : 우리는보다 현대적인 알고리즘으로 레이 마칭 및 라이트 샘플링을 구현할 계획입니다.
•
섀도우 캐처 : 간접 조명을 고려할 수있는 다른 알고리즘을 시도할 것 입니다.
•
다중 장치 렌더링 : 타일없이보다 세분화 된로드 밸런싱을 실험 할 것 입니다.
이 외에도 새로운 아키텍처는 패스-가이딩과 같은 렌더링 알고리즘에 더 쉽게 맞출 수 있도록해야합니다. 이 알고리즘을 GPU 친화적으로 만드는 방법을 실험하고 연구 할 것입니다.
중단된 기능
새로운 아키텍처의 일환으로 특히 아래의 일부 기능을 제거하고 있습니다.
•
OpenCL 렌더링 커널. 제한된 Cycles 분할 커널 구현, 드라이버 버그 및 지연된 OpenCL 표준의 조합으로 인해 유지 관리가 너무 어려워졌습니다. 깨끗한 슬레이트로부터 시작해야만 지금 우리가 연구하고 있는 더 큰 변화를 만들 수 있습니다.
우리는 AMD 및 Intel과 협력하여 다른 API를 사용하여 GPU에서 작동하는 새로운 커널을 얻습니다. 이것은 첫 번째 릴리스에 대한 준비가되어 있지는 않으며 구현은 현재 존재하는 것보다 더 높은 품질 기준에 도달해야만 합니다. 장기적으로 모든 주요 GPU 하드웨어 공급 업체를 지원하는 것은 여전히 중요한 목표입니다.
•
브랜치 패스 트레이싱. 우리는 이것을 쓸모없게 만들기 위해 샘플링 알고리즘을 개선하기 위해 노력하고 있습니다. 필요한 경우 샘플을 자동으로 할당합니다. 여기엔 개선된 적응형 샘플링과 빛의 중요도 샘플링이 핵심입니다.
•
NLM 디노이 저. AI 노이즈 제거 알고리즘, 특히 OpenImageDenoise는 일반적으로 더 나은 결과를 제공하며 이를 위해 아키텍처와 워크 플로를 최적화 할 것입니다.
이러한 기능은 2.83 및 2.93 LTS 릴리스에서도 계속 사용할 수 있으며 이후에도 지원이 됩니다.
AskNK의 Cycles X 빠른 리뷰
Cycles X 설치
공식사이트의 실험 브렌치에서 Cycles-X Branch를 다운받을 수 있다.









