PC 그래픽 설정 설명: MSAA vs FXAA vs TAA vs SMAA > 하드웨어 뉴스 | 퀘이사존 (quasarzone.com)
PC Graphics Settings Explained: MSAA vs FXAA vs TAA vs SMAA | Hardware Times
TAA, SMAA, FXAA, MSAA 또는 SSAA 중 어느 것을 선택해야 합니까? 네 가지 옵션이 있습니다. 이것은 우리가 여기서 이야기하는 앤티 앨리어싱입니다. 최신 게임에는 하드웨어에 대한 최상의 성능을 얻기 위해 선택할 수 있는 다양한 그래픽 설정이 포함되어 있습니다. 안티 앨리어싱 (AA) 외에 Ambient Occlusion, 화면 공간 반사, 그림자, 텍스처 필터링, 후 처리 등이 있습니다. 이 모든 그래픽 설정은 어떤 역할을 하며, 더 중요한 것은 좋아하는 게임의 시각적 충실도에 어떤 영향을 미칩니까? 알아봅시다.
앤티 앨리어싱 : MSAA vs FXAA vs SMAA vs TAA
앤티 앨리어싱부터 시작하겠습니다. 게임에서 찾을 수 있는 기본 그래픽 설정 중 하나입니다. 기존의 MSAA, SSAA, FXAA 및 표준이 된 최신 셰이더 기반 SMAA 및 시간적 기법 (TAA)이 있습니다. 그렇다면 앤티 앨리어싱은 무엇을 합니까? 즉, 물체 주변의 거칠거나 들쭉날쭉 한 가장자리를 제거하여 이미지를 더 깔끔하게 보여줍니다.
No AA
FXAA
다음은 FXAA(fast approximate anti-aliasing)가 들쭉날쭉한 부분을 줄여 이미지 품질을 향상시키는 방법에 대한 예입니다. 이미지를 확대하여 두 번째 이미지가 얼마나 매끄러워졌는지 확인합니다. 다음은 AA가 게임에 미치는 영향에 대한 또 다른 비교입니다. 다음은 SMAA의 작동 방식을 보여줍니다.
No AA
SMAA
차이는 미묘하지만 전체 이미지에 걸쳐 존재합니다. 전봇대와 전선을 확인하십시오. SMAA를 켜면 가장자리의 톱니가 빠집니다. 멧새와 초목도 같은 치료를 받습니다. 그러나 FXAA와 달리 SMAA는 너무 강하지 않습니다. 텍스처 디테일을 흐리게 하지 않고 앨리어싱을 제거합니다.
앤티 앨리어싱 기술에는 두 가지 주요 유형이 있습니다.
전통적인 업스케일링: 여기에는 주로 인기 있는 최신 세대의 MSAA (Multi-Sampling AA) 및 SSAA (Super Sampling AA)가 포함됩니다. 그들은 최고의 이미지 품질을 생성하지만 (넓게 말하면) 성능 저하가 심각합니다. 이미지를 더 높은 해상도로 렌더링 한 다음 기본 해상도에 맞게 축소하는 방식으로 작동합니다. 이것은 본질적으로 전체 이미지를 더 선명하고 세밀하게 만들어 프로세스의 거친 가장자리를 축소하지만 완전히 제거하지는 않습니다. 예를 들면 다음과 같습니다.
No AA
슈퍼 샘플링은 전체 이미지를 더 높은 해상도로 렌더링 한 다음 대상 해상도에 맞게 축소합니다. 정확한 렌더링 해상도는 개발자에 따라 다릅니다. 이미지는 x축과 y축 또는 둘 중 하나를 따라 축소할 수 있습니다.
MSAA 또는 멀티 샘플링은 엣지 감지 알고리즘을 사용하여 (대비 차이를 기반으로) 앨리어싱을 감지한 다음 해당 부분만 더 높은 해상도로 렌더링합니다. 다시 한번, 샘플링 양은 2x에서 8x까지 다양합니다. 대부분의 경우 SSAA 및 MSAA는 대부분의 가장자리 감지 필터가 인식하지 못하기 때문에 투명 텍스처를 놓칩니다. 또한 앨리어싱의 강도를 완전히 제거하기보다는 감소시키는 경향이 있습니다.
2x MSAA
셰이더 기반 : 셰이더 기반 AA 기술이 더 효율적이며 성능에 큰 영향을 주지 않습니다. 가장자리에 약간의 흐림 효과를 적용하여 이미지를 더 매끄럽게 만들면서 동시에 선명도를 줄입니다. FXAA는 셰이더 기반 AA가 앨리어싱을 제거하지만 블러 필터를 적용하여 디테일 수준을 줄이는 방법에 대한 좋은 예입니다.
SMAA와 같은 최신 방법은 대부분의 들쭉날쭉 한 부분을 잡아먹으면서 블러 강도를 크게 줄입니다. 그러나 MSAA와 동일한 단점이 있습니다. 투명한 텍스처에서는 작동하지 않습니다.
AA의 가장 최근 그리고 가장 인기 있는 형태는 일시적인 안티앨리어싱입니다. TAA는 시간적 앨리어싱이나 반사작용을 제거하는 데 초점을 맞춥니다. 그것은 움직일 때 가장 뚜렷합니다. 시간 앨리어싱은 장면에 있는 개체의 전환 속도에 비해 프레임 속도가 너무 낮을 때 발생합니다. 이렇게 하면 물체의 경계가 움직이는 것처럼 보입니다. 다음은 TAA와 AA를 비교 한 것입니다.
No AA
TAA
TAA는 인접한 프레임을 (일시적으로) 비교하고 블렌딩하여 움직이는 이미지를 더 선명하게 만듭니다.
현재 프레임은 지오메트리 및 쉐이딩과 함께 렌더링 된 후 지터 오프셋 및 모션 벡터를 사용하여 이전 이미지에 재 투영됩니다. 그 후 정류 필터를 사용하여 프레임을 비교하고 고 스팅이 있는지 확인한 후 후처리 효과를 적용하여 프레임을 완성합니다. 마찬가지로 이 프레임은 다음 연속 프레임을 재구성 (재투영)하는 데 사용되며 프로세스가 계속됩니다.
TAA (right)
TAA는 본질적으로 다음과 같은 종류의 근사치입니다. 즉, 두 개의 이미지를 사용하여 최종 이미지를 추정합니다. 또한 흐릿한 부분이 많이 발생하고 공정에서 일부 텍스처 디테일이 손실됩니다. 이는 위의 이미지에 분명히 나타납니다.
시간적 상향 조정은 유사한 방법을 사용하여 저해상도 이미지를 상향 조정합니다. 핵심 차이점은 TAA와 달리 대체 픽셀이 연속 프레임으로 렌더링되고 보간 및 인접 픽셀의 샘플을 사용하여 간격을 채운다는 것입니다.
자세히 보기: NVIDIA DLSS 2.0 vs PS4의 체커 보드 렌더링: RTX 업스케일링과 콘솔 기술 비교(링크)
다음은 동일한 이미지에 사용된 FXAA와 TAA의 비교입니다.
TAA
FXAA
FXAA에 비해 TAA의 주요 이점은 움직임에서 더욱 두드러집니다. 게임 내에서 움직이면 물체의 경계에 있는 "치아"가 움직이는 것처럼 보입니다. TAA는 이러한 아티팩트를 부드럽게 처리하는 반면 FXAA는 효과적이기는 하지만 장면에 전환이 있을 때 튀어나오는 매력적인 선을 생성하는 "바셀린 파일러"를 적용합니다.
Ambient Occlusion
게임에는 두 종류의 그림자가 있습니다. "그림자"및 "Ambient Occlusion". 후자는 틈새, 가장자리 및 태양으로부터 숨겨진 표면에 존재하는 주변 그림자를 나타냅니다. 전역 조명 또는 간접 조명의 한 형태입니다. 투사 대상과 그림자가 여기에서 종종 겹칩니다. 주로 Ambient Occlusion 기술은 Screen Space Ambient Occlusion(스크린 공간 주변 폐색)이며, 개선된 수평 기반 주변 폐색(Horizontal Based Ambient Occlusion)입니다.
No AO
SSAO
SVOGI, VXAO 및 광선 추적 GI와 같은 새로운 GI 기술도 있지만 여전히 매우 드뭅니다. 이에 대해 알고 싶다면 복셀 (3D 삼각형)이 VXAO / SVOGI의 기초를 형성하고 후자에는 레이 트레이싱이 사용된다는 점을 기억하십시오. 다음은 삼각형에서 복셀이 형성되는 방식입니다.
복셀화된 장면입니다. 장면에 존재하는 다양한 소스에 따라 빛이 그 안에 주입됩니다. 검은색 블록은 흰색 블록이 있는 동안 켜지지 않는 형상을 나타냅니다.
빨간색 복셀은 불투명하고 광선을 차단하는 반면 파란색 복셀은 빛이 통과할 수 있도록 합니다(불은 켜지지 않음).
Global Illumination은 일반적으로 SSAO 및 그 파생 모델보다 더 정확한 ambient occlusion의 한 형태입니다. RTVGI(Real-Time Voxel-Based Global Illumination)와 Sparse Voxel Octree Global Ilumination(SVOGI)은 GI의 몇 가지 주목할 만한 예입니다. 자세한 내용은 여기에서 확인할 수 있습니다.
SSAO 및 HBAO는 빛이 침투할 위치와 음영 처리될 영역을 계산(적분 사용)하는 대략적인 해킹입니다. 실제보다 근사치입니다.
텍스처 세부 정보, LOD(Level of Detail), 테스트 및 조명이 다음 페이지에 설명되어 있습니다.
Level of Detail (LOD)
Level of Detail은 오브젝트 복잡성과 게임 내 거리 (카메라로부터)를 설정하며 그 이후 오브젝트가 디테일을 잃거나 흐릿해집니다. 종종 환경 품질, 지형 세부 사항, 게임 세부 사항, 렌더링 품질 또는 단순성을 위해 게임에서 다른 관련 용어로 불립니다.
Low LOD
High LOD
개체당 렌더링된 폴리곤 수를 나타내는 객체의 메시 품질에 영향을 미치며, 차례로 CPU가 보내야 하는 드로잉 콜을 나타냅니다. 결과적으로, 풍부한 수준의 디테일을 가진 게임은 강력한 CPU와 유능한 GPU를 필요로 할 것입니다.
텍스처 디테일
텍스처 디테일은 LOD와 같습니다. 단, 여기서는 렌더링이 발생하지 않습니다. 이러한 텍스처는 그래픽 카드의 VRAM에 로드되어 게임 내 개체(메쉬)의 스킨 역할을 하는 미리 구운 텍스처입니다. 텍스처가 세밀할수록 더 사실적으로 보이고 그에 따라 더 많은 메모리를 소모하게 됩니다.
낮은 텍스처
높은 텍스처
텍스처 필터링
텍스처 필터링은 게임을 더 선명하게 만드는 설정 중 하나입니다. 그럼 일반 샤프닝 필터와 어떻게 다른가요?
Trilinear(삼선형)
16x AF
텍스처 필터링은 게임 내 카메라에서 텍스처의 mipmaps가 제대로 보이는지 확인하기만 하면 됩니다. 전통적으로 mipmaps는 원래 텍스처보다 2배 작으며 여러 mipmaps가 수렴할 수 있는 점(texels)이 있습니다. 따라서, 흐릿한 부분이나 기타 아티팩트가 발생하지 않도록 필터링해야 합니다.
이중 선형 필터링, 가장 간단한 형태의 텍스처 필터링은 다음 접근 방식을 사용하여 텍스처의 색상을 계산합니다. 게임 엔진에서 표시한 대로 텍셀의 대략적인 위치에서 텍셀 샘플 4개를 추출하여 그 평균을 계산한 다음 최종 값으로 사용됩니다. 그러나 이중 선형 필터링은 게임 엔진에서 식별한 밈맵의 샘플 또는 텍스처만 사용하며 원근법적으로 왜곡된 텍스처가 있는 어느 지점에서든 두 개의 다른 밈맵을 사용할 경우 텍스처 선명도에 변화가 있습니다.
삼각 필터링은 대상 텍스트에 대해 가장 가까운 두 개의 mipmap 크기에서 지속적으로 텍스처를 샘플링하고 보간(평균)함으로써 이중 선형 필터링을 개선하지만, BF와 마찬가지로 이 기법은 텍스처가 플레이어의 관점에서 정사각형으로 표시된다고 가정하고 사각형에서 볼 때 품질이 저하됩니다. (특히 화면과 수직인 경우)
이는 밉맵에서 추출한 샘플보다 더 길고 폭이 좁은 깊이 (화면에 수직인 축을 따라있는 영역)를 덮는 텍셀로 인해 각각 언더 샘플링과 오버 샘플링으로 인해 블러가 발생하기 때문입니다.
이를 해결하기 위해, 이방성 필터링은 화면에 대한 텍스처의 각도에 비례하는 비율에 따라 미프맵의 높이 또는 너비를 조정합니다. 비율은 지정된 최대 샘플링 값에 따라 달라지며, 그다음 적절한 샘플을 추출합니다. AF는 1에서 16 사이의 등방성 수준에서 작동할 수 있으며, mipmap을 확장할 수 있는 최대 수준을 정의합니다. 그러나 AF는 일반적으로 2x, 4x, 8x 및 16x의 두 가지로 사용자에게 제공됩니다.
이 설정 간의 차이는 AF가 질감을 필터링할 최대 각도입니다. 예를 들어, 4x는 2x보다 두 배나 가파른 각도에서 질감을 필터링하지만, 성능을 최적화하기 위해 2x 범위 내의 질감에 표준 2x 필터링을 적용합니다.
Volumetric Lighting
NVIDIA의 godrays를 기억하십니까? 네, 기본적으로 그것이 부피 측정 조명입니다. 팀 그린(엔비디아)은 성능이 더 뛰어나지만 외관도 더 나은 테스트용 고드레이를 사용합니다. 전통적인 Volumetric Lighting은 단순히 태양 광선(또는 어떤 광선)이 게임 세계에서 어떻게 보이고 행동하는지 보여주는 것입니다. 일반적으로 화면 공간 레이 트레이싱을 사용하여 추적됩니다.
화면 공간 반사
SR 없음 (자동차 반사가 없음에 유의)
SR On
화면 공간 반사는 게임 내 동적 반사를 렌더링하는 기술입니다. 그것은 상당히 부담스럽고 정당한 이유가 있습니다. SSR은 기본적으로 투명한 표면에서 장면을 다시 렌더링합니다. 그러나 화면에 보이는 개체에 대해서만 그렇게 합니다. 같은 위치에 있지만 화면에 표시되지 않는 다른 개체가 있으면 컬링됩니다.
레이 트레이싱이란 무엇이며 래스터 화와 어떻게 다른가: NVIDIA의 RTX GPU 작동 살펴보기(링크)
또 다른 일반적인 기준 기술은 큐브 매핑입니다. 이때 텍스처는 큐브의 다양한 면에 미리 구워져서 6개의 사각 텍스처로 저장되거나 단일 텍스처의 6개의 사각 영역으로 펼쳐집니다. 이는 훨씬 덜 상세하고 부정확하며, 때로는 강이나 호수만큼 큰 전체 반사 표면 하나가 동일한 입방체 지도를 사용할 수도 있습니다.
테셀레이션
Tesellation은 텍스처 크기를 늘리지 않고 장면의 세부 수준을 높이기 위해 사용되는 DX11 기반 기법입니다. 이 작업은 다각형들을 더 작은 것들로 나누어 망사의 복잡성과 디테일을 개선함으로써 이루어집니다.
Off
On
테셀레이션은 3D 응용 프로그램에서 기본체 (삼각형, 선, 점 등)를 재현할 수 있는 기술입니다. 현재 지오메트리를 더 미세한 메시로 반복적으로 세분화하여 이를 수행합니다.
이렇게 하면 비교적 거친 메시를 로드하고 더 많은 꼭짓점과 삼각형을 동적으로 생성한 다음 더 미세한 메시로 만들 수 있습니다. 테스트와 관련된 세 가지 부분은 다음과 같습니다. 테셀레이션 계수를 계산하는 선체 셰이더입니다. 이는 패치를 적용하고 출력을 테셀레이터로 전송한 후 도메인 셰이더가 새로운 꼭짓점 데이터와 제어 지점을 사용하여 결과를 마무리한다는 점에서 지오메트리 셰이더와 매우 유사합니다. DS는 버텍스 쉐이더와 유사합니다. 정점과 제어점을 입력으로 사용하고 새로 생성된 도메인 샘플에 대한 정점 위치를 출력합니다.
후처리
후처리란 일반적으로 테셀레이션, 다중 샘플링, 반사 및 그림자와 같은 다른 모든 효과를 수행한 후 렌더링의 마지막 단계에서 구현되는 효과를 말합니다. 필드 깊이, 모션 블러, ambient occlusion, 때로는 FXAA 또는 SMAA와 같은 셰이더 기반 효과도 포함됩니다.
V-Sync
널리 사용되는 또 다른 기술인 V-Sync는 기본적으로 게임 내 프레임 속도를 모니터의 재생률로 제한하여 화면 찢김을 방지합니다. 프레임 속도가 새로 고침 속도를 초과하지 않도록 GPU 파이프 라인 속도를 늦추면 됩니다. 그러나 이것은 실수로 게임 지연을 일으키거나 입력 지연을 유발하여 성능에 부정적인 영향을 미칠 수도 있습니다.
안티앨리아싱을 설명하는 글인데 크롭샷 하나 없고 심지어 이미지도 클릭 안되길래 퍼올 때 잘못 퍼온 건가 하고 원문 가봤더니 원문도 이미지 클릭이 안되네. 이미지 직접 새 탭으로 크게 보기 해서 돋보기 눌러 원 해상도로 봐야 그나마 보이는...;;
설명에 중요한게 없넹 SMAA 나 TAA 쓸때는 FXAA 를 꺼준다.
막눈이라서 그런건가 텍스쳐 말곤 뭔가 옵션 끈거랑 아닌거랑 별 차이가 없어보이는데 아주 미세하게끔 차이는 있지만 이게 킨거고 이게 끈거야 라고 안알려주면 모를정도
저런 초보들이 저런 기사를 남발하니까 요즘 젊은 애들은 정말로 그런 줄 아는 개발자들 많아 죽겠습니다. LOD 생성할 때 왜 폴리곤수가 아니라 픽셀 사이즈 넣는 줄 아세요? 폴리곤 수는 그리 큰 부하 요소가 아니기 때문이예요. 쿼드 오버드로우가 정말 큰 부하 요소라서 쿼드 오버드로우 최소한으로 발생하는 픽셀 수 에서 새 LOD 가 필요해지기 때문입니다. 이번에 언리얼 5 에 개발자들이 감탄한 이유가 라스터라이저 를 빼버리고 CS 로 대체해서 더이상 쿼드 오버드로우 부하가 발생하지 않기 때문입니다. temporal 설명도 엉터리고 에휴...
헐 좋은 정보네요. 게임 하다 옵션보면 모르는 것들 엄청 많이 있는데 이게 뭘 뜻하는지 설명하는 게임은 별루 없죵. 전에 알았던건 걍 쫌 끈기다 보면 위에 옵션들 끄다보면 프레임 올라간다 정도?
설명에 중요한게 없넹 SMAA 나 TAA 쓸때는 FXAA 를 꺼준다.
smaa가 최고 존엄임. fxaa와 taa는 화질을 미친듯이 뭉개고
안티앨리아싱을 설명하는 글인데 크롭샷 하나 없고 심지어 이미지도 클릭 안되길래 퍼올 때 잘못 퍼온 건가 하고 원문 가봤더니 원문도 이미지 클릭이 안되네. 이미지 직접 새 탭으로 크게 보기 해서 돋보기 눌러 원 해상도로 봐야 그나마 보이는...;;
헐 좋은 정보네요. 게임 하다 옵션보면 모르는 것들 엄청 많이 있는데 이게 뭘 뜻하는지 설명하는 게임은 별루 없죵. 전에 알았던건 걍 쫌 끈기다 보면 위에 옵션들 끄다보면 프레임 올라간다 정도?
막눈이라서 그런건가 텍스쳐 말곤 뭔가 옵션 끈거랑 아닌거랑 별 차이가 없어보이는데 아주 미세하게끔 차이는 있지만 이게 킨거고 이게 끈거야 라고 안알려주면 모를정도
골든 정답 하다보면 차이를 주는 옵션도 더 있긴 하지만 실제 게임을 하면 역동적으로 움직이는 경우가 많아서 차이를 느끼기는 더 어려워짐
그것보단 여기 올라온 이미지가 작은데 아마 리사이즈 되어 있을 가능성이 높아요. 사이트에 업로드나 또는 여기 루리웹에 업로드 할때 업로드 된 이미지를 리사이즈 해서 변조하는 경우가 있습니다.(옵션으로 선택 가능한 경우 또는 강제적으로 리사이즈) 리사이즈 하게되면 AA 효과를 얻은것처럼 보일 수 있습니다. 본문에서 MSAA가 높은 해상도로 렌더링한걸 작게 축소하는데에 Bilinear 등과 같은 알고리즘으로 축소하는데 이미지 리사이즈가 바로 이겁니다. 게다가 작은 부분을 좀 확대해서 비교하면 좀더 편하게 일반인도 확인할 수 있을텐데, 그냥 게임 캡쳐화면을 올리다보니 비교가 어렵죠.
아무리 기술 발전해도 성능 덜 먹는건 그만큼 퀄리티 별로임
캐미화이트
msaa는 포워드 렌더러에서 작동해서 요즘 같은 디퍼드렌더러에는 못씀. 포워드렌더러는 또 ssr을 못써서 요즘은 안쓰는 추세네요. 제가 했던 게임중에 어새신 크리드 유니티 이후로는 못봄
smaa가 좋긴 한데 사양을 너무 먹고, fxaa는 사양 덜 먹어서 좋은데 너무 뭉개버리고, 결국 옵션타협 하기도 귀찮아서 안티 끄고 쓰는...
smaa는 후처리방식이라 사양 거의 안먹고 프레임 하락율도 1% 미만입니다
아 잘못 말했네요 MSAA를 말한다는 게 --;
안티 끄고 비등방성 필터링 16배하는게 젤 낫든데
FHD는 어쩔 수 없는 안티 뭐라도 써야되긴 함 ㅋㅋㅋ
이미지가 작아서 그런지 대충봐선 차이를 모르겠네여 관찰해야 보일 수준이면 프레임 잘나오는게 최고인듯
MSAA는 효과는 좋은데 사양이 어마어마하게 높았던 기술임 저게 한창 쓰이던 때의 기준으로 4배 걸면 성능을 무려 30~40퍼 깎아먹은 옵션이라... 그당시 상황을 보면 성능은 좀 떨어져도 사양 훨씬 덜먹는 FXAA나온게 진짜 게임계에선 어마어마한 대사건이었음 요즘은 TAA를 많이 쓴다만
CMAA는 뭐예요?
msaa 는 deferred rendering에서 작동이 안돼서 한동안 잘 안쓰였지만 요즘은 forward+ rendering도 많이 써서 적용 가능한 게임이 늘어났음
저런 초보들이 저런 기사를 남발하니까 요즘 젊은 애들은 정말로 그런 줄 아는 개발자들 많아 죽겠습니다. LOD 생성할 때 왜 폴리곤수가 아니라 픽셀 사이즈 넣는 줄 아세요? 폴리곤 수는 그리 큰 부하 요소가 아니기 때문이예요. 쿼드 오버드로우가 정말 큰 부하 요소라서 쿼드 오버드로우 최소한으로 발생하는 픽셀 수 에서 새 LOD 가 필요해지기 때문입니다. 이번에 언리얼 5 에 개발자들이 감탄한 이유가 라스터라이저 를 빼버리고 CS 로 대체해서 더이상 쿼드 오버드로우 부하가 발생하지 않기 때문입니다. temporal 설명도 엉터리고 에휴...
해상도가 깡패라 4k 쓰면 AA 관련 옵션은 대부분 없어도 됨
상당히 유익한 정보인데 실제 적용해봐도 차이점을 잘 몰라서 ㅋㅋ
4K 쓰면 픽셀이 작아져서 엘리어싱이 잘 안보임 ㅋ