Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thyme Release uses C++ exceptions, Multi-threaded DLL, Not Whole Program Optimization #1017

Open
xezon opened this issue Nov 2, 2023 · 2 comments

Comments

@xezon
Copy link
Contributor

xezon commented Nov 2, 2023

Thyme Release uses C++ exceptions, Multithreaded DLL, Not Whole Program Optimization.

One should check performance gain from

  • disabling C++ exceptions
  • using Multi-threaded /MT instead of /MD
  • enabling Whole Program Optimization

As far as I am aware original game also had exceptions enabled, but it appears that try catch is not used so far in Thyme.

https://preshing.com/20110807/the-cost-of-enabling-exception-handling/

https://learn.microsoft.com/en-us/cpp/build/reference/eh-exception-handling-model?view=msvc-170

setting2

setting3

@xezon
Copy link
Contributor Author

xezon commented Nov 2, 2023

And "Buffer Security Check" /GS too.

https://preshing.com/20110807/the-cost-of-buffer-security-checks-in-visual-c/

@jonwil
Copy link
Contributor

jonwil commented Nov 2, 2023

Our code is full of "throw" statements (presumably the matching catch statements have yet to be reverse engineered) so we absolutely need C++ exceptions turned on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants