Optimize release builds: LTO, -O3, visibility, micro-perf fixes

- CMakeLists.txt: enable LTO for Release, add -O3 and -fvisibility=hidden
- scene: addMesh uses std::move, removeMesh takes const shared_ptr&
- entity: std::move entity into map instead of copy
- clouds: cosf/sinf instead of cos/sin (float math, avoids double promotion)
- game_screen: reserve trainer spell vector before push_back loop
- warden_module/emulator: replace std::endl (121 stream flushes) with '\n'
This commit is contained in:
Kelsi 2026-02-18 20:10:47 -08:00
parent eacecddfb0
commit 7ab25c63c9
8 changed files with 167 additions and 152 deletions

View file

@ -5112,6 +5112,7 @@ void GameScreen::renderTrainerWindow(game::GameHandler& gameHandler) {
} else {
// Single tab or no categorization - flat list
std::vector<const game::TrainerSpell*> allSpells;
allSpells.reserve(trainer.spells.size());
for (const auto& spell : trainer.spells) {
allSpells.push_back(&spell);
}