apple silicon m1 8 Core GPU vs RTX3070

요새 VOXEL HORIZON의 DX11/12버전을 macOS/iOS로 포팅하고 있다.
https://youtu.be/oYhuwkkuGzg


일체의 외부 라이브러리 없이 C++과 metal API를 사용해서 작업중이다. DXR버전은 아직은 한참 무리고 DX11/12렌더러 기준으로는 거의 비슷하게 포팅했다. 물/파티클 빼고는 다 구현했다.
이제 nvidia GPU와의 성능비교를 할 수 있겠다 싶었다.

스샷의 씬에서 렌더링하는 오브젝트는 캐릭터 한마리에 복셀 오브젝트 5개, 그리고 하늘&구름이다. 구름처리(Volumetric Cloudscapes)가 대량의 픽셀에 대해 상당히 복잡한 쉐이더를 호출하므로 대부분의 부하는 GPU에 걸린다.
구름처리는 쉐이더는 compute shader와 vertex/pixel shader를 고루 사용하므로 GPU 성능 테스트로는 좋은 케이스가 될 것이라고 생각한다.

해상도: 거의 4K.

Windows PC(D3D11):

RTX3070, D3D11

493FPS ,GPU점유율 90%,



Windows PC(D3D12):

RTX3070, D3D12

431FPS ,GPU점유율 93%,



m1 macmini(metal) :

Apple Silicon 8 Core GPU, metal API

45FPS , GPU점유율 75.9%

중첩렌더링을 사용하면 macos빌드에서 성능을 조금 더 높일 수 있을텐데 아직 완료하지 못했다. 현재 GPU점유율이 76%정도 나오고있으니 모든 측정 결과에 대해 GPU점유율 100%를 달성했다고 가정하면

RTX3070(D3D11) : 547.77 FPS

RTX3070(D3D12) : 463.44 FPS

m1 macmini : 59.28 FPS

RTX3070(D3D11)가 9.24배 , RTX3070(D3D12)가 7.8배 m1 8 Core GPU보다 빠르다.

대충 8-9배 격차인데 이거 생각보단 잘 나오는건가?


P.S
이 게시물을 올린후 하루 지나서 측정에 오류가 있음을 확인했다.
맥의 경우 화면출력은 4K지만 dpi조정때문에 백버퍼가 5K로 잡혀있는 것을 확인. 그래서 4K기준으로는 프레임 레이트가 더 나온다.
PC의 경우 DOF가 켜져있었는데 이를 끄면 50프레임 정도 더 올라간다. 맥버전의 경우는 아직 DOF를 구현하지 않았으므로 당연히 꺼져있다.
양쪽 결과 다 오류가 있지만 PC버전 DOF들어가고 맥버전 해상도 더 높았던거 감안하면 뭐 그냥 또이또이인듯 해서 게시물은 그대로 두기로 함. 조건 똑같이 맞춰서 테스트해도 얼추 비슷할 것이다.


답글 남기기

댓글을 게시하려면 다음의 방법 중 하나를 사용하여 로그인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중