AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |
Back to Blog
Simairport devlog11/28/2023 Results - An 18% Performance Improvement! Suffice to say, after updating these systems and applying better paradigms we were able to make several areas of this system run quite a bit faster! :).īesides these major systems, we've also fixed various issues as we encountered them across them - check out the full change-log below for all the details! We won't dive too deep into the weeds on this one, but suffice it to say that we uncovered several aspects of the system that were substantially slower than they should have been, bordering on egregious even, and much of this code was still nearly "original" from early in SimAirport's development. Lastly, we've improved several aspects related to our "object validation/functional requirement checking" systems - this handles things like ensuring that objects or zones are functional. While the new code may not be quite as optimal from a maintainability standpoint, due to the "hot path" that this code has (translation: extremely high-frequency invocation), making this code more 'direct' (even if a bit less legible) directly translated to a relatively major boost in performance - and one that doesn't change the underlying results whatsoever, meaning the improvements made here will affect everyone! The second major improvement comes from improving how we organize and approach the agent rendering aspect of the code - specifically the organization & layout of the data, and how many "indirections" were required simply to update the position or facing of PAX and staff. Notably, agent movement updates & calculations - these are now parallelized, meaning several threads can run these updates at once leading to a relatively substantial improvement especially for those who have robust CPUs with high core counts. Since the last release we've been able to find major performance gains in several of the "systems" that the SimAirport gameplay relies upon to function. Note: This is the Profiling view of our last default build - it helps us see the areas we can Improve on. For a reference, this is one of the reporting tools that we have available and is a good example of what we're talking about: Sometimes, however, this isn't enough - and to get a really deep look into how and what we can do to improve performance improve we've been sitting down together in multiple-hours-long calls and delving deep into the profiling tools at our disposal.
0 Comments
Read More
Leave a Reply. |