- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的所有开发都是在一台相当先进的机器上进行的,但我的一些用户使用的是石器时代的机器。虚拟化较旧的操作系统和不同的 CPU 架构非常容易,但我还没有找到任何方法来虚拟化较旧的 GPU。
当您开发针对旧版本 OpenGL 的程序时,您如何知道它是否可以在具有旧 GPU 的机器上运行(较低的 OpenGL 版本和较少的可用扩展)?
有 GPU 模拟器吗?关闭 GPU 上某些功能的方法?
跟进:
使用为特定版本的 API 生成的扩展加载器怎么样?例如,如果我生成 glad OpenGL 2.1 版的文件是否会限制我的上下文版本,即使我的驱动程序支持更高版本?
最佳答案
尝试 NVEmulate从 nvidia 开始,我很久以前就开始使用它来模拟更新的 GPU,但我没有使用它,但它也可以反过来使用(降级你的 GPU)。它只模拟 nvidia GPU 的每个版本的 exe 都有不同的芯片支持。
你的问题是在旧的 gfx 卡上只有旧版本的 gfx 驱动程序,这些通常是主要问题而不是 gfx 卡本身。除非使用合适的模拟器,否则您根本无法进行测试……因为旧驱动程序与新卡不兼容,反之亦然。
我正在通过关闭诸如Intel HD 或GLSL 等“坏”卡的多上下文等高级功能来解决这个问题,以及一些针对旧的ATI 的扩展 因为你在 Windows 上有所有奇怪的 OpenGL 实现......每个品牌都有自己的怪癖,如果你正在使用 OpenGL 我建议目标 nvidia GPU 的。公平地说,AMD 确实加强了他们(以前的 ATI)显卡的可用性,这是 ATI 多年来未能做到的)。如果您的目标是 DirecX 那么 AMD 是因为 nvidia 在 DirectX 实现中存在错误以进行更改(可用但包含内部泄漏,导致随着时间的推移速度变慢和崩溃,所以你需要不时地重新启动应用程序,你知道玩一些游戏 2 小时后的深色纹理错误......)
附言。一些 gfx 错误与 gfx 无关,例如 AMD 驱动程序极易受到应用程序中任何地方的内存泄漏的影响(即使它们与 gfx 无关)造成不相关的破坏并且很难调试。
相关:
关于opengl - 如何在较旧的 GPU 上测试 OpenGL 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42846618/
我是一名优秀的程序员,十分优秀!