diff options
author | couriersud <couriersud@gmx.org> | 2019-11-03 23:28:01 +0100 |
---|---|---|
committer | couriersud <couriersud@gmx.org> | 2019-11-03 23:28:01 +0100 |
commit | 5b6b3f4e75ed5b39c64e927d23084c45dee69228 (patch) | |
tree | ffe98b040352375817ea4b36f10b9c0ef9398e55 | |
parent | 76ee24ab7ec427e1fc37a716a3ce36fb96322bc9 (diff) |
pongf, rebound: Performance increases. [Couriersud]
Switched nl_pongf to dynamic timestepping. Pongf now runs about 20%
faster than previously. About the same for rebound.
-rw-r--r-- | src/mame/machine/nl_pongf.cpp | 9 | ||||
-rw-r--r-- | src/mame/machine/nl_rebound.cpp | 4 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/mame/machine/nl_pongf.cpp b/src/mame/machine/nl_pongf.cpp index a5d3e510251..4ce0e73ba1c 100644 --- a/src/mame/machine/nl_pongf.cpp +++ b/src/mame/machine/nl_pongf.cpp @@ -16,10 +16,13 @@ NETLIST_START(pongf) - SOLVER(Solver, 48000) + SOLVER(Solver, 5000) PARAM(Solver.PARALLEL, 0) // Don't do parallel solvers - PARAM(Solver.ACCURACY, 1e-4) // works and is sufficient - PARAM(Solver.DYNAMIC_LTE, 1e-4) // Default is not enough for paddle control if using LTE + PARAM(Solver.VNTOL, 1e-4) // works and is sufficient + PARAM(Solver.DYNAMIC_LTE, 1e-1) // Aggressive timestepping + PARAM(Solver.METHOD, "MAT_CR") + PARAM(Solver.DYNAMIC_TS, 1) + PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 2e-5) PARAM(NETLIST.USE_DEACTIVATE, 1) ANALOG_INPUT(V5, 5) diff --git a/src/mame/machine/nl_rebound.cpp b/src/mame/machine/nl_rebound.cpp index 7b7d3abe1ba..9843b95d698 100644 --- a/src/mame/machine/nl_rebound.cpp +++ b/src/mame/machine/nl_rebound.cpp @@ -1288,11 +1288,11 @@ NETLIST_END() NETLIST_START(rebound) LOCAL_SOURCE(rebound_schematics) - SOLVER(Solver, 4800) + SOLVER(Solver, 480) PARAM(Solver.VNTOL, 1e-9) PARAM(Solver.RELTOL, 1e-9) PARAM(Solver.DYNAMIC_TS, 1) - PARAM(Solver.DYNAMIC_LTE, 1e-4) + PARAM(Solver.DYNAMIC_LTE, 1e-6) PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 5e-7) PARAM(Solver.PARALLEL, 0) // Don't do parallel solvers |