Thyme icon indicating copy to clipboard operation
Thyme copied to clipboard

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

Open xezon opened this issue 2 years ago • 2 comments
trafficstars

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 avatar Nov 02 '23 18:11 xezon

And "Buffer Security Check" /GS too.

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

xezon avatar Nov 02 '23 18:11 xezon

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.

jonwil avatar Nov 02 '23 19:11 jonwil