wip: don't lock command mutex for each mass/spring in FillGraph()

This commit is contained in:
2026-02-24 02:05:44 +01:00
parent 550970f8a1
commit 74065b7ea2
5 changed files with 35 additions and 10 deletions

View File

@ -30,7 +30,7 @@ constexpr float ROT_SPEED = 1.0;
constexpr float CAMERA_SMOOTH_SPEED = 15.0;
// Physics Engine
constexpr float SIM_SPEED = 4.0; // How large each update should be
constexpr float SIM_SPEED = 0.2; // How large each update should be
constexpr float TIMESTEP = 1.0 / 90; // Do 90 physics updates per second
constexpr float MASS = 1.0; // Mass spring system
constexpr float SPRING_CONSTANT = 5.0; // Mass spring system

View File

@ -83,7 +83,7 @@ public:
std::unordered_map<std::pair<State, State>, int> state_springs;
public:
MassSpringSystem() {
MassSpringSystem() : threads(std::thread::hardware_concurrency() - 1) {
#ifndef BARNES_HUT
last_build = REPULSION_GRID_REFRESH;
std::cout << "Using uniform grid repulsion force calculation." << std::endl;
@ -188,6 +188,10 @@ public:
auto AddSpringCmd(const State &a, const State &b) -> void;
auto ClearCmd() -> void;
auto AddMassSpringsCmd(const std::unordered_set<State> &masses,
const std::vector<std::pair<State, State>> &springs)
-> void;
};
// https://en.cppreference.com/w/cpp/utility/variant/visit