Simple way to remove duplicated tiles to improve performance
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- javascript
- Lĩnh vực
- performance
Hướng nghiên cứu
Không có tệp hoặc bài kiểm thử nào được nêu. Hãy bắt đầu bằng cách xác định logic tạo và xoay tile, sau đó so sánh số lượng tile hiện tại và thời gian tạo với bước loại bỏ trùng lặp được đề xuất; hoàn thành khi các tile đã xoay bị trùng được loại bỏ mà không làm thay đổi tập tile duy nhất thu được.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Hi 😃 We can write a function to get only the unique tiles in an array :
function removeDuplicatedTiles(tiles) {
const uniqueTilesMap = {};
for (const tile of tiles) {
const key = tile.edges.join(","); // ex: "ABB,BCB,BBA,AAA"
uniqueTilesMap[key] = tile;
}
return Object.values(uniqueTilesMap);
}
So we can apply rotations to all the tiles and then keep only the unique ones :
const initialTileCount = tiles.length;
for (let i = 0; i < initialTileCount; i++) {
for (let j = 1; j < 4; j++) {
tiles.push(tiles[i].rotate(j));
}
}
tiles = removeDuplicatedTiles(tiles);
In our case, we have 13 images. By rotating all of them, we get 52. And by removing the duplicates, we get down to 33.
On my PC, the generation time goes from 23s to 14s 🚀
- Ngôn ngữ chính
- JavaScript
- Star
- 219
- Fork
- 64
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của CodingTrain/Wave-Function-Collapse
-
Optimize grid updates Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 20/100
CodingTrain/Wave-Function-Collapse#41 · 2 reaction ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
CodingTrain/Wave-Function-Collapse#38 · 2 bình luận ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
CodingTrain/Wave-Function-Collapse#37 · 1 bình luận ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 42/100
CodingTrain/Wave-Function-Collapse#35 · 1 bình luận ·
-
Do NOT make a new grid Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
Tất cả issue của CodingTrain/Wave-Function-Collapse
Issue tương tự
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Improve Title Support Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
georgestephanis/p2026#40 ·
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Margaret-Petersen/food-delivery-app-clone-react-native#1981 ·