将画布元素生成gcode的流程迁移到 webworker的难点
将画布元素生成gcode的流程迁移到 webworker的难点
目前的流程是有绝对坐标加工,有相对坐标加工。绝对坐标相对简单一些,因为每个元素的加工坐标都是绝对的,但是相对坐标的加工就依赖上一个元素,有时是依赖上一个图层。由于worker是异步的,
触发函数使用postMessage 函数。
workerRef.current.postMessage(layerData);接受函数处理后的结果
将画布元素生成gcode的流程迁移到 webworker的难点
目前的流程是有绝对坐标加工,有相对坐标加工。绝对坐标相对简单一些,因为每个元素的加工坐标都是绝对的,但是相对坐标的加工就依赖上一个元素,有时是依赖上一个图层。
由于worker是异步的,
触发函数使用postMessage 函数。
postMessage(layerData);
接受函数处理后的结果 使用 onmessage 函数
代码语言:javascript代码运行次数:0运行复制 onmessage = (e) => {
ct generatedGCode = e.data;
setGCode(generatedGCode);
};
如果要使用worker的能力,首先需要获取所有的加工点,借助paperjs来获取元素的坐标, 然后将这些坐标传入worker, 坐标必须是原始数据,不能是paperjs的元素,worker中也无法使用paperjs的能力。
只是获取所有加工元素的数据,这一步就要大改。
另外就是由于是异步的,如果gcode不是一次性返回的,那么gcode必须入到合适的位置。
最后最难的是,在异步中 无法取得 相对定位的 前一个坐标。或者上一个图层的最后一个坐标。
所以目前 worker 不太好引入,只会增加技术复杂度。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-15,如有侵权请联系 cloudcommunity@tencent 删除函数数据异步迁移worker#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-21 20:25:32
推荐阅读
留言与评论(共有 6 条评论) |
本站网友 光明建发集团 | 13分钟前 发表 |
触发函数使用postMessage 函数 | |
本站网友 绿头苍蝇 | 30分钟前 发表 |
不能是paperjs的元素 | |
本站网友 商业地产广告语 | 22分钟前 发表 |
另外就是由于是异步的 | |
本站网友 兴山新闻 | 15分钟前 发表 |
将画布元素生成gcode的流程迁移到 webworker的难点 目前的流程是有绝对坐标加工 | |
本站网友 备孕要吃什么 | 0秒前 发表 |
最后最难的是 |