小编Fin*_*ofs的帖子

具有多个参数的HTML 5 webworkers

我刚进入HTML5 webworkers,现在我想将多个参数传递给我的工作者.

我在我的页面中有这个:

var username = document.getElementById("username").value;
var server_url = 'localhost';
w.postMessage(username,server_url);
Run Code Online (Sandbox Code Playgroud)

这在我的工人身上:

var username = '';
var server_url = '';

onmessage = function (e,f) {
    username = e.data;
    server_url = f.data;
}
console.log(username);
console.log(server_url);
Run Code Online (Sandbox Code Playgroud)

当我打开它在浏览器中调用worker的页面时: Uncaught TypeError: Failed to execute 'postMessage' on 'Worker': The 2nd argument is neither an array, nor does it have indexed properties.

所有我想做的是有usernameserver_url获取传递给我知道的例子我存的是工人server_url,但在真正的脚本,它是动态的.

请不要只说:改变这一点,做到这一点,但为我提供代码,以便我可以看到它应该如何完成,而不是仍然不得不自己解决.

javascript html5 web-worker

5
推荐指数
1
解决办法
1481
查看次数

CPU 哈希比 GPU 快?

我想生成一个随机数,哈希,与SHA256我的GPU使用OpenCL基本代码(而不是散列那些预先给定的纯文本,它散列随机数)。
我让所有的散列都在我的 GPU 上工作,但有一个问题:
使用 OpenCL 时,每秒完成的散列数量会降低吗?

是的,您没听错,目前仅使用 CPU 比仅使用 GPU 更快。
我的 GPU 仅~10%在我的 CPU 运行时运行~100%

我的问题是:这怎么可能,更重要的是,我该如何解决?

这是我用于生成 a 的代码Pseudo-Random Number(在两次运行之间根本不会改变):

long Miner::Rand() {
    std::mt19937 rng;
    // initialize the random number generator with time-dependent seed
    uint64_t timeSeed = std::chrono::high_resolution_clock::now().time_since_epoch().count();
    std::seed_seq ss{ uint32_t(timeSeed & 0xffffffff), uint32_t(timeSeed >> 32) };
    rng.seed(ss);
    // initialize a uniform distribution between 0 and 1
    std::uniform_real_distribution<double> unif(0, 1);
    double rnd = unif(rng);
    return floor(99999999 * …
Run Code Online (Sandbox Code Playgroud)

c++ hash opencl

-1
推荐指数
1
解决办法
4496
查看次数

标签 统计

c++ ×1

hash ×1

html5 ×1

javascript ×1

opencl ×1

web-worker ×1