Speed Up by only calculating entropy of cells adjacent to collapsed cells (+ naive backtracking demo)
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- javascript
- 领域
- performance
调研方向
从 draw() 函数开始,将其 validOptions 计算与链接的 CodePen 实现进行比较。查看链接的演示和视频,以了解提议的相邻单元格优化和朴素回溯行为;完成标准应包括确认对大型网格有所改进,并就回溯工作的范围达成一致。
由索引模型根据 Issue 内容生成。
描述
i was trying to draw a large grid (64x64) and it was slow, so i tweaked the draw() function to skip calculating validOptions for cells that weren't adjacent to any other collapsed cells
// if ZERO adjacent cells are collapsed, skip for now...
let at_least_one_collapsed = false;
for(neighbor of [
j > 0 ? grid[i + (j - 1) * DIM] : null, // up
i < DIM - 1 ? grid[i + 1 + j * DIM] : null, // right
j < DIM - 1 ? grid[i + (j + 1) * DIM] : null, // down
i > 0 ? grid[i - 1 + j * DIM] : null // left
]){
if(neighbor?.collapsed){
at_least_one_collapsed = true;
}
}
if(!at_least_one_collapsed){
nextGrid[index] = new Cell(tiles.length, index); //grid[index];
continue;
}
you can test it out on CodePen here: https://codepen.io/jakedowns/pen/PoRbeGQ
I also implemented naive backtracking, naive in the sense that it goes backwards step by step, instead of kind of propagating re-picking options in the local neighborhood of a cell with 0 options. that would be the more efficient way. gonna try to implement that next...
https://twitter.com/i/status/1547662617749045250
https://user-images.githubusercontent.com/1683122/179131109-84e6a5e7-0d79-4005-9073-d4cbae7e23e8.mp4
- 主要语言
- JavaScript
- 星标
- 219
- 派生
- 64
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
CodingTrain/Wave-Function-Collapse 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 20/100
CodingTrain/Wave-Function-Collapse#41 · 2 个 reaction ·
-
难度 5/5 一周以上 新手友好度 25/100
CodingTrain/Wave-Function-Collapse#37 · 1 条评论 ·
-
难度 1/5 1 小时以内 新手友好度 42/100
CodingTrain/Wave-Function-Collapse#35 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 30/100
-
难度 4/5 3-5 天 新手友好度 35/100
CodingTrain/Wave-Function-Collapse#26 · 1 条评论 ·
查看 CodingTrain/Wave-Function-Collapse 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 75/100
mksglu/context-mode#1200 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
neondatabase/website#5944 ·
-
module: core
难度 2/5 1-3 小时 新手友好度 75/100
bigbluebutton/bigbluebutton#25849 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
jaegertracing/jaeger-ui#4506 ·