Subject: profiling game and renderer

Key Goals: Profile the current performance of the renderer.

Measured Components :

Results:

First Frame :
Nth Frame :

There is a significant disparity between the first frame and subsequent frames in the game loop: the initial frame required 300,253,484 cycles , while later frames (Nth frames) consumed only 17,155,770 cycles . We will explore the reason for that later. Notably, the render function (ID 2) accounts for the majority of CPU usage, consuming approximately 17 million cycles per frame.

Sprite Memory Breakdown (First Frame):

A typical frame renders multiple sprites. A sprite is an image composed of pixels, where each pixel is a 32-bit value . This includes 24 bits for color (8 bits each for red, green, and blue) and 8 bits for the alpha channel (transparency).
Memory Throughput Analysis:
At 30 FPS, the renderer processes 1,030,080 bytes/sec (~0.00096 GB/s) . This is orders of magnitude lower than modern memory bandwidth, indicating the bottleneck is computational, not memory-bound. However, before making any conclusions, let's run tests to validate system-level performance.