View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000218 | Medieval Engineers | Enhancement | public | 2022-04-12 00:14 | 2022-08-06 22:48 |
Reporter | equinox | Assigned To | equinox | ||
Priority | normal | Severity | minor | Reproducibility | N/A |
Status | resolved | Resolution | fixed | ||
Product Version | 0.7.4 (unreleased) | ||||
Target Version | 0.7.4 (unreleased) | Fixed in Version | 0.7.4 (unreleased) | ||
Summary | 0000218: Use memcpy/memset for MyVoxelData operations | ||||
Description | Currently MyVoxelData uses naive loops for performing operations on the underlying arrays. Considering the Clear operation shows up as ~5% of CPU time when meshing voxel data it's very reasonable to convert this method to a single memset operation via Span<byte> or Unsafe.InitBlockUnaligned. Similar treatment can be applied to BlockFill and CopyRange relatively easily. ComputeContentConstitution and ContainsVoxelsAboveIsoLevel are both possible using 8 byte operations instead of 1 byte operations, though this is trickier. | ||||
Tags | Performance, Voxel | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2022-04-12 00:14 | equinox | New Issue | |
2022-04-12 00:14 | equinox | Tag Attached: Voxel | |
2022-04-12 00:14 | equinox | Tag Attached: Performance | |
2022-07-21 21:00 | equinox | Assigned To | => equinox |
2022-07-21 21:00 | equinox | Status | new => assigned |
2022-07-21 21:00 | equinox | Status | assigned => in progress |
2022-08-06 22:48 | equinox | Status | in progress => resolved |
2022-08-06 22:48 | equinox | Resolution | open => fixed |
2022-08-06 22:48 | equinox | Fixed in Version | => 0.7.4 (unreleased) |