如果WebGL不是';默认情况下,我的图形卡不支持,为什么要使用它?

如果WebGL不是';默认情况下,我的图形卡不支持,为什么要使用它?,webgl,Webgl,我想做一个基于网络的游戏。我看到了很多使用WebGL的很酷的库(three.js、pixi.js等等)。问题是,当我运行这些示例时,我得到一条消息“您的视频卡不支持Web GL” 现在,我可以更新我的显卡驱动程序,但我不会这么做。为什么不呢?因为我的游戏用户永远不会这么做。要求临时用户(我的目标受众)更新他们的视频卡驱动程序是完全不可能的 有没有一种方法可以在不疏远大量用户的情况下使用WebGL PS:如果你想知道的话,我的笔记本电脑并不是无精打采的。我在2013年圣诞节买了它,它完美地运行着像

我想做一个基于网络的游戏。我看到了很多使用WebGL的很酷的库(three.js、pixi.js等等)。问题是,当我运行这些示例时,我得到一条消息“您的视频卡不支持Web GL”

现在,我可以更新我的显卡驱动程序,但我不会这么做。为什么不呢?因为我的游戏用户永远不会这么做。要求临时用户(我的目标受众)更新他们的视频卡驱动程序是完全不可能的

有没有一种方法可以在不疏远大量用户的情况下使用WebGL


PS:如果你想知道的话,我的笔记本电脑并不是无精打采的。我在2013年圣诞节买了它,它完美地运行着像Bioshock Infinite这样的游戏

视频卡驱动程序被浏览器列入WebGL黑名单的原因通常有两个:

  • 因为它有允许恶意web内容利用驱动程序/GPU攻击系统的漏洞,或者
  • 因为它有可能导致严重错误渲染的缺陷或限制
  • 由于第一个原因,作为内容作者,您不太可能采取任何措施来启用WebGL,因为这将构成一个漏洞


    这就是为什么你可以运行BioShock,但不能运行WebGL:因为游戏是一个常规的应用程序,通过运行它,你已经在你的系统中信任它了,所以防止它滥用GPU/驱动程序没有什么好处。另一方面,Web页面不被认为以这种方式可信。(如果你问我,常规应用程序有这样的自由运行是一个长期存在的架构错误,但这是另一天的咆哮。)

    通常有两个原因导致视频卡驱动程序被浏览器列入WebGL黑名单:

  • 因为它有允许恶意web内容利用驱动程序/GPU攻击系统的漏洞,或者
  • 因为它有可能导致严重错误渲染的缺陷或限制
  • 由于第一个原因,作为内容作者,您不太可能采取任何措施来启用WebGL,因为这将构成一个漏洞


    这就是为什么你可以运行BioShock,但不能运行WebGL:因为游戏是一个常规的应用程序,通过运行它,你已经在你的系统中信任它了,所以防止它滥用GPU/驱动程序没有什么好处。另一方面,Web页面不被认为以这种方式可信。(如果你问我,常规应用程序如此自由运行是一个长期存在的架构错误,但这是另一天的咆哮。)

    谢谢,我理解安全风险。我的问题更多的是“如果有这么多人不能使用WebGL应用程序,那么它是否值得构建?”对我来说,这似乎是一项风险技术。好吧,这部分是考虑你的受众,部分是对未来采用的猜测。我不认为这是找到答案的地方。谢谢,我理解安全风险。我的问题更多的是“如果有这么多人不能使用WebGL应用程序,那么它是否值得构建?”对我来说,这似乎是一项风险技术。好吧,这部分是考虑你的受众,部分是对未来采用的猜测。我不认为这是一个可以找到答案的地方。我认为问这个问题的更好方法是为什么你的图形卡不支持WebGL?这是什么卡?你在运行什么操作系统?什么版本的驱动程序?也许我们能找到原因。令人遗憾的是,如果在GPU上启用WebGL,您的GPU制造商制造的错误驱动程序将暴露您的机器问题。解决办法是向GPU制造商投诉,并向他们施加压力,要求他们不要这样做。有很多网页开始需要WebGL。新的谷歌地图,如果你想要最好的功能需要WebGL。所以,让驱动程序继续工作取决于GPU供应商。我认为问这个问题的更好方法是为什么图形卡不支持WebGL?这是什么卡?你在运行什么操作系统?什么版本的驱动程序?也许我们能找到原因。令人遗憾的是,如果在GPU上启用WebGL,您的GPU制造商制造的错误驱动程序将暴露您的机器问题。解决办法是向GPU制造商投诉,并向他们施加压力,要求他们不要这样做。有很多网页开始需要WebGL。新的谷歌地图,如果你想要最好的功能需要WebGL。因此,让驱动程序继续工作取决于GPU供应商。