Quick answer: Construct 3 Dictionary mutations causing per-frame stutter at high item counts? Dictionary writes serialize the entire structure on each event - batch writes or migrate to Array indexed by hash.
Inventory backed by a Dictionary. 200+ items, every pickup costs 4ms because the entire dictionary re-serializes internally.
Batch writes per frame
Queue updates in a regular variable; flush to Dictionary once per frame in a single event. Cuts the cost from per-update to per-frame.
Use Array as keyed map
Array indexed by hash(key) mod size. Manual collision handling but constant-time and no full serialization.
Profile with the debug tab
Construct 3 debugger shows per-object CPU time. A Dictionary above 1% indicates write-amplification.
“Construct 3 Dictionaries aren't designed for high-frequency writes. Use them like config; not like a database.”
If your save data is dictionary-backed, save once per scene change, not per-update. Save serialization is its own cost.