各向异性过滤有啥用?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了各向异性过滤有啥用?相关的知识,希望对你有一定的参考价值。
参考技术A 问题一:游戏里里各向异性过滤是什么开还是不开? 那就看你的电脑配置好不好了,开的等级越高,对于3D游戏来说会更加逼真,不过对显卡的消耗也会逐渐增大,运行游戏时的帧数会随之减小,对于中低端显卡用户而言,玩游戏时可能会出现明显的卡顿和掉帧。所以电脑配置不好的不要开等级高的了。问题二:如何3D设置能玩游戏流畅? 一般默认的就行,具体设置还要看你独显的性能,好的话可以相对设置高些~
里面还有个“使用我的优先选择,侧重于”你可以选择性能,质量,或平衡
具体设置如下:
“一致性纹理锁”,该选项就选“使用硬件”;
“三重缓冲”,该选项在开启垂直同步后有效,一般建议“关”;
“各向异性过滤”,该选项对于游戏画质有明显提高,按照自己显卡等级选择倍数,建议低端显卡选4x,中端显卡选8x,高端显卡选16x;
“垂直同步”,触选项可以消除图像“横移”,但是对硬件要求很高,一般建议“强行关闭”;
“多显示器/混合GPU加速”,该选项只有在使用多个显示设备时有效,一般保持默认“多显示器性能模式”即可;
“平滑处理-模式”,该选项是选择是否要在驱动中强行控制游戏反锯齿,若游戏本身有AA选项,则可选择“应用程序控制的”;若希望在驱动中强行设置,则应选“替换任何应用程序设置”;
“平滑处理-灰度纠正”,该选项开启后可以让AA效果更佳,性能下降很少,一般建议“开”;
“平滑处理-设置”,该选项只有当选择了“替换任何应用程序设置”才能调节,2x、4x、8xQ、16xQ为MS取样,8x、16x为CS取样;其中MS取样性能下降比较大,CS取样在效果和性能上取得平衡点;此选项自己按照显卡性能选择;
“平滑处理-透明度”,该选项就是设置透明反锯齿模式,透明反锯齿模式可以实现非边缘AA,效果更佳;多重取样性能较高、画质稍弱,超级取样性能较低、画质较好,请根据对游戏画面要求选择;
“强制成为mipmaps”,该选项就选“无”;
“扩展限制”,该选项就选“关”;
“纹理过滤-各向异性采样优化”,该选项确定是否使用优化算法进行各向异性过滤,选择“开”可以提高一点点性能、损失一点点画质,选择“关”则可以保证最高画质;
“纹理过滤-负LOD偏移”,该选项就选“锁定”;
“纹理过滤-质量”,该选项可一步式控制其它“纹理过滤”选项,追求画质一般推荐“高质量”;
“纹理过滤-三线性过滤”,该选项效果类似于“各向异性过滤优化”,可按照自己对画面要求进行选择。
问题三:各向异性过滤这个东西有什么用 各向异性过滤是用来过滤、处理当视角变化导致3D物体表面倾斜时造成的纹理错误,分为多种等级,如果的你电脑还行的话,一般选4X就行了8X以上看着
问题四:请问“8X平滑和4X各向异性过滤“是什么意思? 平滑是指对3d模型棱角的处理,没有的话物体会变得很粗糙,越高则物体呈现越光滑的状态,但是对帧数的影响也就越大,看显卡型号开吧,8x算高的了,
各项异性过滤是指对各个方向颜色变化的一个调节指标,这么说吧,如果没开,那么一个场景颜色变化剧烈的话,你会看到像是很多平面图粘贴起来的感觉(不清楚的话去看看毕加索的画),这项越高,场景变化就越平滑,容易呈现整体的感觉,当然,对显卡要求也就越高
问题五:各向异性过滤什么意思,高还是低好 各向异性过滤 (Anisotropic Filtering ):
它是用来过滤、处理当视角变化造成3D物体表面倾斜时做成的纹理错误。传统的双线性和三线性过滤技术都是指“Isotropy”(各向同性)的,其各方向上矢量值是一致的,就像正方形和正方体。三线性过滤原理同双线性过滤一样,都是是将相邻像素及彼此之间的相对关系都记忆下来,然后在视角改变的时候绘制出来。只不过三线性过滤的采集范围更大,计算更精确,画面更细腻。当然占用资源也更多。Anisotropic Filt技术的过滤单元并不是“四四方方”的,其典型单元是矩形,还可以变形为梯形和平行四边形。画面上的一个象素,在一个方向上可以包含不同纹理单元的信息。这就需要一个“非正多边形”的过滤单元,来保证准确的透视关系和透明度。不然,如果在某个轴上的纹理部分有大量信息,或是某个方向上的图象和纹理有个倾角,那么得到的最终纹理就会变得很滑稽,比例也会失调。当视角为90度,或是处理物体边缘纹理时,情况会更糟
问题六:各向异性过滤调到2x还是16x。还是应用程序设置好。 越高效果越好,但配置要求更高,根据自己的配置设置
问题七:各向异性过滤取哪个值好? 你的显卡要是同时代的低端显卡,建议你不开启这个选项,要是中端显卡(比如4830)可以开启4X,要是高端显卡可以开启8X或16X,顶级显卡的话你就把能开的全给他开了。综合比较来看,开启4X是个不错的选择。
问题八:各向异性过滤是什么 各向异性过滤 (Anisotropic Filtering ):
它是用来过滤、处理当视角变化造成3D物体表面倾斜时做成的纹理错误。传统的双线性和三线性过滤技术都是指“Isotropy”(各向同性)的,其各方向上矢量值是一致的,就像正方形和正方体。三线性过滤原理同双线性过滤一样,都是是将相邻像素及彼此之间的相对关系都记忆下来,然后在视角改变的时候绘制出来。只不过三线性过滤的采集范围更大,计算更精确,画面更细腻。当然占用资源也更多。Anisotropic Filt技术的过滤单元并不是“四四方方”的,其典型单元是矩形,还可以变形为梯形和平行四边形。画面上的一个象素,在一个方向上可以包含不同纹理单元的信息。这就需要一个“非正多边形”的过滤单元,来保证准确的透视关系和透明度。不然,如果在某个轴上的纹理部分有大量信息,或是某个方向上的图象和纹理有个倾角,那么得到的最终纹理就会变得很滑稽,比例也会失调。当视角为90度,或是处理物体边缘纹理时,情况会更糟。
各向异性过滤是最新型的过滤方法(相对各向同性2/3线性过滤),它需要对映射点周围方形8个或更多的像素进行取样,获得平均值后映射到像素点上。对于许多3D加速卡来说,采用8个以上像素取样的各向异性过滤几乎是不可能的,因为它比三线性过滤需要更多的像素填充率。但是对于3D游戏来说,各向异性过滤则是很重要的一个功能,因为它可以使画面更加逼真,自然处理起来也比三线性过滤会更慢。
问题九:各向异性过滤要禁用吗 如果不需要或着对你没有什么帮助的话,禁了也可。
问题十:显卡特效中的各向异性过滤是什么 Bilinear Interpolation (双线过滤)
这是一种较好的材质影像插补的处理方式,会先找出最接近像素的四个图素,然后在它们之间作差补效果,最后产生的结果才会被贴到像素的位置上,这样不会看到“马赛克”现象。这种处理方式较适用于有一定景深的静态影像,不过无法提供最佳品质。其最大问题在于,当三维物体变得非常小时,一种被称为Depth Aliasing artifacts(深度赝样锯齿),也不适用于移动中的物件。
Trilinear Interpolation (三线过滤)
这是一种更复杂材质影像插补处理方式,会用到相当多的材质影像,而每张的大小恰好会是另一张的四分之一。例如有一张材质影像是512×512个图素,第二张就会是256×256个图素,第三张就会是128×128个图素等等,总之最小的一张是1×1.凭借这些多重解析度的材质影像,当遇到景深极大的场景时(如飞行模拟),就能提供高品质的贴图效果。一个“双线过滤”需要三次混合,而“三线过滤”就得作七次混合处理,所以每个像素就需要多用21/3倍以上的计算时间。还需要两倍大的存储器时钟带宽。但是“三线过滤”可以提供最高的贴图品质,会去除材质的“闪烁”效果。对于需要动态物体或景深很大的场景应用方面而言,只有“三线过滤”才能提供可接受的材质品质。
Anisotropic Interpolation (各向异性过滤)
它在取样时候,会取8个甚至更多的像素来加以处理,所得到的质量最好。
-----------------------------------
在 OpenGL 里我尝试使用 三线过滤 ,出来的画面平滑感觉比 各向异性过滤的还要好点。哈,我就觉得三线过滤效果比各向异性过滤效果好点。在国内的网站上很少关于 OpenGL 使用这三线过滤和各向异性过滤的文章,有的都是理论,没有代码,我看了一个国外的代码。其实就是在加载纹理的时候把代码改为:
>>
设置纹理缩小时采用的过滤方法,这里设置的是三线性过滤
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
设置纹理放大时采用的过滤方法,这里设置的是线性过滤
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
用OpenGL实现支持的最大各异向程度设置最大各异向程度参数
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 1.0f);
>>
设置纹理缩小时采用的过滤方法,这里设置的是三线性过滤
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
设置纹理放大时采用的过滤方法,这里设置的是线性过滤
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
......>>
servlet中filter和chain有啥用?
【中文标题】servlet中filter和chain有啥用?【英文标题】:What is the use of filter and chain in servlet?servlet中filter和chain有什么用? 【发布时间】:2011-05-06 14:10:45 【问题描述】:chain.doFilter(req,res);
我们在一个 servlet 程序中使用了它。我想知道 servlet 中方法 doFilter()
的用途是什么?
还有在 Java servlet 中过滤器和链的概念有什么用?
【问题讨论】:
【参考方案1】:什么是过滤器?
Filters
用于intercept and process requests
在发送到 servlet 之前(如果有请求)。
或
Filters
用于intercept and process a response
,然后由 servlet 发送回客户端。
为什么要使用它们?
-过滤器可以执行安全检查。
-压缩响应流。
-创建不同的响应。
doFilter() 有什么作用?
doFilter()
被称为every time
容器确定 过滤器应应用于页面。
需要three arguments
->ServletRequest
->ServlerResponse
->过滤链
所有functionality that your filter supposed to do
都在doFilter()
方法中实现。
什么是过滤器链?
您的
filters do not know anything about the other filters and servlet
。 FilterChain 通过您在DD
中定义的filter elements
知道order of the invocation of filters
和driven
。
【讨论】:
【参考方案2】:过滤器用于补充 Servlet。对于用法,您应该阅读此内容,The Essentials of Filters。过滤器使用Chain of Responsibility GoF 模式实现。
【讨论】:
【参考方案3】:Servlet 过滤器是 chain of responsibility pattern 的实现
关键是每个过滤器都位于它所映射到的每个 servlet 的“前面”和“后面”。因此,如果您有一个围绕 servlet 的过滤器,您将拥有:
void doFilter(..)
// do stuff before servlet gets called
// invoke the servlet, or any other filters mapped to the target servlet
chain.doFilter(..);
// do stuff after the servlet finishes
您还可以选择不调用chain.doFilter(..)
,在这种情况下永远不会调用servlet。这对于安全目的很有用 - 例如,您可以检查是否有用户登录。
【讨论】:
在写我的答案时,我收到一条消息,有人已经提供了一个。但我仍然继续努力,认为提供者一定没有提到模式和指向它的链接。但是在提交我的之后,我发现我完全错了。 +1 @Adeel Ansari 无论如何,您提供了一个我没有提供的链接 - 指向“过滤器的基本要素”的链接,所以也在那里 +1。以上是关于各向异性过滤有啥用?的主要内容,如果未能解决你的问题,请参考以下文章