Disclosure: On this site you won’t find specific advice on “how to call function xyz()”. Interpreting C++ ARM and #pragma dwim is also out of scope.
We’re treating our readers as intelligent beings who can use Google and/or StackOverflow, where all such specific questions were answered more than once.
What you will find is opinions, more opinions, and even more opinions on all the aspects of software development - and with a large chunk of them based on real-world experience too.
Your mileage may vary. Batteries not included.
C++ for Games: Performance. Allocations and Data Locality
May 23, 2016 by • “No Bugs” Bunny
Abstract:
Allocations and related lack of spatial locality can be DAMN EXPENSIVE
Quote:
During the times of Ancient Gamers (also known as times of Atari, ZX Spectrum, and Commodore64), CPUs were running at clock speed of a single-MHz (and one operation usually took several clocks). At the same time, memory run at about the speed comparable to that of CPUs.
Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.ProgrammingTips and TricksProgramming LanguagesOptimizations
Read moreMarshalling and Encodings
May 16, 2016 by • “No Bugs” Bunny
Quote:
Encoded data size is especially important for Client-Server communications, and less important (within reason) for Server-to-Server ones and for locally-stored format.
Another Quote:
On the other hand, due to being optimized for CPU operation, Flatbuffers are NOT optimized space-wise; even compared to not-so-optimal-space-wise Google Protocol Buffers, Flatbuffers can lose additional 1.5x in size
Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.ProgrammingNetwork Programming
Read moreNetwork Programming: Socket Peculiarities, Threads, and Testing
May 9, 2016 by • “No Bugs” Bunny
Quote:
I am not saying that this architecture is the only viable one, but it does work for TCP for sure (and performs reasonably well too)
Another Quote:
The whole task of optimizing performance beyond, say, 20-50K packets/second per box tends to be Quite Elaborated, and involves quite a few things which are platform- and hardware-dependent.
Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.System ArchitectureDistributed systemsOn.ProgrammingTips and TricksNetwork Programming
Read moreTCP and Websockets for Games
May 2, 2016 by • “No Bugs” Bunny
Quote:
TCP is a byte stream, the whole byte stream and nothing but the byte stream
Another Quote:
if all packets reach Client, there isn’t that much difference between TCP and UDP
Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.ProgrammingNetwork ProgrammingOn.SecurityBest Practices
Read more



