【问题标题】:webcl and webgl won't work at the same timewebcl 和 webgl 不能同时工作
【发布时间】:2015-03-23 12:54:58
【问题描述】:

您好 Stack Overflow 用户!

我一直在到处搜索,几乎没有(实际上没有)关于我的问题。我尽量不问已经问过的问题,但似乎我是第一个遇到这个问题的人。

我已经在 Firefox 上安装了 WebCL 扩展。 (我在 31、32 和 33 版极光上试过)

我还在 Chrome 和 Firefox 上启用了 WebGL。

我已经编写了基本的 OpenGL 程序,可以在我的本地机器上渲染盒子和东西。 我已经成功编译、链接并运行了一个示例 OpenCL 程序,该程序使用 GPU 在缓冲区中生成字符串“Hello world”并将其打印到我的本地机器上。

我什至能够在 Chrome 和 Firefox 中运行 WebGL 示例。 我也可以运行不需要 WebGL 的 WebCL 示例。

现在只是事先澄清一下,我只关心 Firefox。 我的 Chrome 浏览器目前没有 WebCL 功能,并且 Firefox 使用 WebCL 更容易设置。我只提到了 Chrome 暗示 WebGL 在我的机器上的多个浏览器上都能按预期工作。

奇怪的是,如果我在 WebGL 之前运行 WebCL 示例,WebGL 会认为在 Firefox 重新启动之前没有图形驱动程序。

同样,如果我在 WebCL 之前运行 WebGL 示例,WebCL 将无法在我的机器上找到 OpenCL 驱动程序,直到重新启动 Firefox。

我只在 Firefox 中安装了 WebCL 扩展,没有别的。 使用这些服务中的任何一项时,终端都不会抱怨。

正在运行

Distro: Arch Linux x86_64
Kernel version: Linux 3.16.1-1-ARCH
GPU: AMD Radeon HD 7850

如果有人对此问题有任何经验,我将非常感谢您的帮助。 如果我以某种方式错过了有关此问题的 Stack Overflow 问题,我将非常感谢重定向。

【问题讨论】:

  • 你能在其他机器上重现这个问题吗?您是否尝试过安装其他(基于 CPU)的 OpenCL 驱动程序,例如 Intel OpenCL Runtime 或 Pocl?

标签: javascript html firefox webgl webcl


【解决方案1】:

我同时使用了 WebGL 和 WebCL,尽管是在 Windows 上,所以一般来说肯定是可以的。这听起来像是您的特定平台或系统的问题。很抱歉没有完全提供帮助,但至少我可以证明它在某个地方有效。

至于KHR_gl_sharing,就是在WebGL和WebCL都工作的时候共享一个内存缓冲区。例如,假设您使用 WebCL 修改您希望 WebGL 绘制的纹理。与其通过 WebCL 将来自 GPU 的副本排队到 JavaScript,只是为了将其复制回 GPU 以用于 WebGL,您只需告诉 WebCL 在 WebGL 缓冲区上进行操作即可。您的 PCIe 总线不会抖动。

这对您的问题没有帮助——它假设 WebGL 和 WebCL 都在运行。此外,Mozilla(Firefox 的开发者)不允许扩展访问 WebGL 缓冲区,因此诺基亚的 WebCL 插件不能无论如何都做 KHR_gl_sharing。这是一个原生集成 WebCL 的浏览器规范,不幸的是,目前没有供应商对此感兴趣(主要是由于开发人员没有采用 OpenCL)。不过,他们肯定想要 GPU 计算,所以我们将看看他们会选择什么。 WebCL 2.0? 2.1/3.0/2.0 + ARB 扩展中的 WebGL 计算着色器?或者,如果有足够的开发人员压力,他们可能会恢复他们的决定并支持 WebCL?谁知道呢!

希望这会有所帮助!

【讨论】:

  • 是的,它似乎是我的系统。 Windows 工作正常。谢谢!我只是真的希望有一个修复我的系统。无论如何,我有一些使用 WebCl 的方法
【解决方案2】:

看看(Windows + Firefox) http://www.ibiblio.org/e-notes/webcl/webcl.htm 你可能需要适用于 Linux 的 WebCL KHR_gl_sharing 扩展?

【讨论】:

  • 所以我一直在尝试调查 KHR_gl_sharing,但我似乎无法在您的链接或使用 Google 上找到有关它的太多信息。您能否详细说明一下 KHR_gl_sharing 是什么?
猜你喜欢
  • 1970-01-01
  • 2020-11-14
  • 1970-01-01
  • 2018-09-26
  • 1970-01-01
  • 2017-01-27
  • 2021-08-01
  • 2018-03-05
相关资源
最近更新 更多