Skip to content

Conversation

@corkr900
Copy link

I'm on a crusade to reduce the number of exceptions that get thrown during normal gameplay, including caught exceptions. It tanks performance, especially with the VS debugger attached, and interferes with my efforts to debug my own stuff.

Previously, VivHelper threw and caught an exception every time the player respawns at a spawn point that is not a vivhelper "spawn facing direction" spawnpoint (so almost every time). This PR handles the case that causes the error without that exception getting thrown.

This PR also adds guardrails against a crash that previously occurred when hot-reloading the code module.

Previously, an exception was thrown and caught every time the player dies. This is bad for performance and messes with debugging efforts that involve breaking when a handled exception is thrown.
With this change, system behavior does not change in an observable way, but an exception is not thrown in the process.
Previously, there was a "Key is already present in the dictionary" crash when hot-reloading VivHelper. Added guardrails to prevent that error and safely reload the module.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant