原理
MSAA(Multisampling Anti-Aliasing)與 SSAA 一樣,會在每個像素內增加覆蓋率與深度樣本。差別是:對覆蓋該像素的每個三角形,MSAA 通常只執行一次 Fragment/Pixel Shader,再把結果寫入被該三角形覆蓋的樣本,因此著色成本遠低於 SSAA。
限制與選擇
若三角形內部有明顯漸層,單次著色結果可能無法代表所有樣本,品質會略低於 SSAA。MSAA 仍需要多樣本 Render Target 與 Depth Buffer,但在即時渲染中,它以較低成本提供接近 SSAA 的邊緣品質,因此更常使用。
- 速度:通常比 SSAA 快
- 記憶體:多樣本緩衝區的需求與同倍率 SSAA 接近
- 品質:幾何邊緣很好,但 Shader 內部產生的鋸齒不一定能處理
圖示





參考資料
原理
MSAA(Multisampling Anti-Aliasing)与 SSAA 一样,会在每个像素内增加覆盖率和深度样本。区别是:对覆盖该像素的每个三角形,MSAA 通常只执行一次 Fragment/Pixel Shader,再把结果写入被该三角形覆盖的样本,因此着色成本远低于 SSAA。
限制与选择
三角形内部存在明显渐变时,单次着色结果可能无法代表所有样本,质量会略低于 SSAA。MSAA 仍需要多样本 Render Target 和 Depth Buffer,但在实时渲染中,它以较低成本提供接近 SSAA 的边缘质量,因此更常使用。
- 速度:通常比 SSAA 快
- 内存:多样本缓冲区的需求与同倍率 SSAA 接近
- 质量:几何边缘很好,但不一定能处理 Shader 内部产生的锯齿
图示





参考资料
Principle
Like SSAA, MSAA (Multisampling Anti-Aliasing) stores several coverage and depth samples per pixel. The important difference is that, for each triangle covering a pixel, MSAA normally runs the Fragment or Pixel Shader once and writes that result to the samples covered by that triangle. This makes shading much cheaper than SSAA.
Trade-offs
A single shaded value may not represent every sample when a triangle contains a strong gradient, so quality can be lower than SSAA. MSAA still needs multisampled Render Targets and Depth Buffers, but it is widely used in real-time rendering because it produces clean geometric edges at a practical cost.
- Speed: usually much faster than SSAA
- Memory: similar multisample-buffer cost at the same sample count
- Quality: strong on geometry edges, but it may not remove aliasing created inside a Shader
Diagrams





References
原理
MSAA(Multisampling Anti-Aliasing)は SSAA と同様に、各ピクセルへ複数のカバレッジ/深度サンプルを持たせます。大きな違いは、そのピクセルを覆う三角形ごとに Fragment/Pixel Shader を通常 1 回だけ実行し、その結果を当該三角形が覆うサンプルへ書き込む点です。そのため SSAA よりシェーディングコストを大きく抑えられます。
制限と使い分け
三角形内部に強いグラデーションがある場合、1 回のシェーディング結果ですべてのサンプルを正しく表せず、SSAA より品質が低くなることがあります。それでもリアルタイムレンダリングでは、実用的なコストでジオメトリエッジを滑らかにできるため広く使われます。
- 速度:一般に SSAA より高速
- メモリ:同じサンプル数ならマルチサンプルバッファの負荷は近い
- 品質:ジオメトリエッジには有効だが、Shader 内部のエイリアシングには効かない場合がある
図解




