关于NVIDIA 的 OpenGL回退到软件模式的问题。

news/2024/7/4 13:08:03

其实很久前就想说说这个问题了。
我一直用的NV的驱动。没用过 ATI的。这里只说说NVIDIA的。
NVIDIA的驱动很有意思,下个模拟器,可以模拟很多高级的GPU。比如最近的G80。同时也会在某些硬件不支持的情况下回到软件模式来实现。
但是这个软件回退模式是默认的。就是说你一旦用了硬件不支持的功能。就直接回退了。不会提示你的。这个问题很让人头疼。很多时候,我们显然是不想让它回退到软件模式的,因为慢的要死 0.xx个fps。没人受的了的。而且还不好调试,因为你不知道什么时候调用了哪个函数,引起了硬件不支持。今天早上改了一下那个GPU的水,发现fps从200变成0.5了。找了我一个上午。
不过估计NVIDIA也认识到这个问题。最近的NVPerfKit里能抓住是什么引起回退的。可恶的是那玩意只能在台机上用。
现在我列一下我碰到过的可能会引起回退的地方,以后会做修补;
1: FLOAT32 t的纹理是不支持LINEAR的filter的。一旦用了LINEAR的filter。就回到软件模式。
2:    NPOT纹理硬件可能不支持CLAMP以外的Address mode。 (5600上碰到过)
3:    FLOAT格式的Rendertarget是不支持硬件的BLENDING.
4:    顶点纹理只支持 R32F和RGBA32F。并且不支持NEAREST以外的任何FILTER





http://www.niftyadmin.cn/n/3647781.html

相关文章

引擎完成对视频纹理的无缝支持

视频纹理的功能其实早就做了。只是怎么都不能很好的融合到引擎中。今天走在路上灵机一动: 做成插件,用现在引擎的可扩展的纹理管理器和插件对象创建机制。重新派生一种纹理。不改变现有的引擎结构,仅仅加了一个插件。同时还可以支持其他跨平台…

分析学中的若干空间:

分析学中的若干空间:1: 线性空间。(向量空间) 设X是由抽象元素构成的非空集合,其中元素可以称为点, 1) 对于X中任意两个元素x,y。我们定义加的运算 z x y. 2) 对于X中的元素x,和 纯量 a ,定义数乘运算。 …

UI设计消息路由设想之一---System Event Translator

这段时间一直在做Video Player的GUI。对UI变态的需求有了更进一步的了解。Player是的一个很重要原则是方便用户使用。那么必然键盘上的Enter键/Esc之类键的重用率是非常高的。这些键在不同的时刻有不同的功能。这个时候如果在各个模块响应消息的地方进行处理势必会让代码很难看…

水波加入了简单的反射,效果好多了.

今天终于把CubeMap的读取加入引擎了.要知道.在OpenGL下,不是件很容易的事情.尤其要做到加载的接口都要一致,而且要考虑到和DX兼容.不过目前似乎这个接口还是不错的.Cubemap的第一个简单应用就是给前面做的水加上了简单的反射, 看上去效果好多了.经过一段时间优化,速度也快了.这…

新瓶灌旧酒,Hugo老师的Fire算法的GPU版本.

没有完全把Hugo老师的demo给照搬过来.只照搬了两样东西.那个火焰纹理和Coolmap的资源, 以及核心部分的算法.算法原始版本见这里http://freespace.virgin.net/hugo.elias/models/m_fire.htm这个是我把它程序里用的火焰调色板保存成了一个bmp这个GPU版的抓图.注意RTT一定要是8bit…

GUI设计思路之二:Blender -- WinstateBlender/WinTransBlender

现在很多GUI的窗口在显示的时候,都有淡入和淡出的效果. 或者是飞入/飞出的效果(是叫飞入飞出吗?呵呵.). 也就是说1:可以自由控制窗口在两个状态间进行融合. 2: 能自由控制窗口的变换--旋转和缩放等. 为此我把窗口独立成一个个状态:struct _XUI_API_ xuiWindowState…

GUISystem设计思路之三:HotArea的概念。

很多时候,我们希望有些GUI的toolbar能自动消失。这个可以通过循环检测来实现。还有些时候 我们希望鼠标在某个区域动一下或者点一下就让消失掉的toolbar能自动显示出来。或者在一个窗口以外的地方点击的时候就能让窗口自动关闭。这个时候,我们去生写代码…

Mozilla XULRunner 的编译。

Mozilla XULRunner 的编译。潘李亮 2006-10-31Mozilla里有很多好东西。 比如那个js引擎和嵌入式渲染引擎。这段时间在想如果能在游戏里嵌入一个浏览器该多好啊。这个想法用mozilla的渲染引擎来实现在再好不过的了。Mozilla的渲染引擎叫xulrunner。它和firefox 用的是同一个代码…