Chris Lakies
Limp Gawd
- Joined
- Feb 17, 2005
- Messages
- 395
Just wondering which one taxes your frames per second more?
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
burningrave101 said:Anti-Aliasing puts the most stress on the GPU. Anisotropic Filtering has little impact on performance from 2xAF to 16xAF unless the view distance in-game is great. The biggest performance with AF is experienced at 2xAF and the next biggest is at 4xAF. There is hardly any performance difference between 8xAF and 16xAF.
Tomshardware said:The filtering method that achieves the best results today is anisotropic filtering. As the name suggests, the texels are not gleaned from a symmetrical shape, but rather by using an irregular pattern adjusted to the perspective (anisotropic shape). The form of this shape is not standardized - usually, however, rectangular or trapezoidal patterns or parallelograms are used, the shapes of which depend on the angle of the surface.
The number of texels taken into account for filtering determines the filter level. With 1x, anisotropic filtering offers eight texels. With current graphics cards the filter level can be set in the driver. The maximum value is 16x, but manufacturers do not use all interim steps. The most common are: 2x (16 texels), 4x (32 texels), 8x (64 texels) and 16x (128 texels). As the filtering increases, the computing time increases accordingly, to a considerable degree.
Anisotropic filtering always functions in interaction with bilinear or trilinear filtering. The bilinear variation is logically faster but has one disadvantage: the visible edge on the mipmap transitions. The best result is achieved with the more computing-intensive trilinear anisotropic filtering, in which mipmap transitions are calculated from the neighboring textures.
burningrave101 said:And view distance does play a role in AF performance because as you increase the view distance you increase the area where AF has to be applied. This is why there is more of an AF performance hit in games like Far Cry where you have much greater view distances. The anisotropy level just compacts the performance hit based on the view distance.
Scali said:I'm sorry, but that's just wrong. Take my 'facing a wall straight on' example. No matter at what distance you view that wall, it will always have the same level of anisotropy. This goes for a surface of any orientation ofcourse, but that may be less intuitive (well, perspective distortion may have a bit of influence, but nothing big).
The area you speak of is handled by mipmapping, which has nothing to do with anisotropic filtering. Anisotropic filtering can only be used as a minification or magnification filter (actually, most cards only support minification, there's little use for magnification).
The extra hit in AF on great view distances could simply be because there are more surfaces in view (more overdraw), which gives the same relative performance hit, regardless of filtering method.
Bilinear Texture Filtering: Bilinear filtering is a computationally cheap but low quality texture filtering. It approximates the gaps between textures by sampling the color of the four closest (above, below, left and right) texels. All modern 3D accelerated video cards can do bilinear filtering in hardware with no performance hit.
Trilinear Texture Filtering: Trilinear filtering is a high quality bilinear filter which uses the four closest pixels in the second most suitable mip map to produce smoother transitions between mip map levels. Trilinear filtering samples eight pixels and interpolates these before rendering, twice as much as bi-linear does. Trilinear filtering always uses mip mapping. Trilinear filtering eliminates the banding effect that appears between adjacent MIP map levels. Most modern 3D accelerated video cards can do trilinear filtering in hardware with no performance hit. Anisotropic filtering is a different story.
Anisotropic Filtering: Anisotropic filtering is the best but most CPU intensive of the three common texture filtering methods. Trilinear filtering is capable of producing fine visuals, but it only samples from a square area which in some cases is not the ideal way. Anisotropic (meaning `from any direction') samples from more than 8 pixels. The number of sampled pixels and which sampled pixels it uses depends on the viewing angle of the surface relative to your screen. It shines when viewing alphanumeric characters at an angle
Mip Mapping: Mip mapping is a technique where several scaled copies of the same texture are stored in the video card memory to represent the texture at different distances. When the texture is far away a smaller version of the texture (mip map) is used. When the texture is near, a bigger one is used. Mip mapping can be used regardless of filtering method (see below). Mip mapping reduces memory bandwidth requirements since the images are in hardware, but it also offers better quality in the rendered image
Brilinear: Net Slang, This is a method where you use less than trilinear filtering, But more than bilinear filtering, Ideally this causes the GPU to do less work while still providing trilinear Quality
Keeping it Simple: Mipmaps join textures together. The Purpose of Bilinear/Trilinear filtering is to help join these mipmaps together. Trilinear filtering will generally hide these transitions better than Bilinear. When seeing these mip map transistions in motion. You will see rolling textures, also known as "Shimmering". To reduce the amount of texture shimmering trilinear filtering is reccomended. Take note of how the transistion will seem much softer with trilinear enabled. All Shots were taken with 4x Anti Aliasing enabled and 1024x768 resolution.
So, what is anisotropic filtering and what do we need it for?
Here is an elementary example. Imagine a railway running far to the skyline. More distant cross-ties get smaller and smaller and finally become simply a blur. As for the rails, they are clearly seen at a distance, because they coincide with the eyesight direction, unlike the cross-ties, being perpendicular to it. If the images were built in the same manner as the graphics cards do it, not according to the optics laws, at a certain distance the rails and cross-ties would've become indefinable for the eyesight.
For a 3D image of higher quality, we have to observe the optics laws. A method of texture filtering where the optics is taken into consideration is known as anisotropic filtering.
Anisotropic filtering considers the optic angle (the angle at which you look at an object surface), so the textures right in front of you get "smeared" along the object surface much more than in any other direction. To calculate a pixel color in bilinear filtering mode, for instance, the colors of four texels are used (or four "texture pixels" closest to the spot on the object surface, to which the pixel center is projected). In case of anisotropic filtering, ideally, the colors of all the texture samples falling into the pixel projection to the object should be taken into consideration. The number of these samples can be infinitely great if the angle between the object surface and the direction of your eyesight is very small. Today's accelerators are unable to do all these calculations fast enough, so the developers resort to simplifications, approximations and optimizations of all kinds. However, even these methods provide graphics of notably higher quality.
In Unreal Tournament anisotropic filtering is obviously enabled at greater distances than in Quake3 Arena. It implies that the optic angles and the distances at which anisotropic filtering of different levels is enabled depend on the particular application running. As a result, the performance losses caused by anisotropic filtering won't be the same for different applications.
Anisotropic means non-uniform shape and is a filtering technique that works on non-uniform, or uneven, shaped areas. In reality, when the viewpoint is such that a surface is seen square on, the surface is elliptical in shape. Anisotropic texture filtering calculates the shape of this ellipse and maps it onto the required texture.
When used in conjunction with trilinear filtering, anisotropic filtering utilizes an additional average of 8, 16, or 32 texel samples within the ellipse to determine the color to be mapped to the target surface. As the dimensions of the ellipse can have any ratio between its height and width in addition to the angle viewed, the arrangement of the texels to be sampled can only be calculated at runtime.
Filtering
Similar to anti-aliasing, filtering is used to blend textures to reduce blockiness and pixilation and to smooth transitions between textures as they move nearer to, or farther from, the point of view (MIP mapping).
Three types of filtering can be used: bilinear, trilinear, and anisotropic. Bilinear filtering blends flat textures from a two-dimensional point of view. Trilinear filtering adds a z value, which helps smooth the transition between MIP maps. MIP mapping involves using less-detailed textures as an object gets farther from the viewpoint, similar to what the human eye does when viewing distances. Anisotropic filtering can be used with bilinear or trilinear filtering, and it increases the filtering precision by using a wider range of texels (textured pixels).
Both ATI and Nvidia allow you to force anisotropic filtering through their driver interfaces. ATIs driver interface allows you to set the level of anisotropic filtering from 2X to 16X, while Nvidias GeForce 4 and earlier chipsets drivers allow you to force anisotropic filtering only from 2X to 8X. We have yet to see the GeForce FX or its driver interface.
burningrave101 said:I just dont see how you can say that view distance doesn't play a role in the performance hit from AF considering the fact that when you increase the view distance you increase the number of textures to be filtered. The same thing happens when you increase the resolution with AF enabled.
Scali said:Why did you bother to paste all these quotes?
Scali said:I'm not sure what you mean by 'view distance' anyway. At first it seemed that you meant that a polygon at a greater distance would give a larger performance hit with AF than a polygon at a small distance.
Scali said:But now it seems you mean the maximum view distance of a game... But doesn't a larger distance always decrease performance, regardless of texture filtering mode, because of the simple fact that there is more to render? Or what do you mean? Please clarify yourself, these quotes didn't help much.
Also, the same goes for resolution. Obviously that will always decrease performance, regardless of the filtering method. That's not the point though, I thought we were considering the impact of turning on AA and AF, while leaving all other options the same. Else the comparison would be rather useless.
burningrave101 said:This is what i'm talking about. I'm saying that the performance hit from AF increases as the view distance and resolution increases because of the increased number of textures to be filtered. Both of these factors will always decrease the performance as you said but its not regardless of the filtering method as to how much.
This is why you see ATI's higher-end cards pull ahead of nVidia's at high resolutions with AF enabled in alot of games. Its not because of the resolution ither. You'll notice how the 6800 Ultra is almost always ahead of the X800XT regardless of the resolution when AF is not enabled. The performance loss from AF enabled at higher resolutions is greater on the NV40's then it is on the R400's because of ATI using more adaptive algorithms and better optimizations to improve performance.
My point is that for the most part 2xAF and 4xAF is where the biggest performance hit is when enabling AF and the performance hit from 8xAF and 16xAF is less.
My point is also that the performance hit from AF will normally increase linearly with the view distance and resolution.