C++
2025
One of the largest performance overheads in Unreal is the need for actors and primitive components to draw something in a world. Today I want to show you a way to bypass these abstractions entirely and manually draw primitives to the world with minimal overhead.
Runtime polymorphism via virtual functions is the traditional way to achieve dynamic dispatch in C++, but it comes with overhead: vtable lookups, cache misses, and heap allocations. With C++20, we can leverage std::variant and concepts to create compile-time polymorphism that sidesteps virtual dispatch entirely.
Pointer arithmetic is one of C++’s most powerful low-level features, providing direct manipulation of memory addresses. While it can be dangerous when misused, understanding pointer arithmetic is essential for systems programming, implementing custom memory allocators, and writing performance-critical code.
Hello! Today, I want to talk about a commonly misunderstood concept in programming: Move Semantics.
A Virtual Table (or V-Table) is an essential concept in C++ for implementing polymorphism. It’s a data structure used to support dynamic dispatch for virtual functions. When you define a class with virtual functions, the compiler generates a V-Table for that class to keep track of the addresses of those virtual functions. At runtime, the V-Table is used to decide which function to call based on the type of the object, allowing polymorphism to work correctly.
2024
Hello! Today, I want to talk about a commonly misunderstood concept in programming: Move Semantics.
This blog is a follow-up to this YouTube video: https://www.youtube.com/watch?v=8-VZoXn8f9U