A Simple Rollback System in C++BeyondWe still need to wait for all the player inputs to process the confirm frame…What is a rollback system?Input predictionMispredictionDoing a rollbackRollback Implementation DetailsPhysics vs Graphics game update. This allows to sequence your game frame.A Fixed TickRollback Manager InputsRollbackGame System Architecture Game systems need a function to rollback (revert to a previous state). Typically everywhere Player Character as a gameplay, physics, graphics and audio object…ECS-like architecture System and array of Components (C-struct without functionality, except operators maybe) You want to have0 码力 | 58 页 | 6.61 MB | 6 月前3
Make Successor Build Systems: World Tour of Build SystemsReliable, Fast and Safe Builds Damien co-founder, tipi.build @daminetreg / damien@tipi.build Antonio DevEx Engineer, EngFlow @TheGrizzlyDev / antonio@engflow.comA love ❤ letter to CMakeGiving CMake tackle first Memory Safety Arithmetic SafetySanitizers for C++ builds with CMake github.com/tipi-build/sanitizers-cmakeSanitizers for C++ builds AddressSanitizer (ASan) UndefinedBehaviorSanitizer (UBSsan) decent amount of CPU power Let's look at other build systemsLearning from other build-systemsParallelism How many independent targets can a build system run concurrently at most?Parallelism Level 10 码力 | 115 页 | 7.02 MB | 6 月前3
Combining Co-Routines and Functions into a Job SystemHlavacs – Combining Co-Routines and Functions into a Job System - CppCon 2021 1 / 39Helmut Hlavacs – Combining Co-Routines and Functions into a Job System - CppCon 2021 2 / 39 About Myself • Professor for Functions into a Job System - CppCon 2021 3 / 39 Creating Game Engines with C++ • Vienna Game Job System + • Graphics API Abstraction Layer + • Vienna Entity Component System + Vienna Type List Library 2.0 https://github.com/hlavacs 20Helmut Hlavacs – Combining Co-Routines and Functions into a Job System - CppCon 2021 4 / 39 The Game Loop auto prev = high_resolution_clock::now(); while( !finished()0 码力 | 39 页 | 1.23 MB | 6 月前3
Cross-Platform Floating-Point Determinism Out of the BoxHargreaves, MSDN Blog “Experiments are usually reproducible only on the same machine with the same system library and the same compiler using the same options.” - STREFLOP LibraryEarlier Attempts:FAILED0 码力 | 31 页 | 3.88 MB | 6 月前3
Why is my Build so SlowWhy is my build so slow? Sam Privett 12 Disclaimer: The views and opinions expressed in this presentation are solely those of the presenters and do not necessarily represent the views, positions, Visualizing Compilation IntroductionLines of Code ≈ Longer Build Times 8Lines of Code 📈 9Build Times 📈 10Build Times 📈 11Build Times 📈 12Build Times 📈 13Boiling Frog 14Developer Productivity 15 linker, etc) 18Visualization 19 - Interactive Trace Viewer - https://ui.perfetto.dev/ - Can build and run server locally as well - Chrome Event Tracing Format JSON - … and more!20 VisualizationClang0 码力 | 71 页 | 3.96 MB | 6 月前3
High-Performance Cross-Platform Architecture: C++20 InnovationsMe • 35-year career in video games and embedded software • Started using C++ in 1995 • First cross-platform project in 1994Cross-Platform Architecture Goals • Take advantage of all platforms • Focus on Implement a family of quaternion classes, an illustrative example from a larger project • Project build issues • Inclusion of platform-specific header files • Concept hierarchies • Class and Function #define INCLUDE_PLT(Feature, File) INCLUDE_BUILD_FILENAME(Feature, File) • #define INCLUDE_PLT_FEATURE(Feature) INCLUDE_STRINGIZE(Feature.h) • #define INCLUDE_BUILD_FILENAME(Feature, File) INCLUDE_STRINGIZE(File0 码力 | 75 页 | 581.83 KB | 6 月前3
Building a Coroutine-Based Job System Without Standard LibraryZhang tankiistanki tankijong COROUTINE JOB SYSTEM WITHOUT STANDARD LIBRARY source code of the system: https://github.com/tankiJong/cpp-coroutine-job-system Hi Everyone, Tanki here. Thanks for coming resources: https://gist.github.com/MattPD/9b55db49537a90545a90447392ad3aeb Before we dive into the system, I want to take 10 mins to have a quick recap about C++ coroutine and share some gotcha moments pretty overwhelmed by all different terms, not to mention to put them up together to form a knowledge system. I hope the following information can be helpful and I attached some links in the slides, or pointers0 码力 | 120 页 | 2.20 MB | 6 月前3
Using Modern C++ to Build XOffsetDatastructureFanchen Su, XOffsetDatastructure, CppCon 2024 41. Title • 1 Long Title: • Using Modern C++ to Build XOffsetDatastructure: A Zero-Encoding and Zero-Decoding High-Performance Serialization Library in Fanchen Su, XOffsetDatastructure, CppCon 2024 51. Title • 1 Long Title: • Using Modern C++ to Build XOffsetDatastructure: A Zero-Encoding and Zero-Decoding High-Performance Serialization Library in migration of game data among scenes, areas, and lines requires a robust and efficient serialization system to maintain game state consistency and performance. Fanchen Su, XOffsetDatastructure, CppCon 20240 码力 | 111 页 | 3.03 MB | 6 月前3
Behavior-driven Tests for Microservices-based Algo Trading Systemfrom Columbia University. Title : Behavior-driven Tests for Microservices-based Algo Trading System Summary : Introduction : This poster will introduce a test framework we use at Bloomberg to to enable behavior-based tests in natural language style for a microservices-based algo trading system that our engineering team is responsible for. Relevance : For our electronic trading business Although microservice components can easily be unit tested, it is often non-trivial to automate the system-level tests with external dependencies. Controlling external dependencies are especially important0 码力 | 1 页 | 65.24 KB | 6 月前3
Beyond Compilation Databases to Support C++ Modules: Build Databases● 15 years working on build systems and software process ● CMake developer ○ Designing and implementing features, performance improvements ○ Maintaining and improving build systems which use CMake Pushing forward modules support in other build systems ■ xmake ■ bazel 2Outline 1. What are compilation databases? 2. How do modules change the status quo? 3. Build databases 3Compilation Databases: Overview https://clang.llvm.org/docs/JSONCompilationDatabase.html ● Widely used and available ○ Generated by build systems ○ Used by static analysis to know how to analyze sources ○ IDEs to understand how a source0 码力 | 31 页 | 585.05 KB | 6 月前3
共 283 条
- 1
- 2
- 3
- 4
- 5
- 6
- 29
相关搜索词
SimpleRollbackSysteminC++MakeSuccessorBuildSystemsWorldTourofCombiningCoRoutinesandFunctionsintoJobCrossPlatformFloatingPointDeterminismOuttheBoxWhyismysoSlowHighPerformanceArchitecture20InnovationsBuildingCoroutineBasedWithoutStandardLibraryUsingModerntoXOffsetDatastructureBehaviordrivenTestsforMicroservicesbasedAlgoTradingBeyondCompilationDatabasesSupportModules













