From 6b9e5ab6f10782ef8276128f6966ee658dbe7707 Mon Sep 17 00:00:00 2001 From: ramdoys Date: Sun, 8 Dec 2024 12:59:00 -0500 Subject: [PATCH 1/6] fix: update Stats.yaml --- .../en-us/reference/engine/classes/Stats.yaml | 84 ++++++++++++------- 1 file changed, 56 insertions(+), 28 deletions(-) diff --git a/content/en-us/reference/engine/classes/Stats.yaml b/content/en-us/reference/engine/classes/Stats.yaml index a1fabc812..10727c650 100644 --- a/content/en-us/reference/engine/classes/Stats.yaml +++ b/content/en-us/reference/engine/classes/Stats.yaml @@ -51,7 +51,7 @@ properties: In a networked game, DataReceiveKbps describes roughly how many kilobytes of data are being received by the current instance, per second. If from the server's perspective, this represents the total amount of data being - received from the clients connected to the server.If from a client's + received from the clients connected to the server. If from a client's perspective, this represents the total amount of data being received from the server. code_samples: @@ -78,7 +78,7 @@ properties: In a networked game, DataSendKbps describes roughly how many kilobytes of data are being sent by the current instance, per second. If from the server's perspective, this represents the total amount of data being sent - to the clients connected to the server.If from a client's perspective, + to the clients connected to the server. If from a client's perspective, this represents the total amount of data being sent to the server. code_samples: type: float @@ -97,8 +97,10 @@ properties: capabilities: [] writeCapabilities: [] - name: Stats.FrameTime - summary: '' - description: '' + summary: | + A measurement of how long it takes for the engine to process all tasks required to render a frame. + description: | + FrameTime is a measurement of how long it takes for the engine to render a frame. This can be used to calculate frames per second (FPS) through dividing 1 by this value. A high frame time value indicates the engine and device struggling to render frames. code_samples: [] type: float tags: @@ -116,8 +118,12 @@ properties: capabilities: [] writeCapabilities: [] - name: Stats.HeartbeatTime - summary: '' - description: '' + summary: | + A measurement of the total amount of time it takes long it takes for Roblox to update all of its Task Scheduler jobs + description: | + The HeartbeatTimeMs property is a measurement of the total amount of time + it takes long it takes for Roblox to update all of its Task Scheduler + jobs. If this value is high, then it means one of the tasks are hogging up a lot of resources. code_samples: [] type: float tags: @@ -261,8 +267,10 @@ properties: capabilities: [] writeCapabilities: [] - name: Stats.PhysicsStepTime - summary: '' - description: '' + summary: | + A measurement of how long it takes for the physics engine to update its current state. + description: | + A measurement of how long it takes for the physics engine to update its current state. If this value is high, then it means the game instance is under stress from the physics simulations taking place. code_samples: [] type: float tags: @@ -329,8 +337,10 @@ properties: capabilities: [] writeCapabilities: [] - name: Stats.RenderCPUFrameTime - summary: '' - description: '' + summary: | + A measurement of how long it takes for the CPU to process all of its tasks required to render a frame. + description: | + The RenderCPUFrameTime property is a measurement of how long it takes for the CPU to process all of its tasks required to render a frame. A high value can indicate that the CPU is taking longer to render a frame, which can lead to performance issues. code_samples: [] type: float tags: @@ -348,8 +358,10 @@ properties: capabilities: [] writeCapabilities: [] - name: Stats.RenderGPUFrameTime - summary: '' - description: '' + summary: | + A measurement of how long it takes for the GPU to process all of its tasks required to render a frame. + description: | + The RenderGPUFrameTime property is a measurement of how long it takes for the GPU to process all of its tasks required to render a frame. A high value can indicate that the GPU is taking longer to render a frame, which can lead to performance issues. code_samples: [] type: float tags: @@ -367,8 +379,10 @@ properties: capabilities: [] writeCapabilities: [] - name: Stats.SceneDrawcallCount - summary: '' - description: '' + summary: | + A measurement of the number of draw calls made by the game's current scene. + description: | + The SceneDrawcallCount property is a measurement of the number of draw calls made by the game's current scene. A draw call is a single rendering operation, such as drawing a mesh. A high draw call count could mean a scene is too complex or unoptimized, which can lead to performance issues. code_samples: [] type: int tags: @@ -386,8 +400,10 @@ properties: capabilities: [] writeCapabilities: [] - name: Stats.SceneTriangleCount - summary: '' - description: '' + summary: | + A measurement of the number of triangles rendered by the game's current scene. + description: | + The SceneTriangleCount property is a measurement of the number of triangles rendered ny the game's current scene. A count of triangles rendered is useful when trying to estimate the complexity and performance of a scene. code_samples: [] type: int tags: @@ -405,8 +421,10 @@ properties: capabilities: [] writeCapabilities: [] - name: Stats.ShadowsDrawcallCount - summary: '' - description: '' + summary: | + A measurement of the number of draw calls being made for shadows by the game's current scene. + description: | + The ShadowsDrawcallCount property is a measurement of the number of draw calls being made for shadows by the game's current scene. A high count means more shadows are being created by the amount of rendered objects in a scene. code_samples: [] type: int tags: @@ -424,8 +442,10 @@ properties: capabilities: [] writeCapabilities: [] - name: Stats.ShadowsTriangleCount - summary: '' - description: '' + summary: | + A measurement of the number of traingles rendered as shadows in the game's current scene. + description: | + The ShadowsTriangleCount property is a measurement of the number of triangles rendered as shdows in the game's current scene. A high count means there are a lot of triangles used to cast shadows, which can hinder performance. code_samples: [] type: int tags: @@ -443,8 +463,10 @@ properties: capabilities: [] writeCapabilities: [] - name: Stats.UI2DDrawcallCount - summary: '' - description: '' + summary: | + A measurement of the number of 2D draw calls made for UI elements in the game's current scene. + description: | + The UI2DDrawcallCount property is a measurement of the number of 2D draw calls made for UI elements in the game's current scene. A high count can mean there are a lot of 2D UI elements being used. code_samples: [] type: int tags: @@ -462,8 +484,10 @@ properties: capabilities: [] writeCapabilities: [] - name: Stats.UI2DTriangleCount - summary: '' - description: '' + summary: | + A measurement of the number of triangles that are being rendered for 2D UI elements in the game's current scene. + description: | + The UI2DTriangleCount property is a measurement of the number of triangles that are being rendered for 2D UI elements in the game's current scene. A high count can mean there are many or complex 2D UI elements used, which can contribute to performance loss in regards to rendering. code_samples: [] type: int tags: @@ -481,8 +505,10 @@ properties: capabilities: [] writeCapabilities: [] - name: Stats.UI3DDrawcallCount - summary: '' - description: '' + summary: | + A measurement of the number of 3D draw calls made for UI elements in the game's current scene. + description: | + The UI3DDrawcallCount property is a measurement of the number of 3D draw calls made for UI elements in the game's current scene. A high count could indicate a high amount of 3D objects being used within UI, potentially hurting performance; however, it is very unlikely you would see a significant count since UI elements are typically 2D. code_samples: [] type: int tags: @@ -500,8 +526,10 @@ properties: capabilities: [] writeCapabilities: [] - name: Stats.UI3DTriangleCount - summary: '' - description: '' + summary: | + A measurement of the number of triangles being rendered for 3D UI elements in the game's current scene. + description: | + The UI3DTriangleCount property is a measurement of the number of triangles being rendered for 3D UI elements in the game's current scene; however, it is very unlikely you would see a significant count since UI elements are typically 2D. code_samples: [] type: int tags: From f6f362aa529aed671169f56f458b9f7ac12df7ae Mon Sep 17 00:00:00 2001 From: IgnisRBX <43388550+IgnisRBX@users.noreply.github.com> Date: Mon, 9 Dec 2024 07:14:12 -1000 Subject: [PATCH 2/6] Apply suggestions from code review --- .../en-us/reference/engine/classes/Stats.yaml | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/content/en-us/reference/engine/classes/Stats.yaml b/content/en-us/reference/engine/classes/Stats.yaml index 10727c650..88cc49826 100644 --- a/content/en-us/reference/engine/classes/Stats.yaml +++ b/content/en-us/reference/engine/classes/Stats.yaml @@ -48,7 +48,7 @@ properties: In a networked game, this describes roughly how many kilobytes of data are being received by the current instance, per second. description: | - In a networked game, DataReceiveKbps describes roughly how many kilobytes + In a networked game, this property describes roughly how many kilobytes of data are being received by the current instance, per second. If from the server's perspective, this represents the total amount of data being received from the clients connected to the server. If from a client's @@ -75,7 +75,7 @@ properties: In a networked game, this describes roughly how many kilobytes of data are being sent by the current instance, per second. description: | - In a networked game, DataSendKbps describes roughly how many kilobytes of + In a networked game, this property describes roughly how many kilobytes of data are being sent by the current instance, per second. If from the server's perspective, this represents the total amount of data being sent to the clients connected to the server. If from a client's perspective, @@ -100,7 +100,7 @@ properties: summary: | A measurement of how long it takes for the engine to process all tasks required to render a frame. description: | - FrameTime is a measurement of how long it takes for the engine to render a frame. This can be used to calculate frames per second (FPS) through dividing 1 by this value. A high frame time value indicates the engine and device struggling to render frames. + This property is a measurement of how long it takes for the engine to render a frame. It can be used to calculate frames per second (FPS) through dividing `1` by this value. A high frame time value indicates the engine and device are struggling to render frames. code_samples: [] type: float tags: @@ -270,7 +270,7 @@ properties: summary: | A measurement of how long it takes for the physics engine to update its current state. description: | - A measurement of how long it takes for the physics engine to update its current state. If this value is high, then it means the game instance is under stress from the physics simulations taking place. + This property is a measurement of how long it takes for the physics engine to update its current state. If this value is high, it means the game instance is under stress from the physics simulations taking place. code_samples: [] type: float tags: @@ -340,7 +340,7 @@ properties: summary: | A measurement of how long it takes for the CPU to process all of its tasks required to render a frame. description: | - The RenderCPUFrameTime property is a measurement of how long it takes for the CPU to process all of its tasks required to render a frame. A high value can indicate that the CPU is taking longer to render a frame, which can lead to performance issues. + This property is a measurement of how long it takes for the CPU to process all of its tasks required to render a frame. A high value can indicate that the CPU is taking longer to render a frame, which can lead to performance issues. code_samples: [] type: float tags: @@ -361,7 +361,7 @@ properties: summary: | A measurement of how long it takes for the GPU to process all of its tasks required to render a frame. description: | - The RenderGPUFrameTime property is a measurement of how long it takes for the GPU to process all of its tasks required to render a frame. A high value can indicate that the GPU is taking longer to render a frame, which can lead to performance issues. + This property is a measurement of how long it takes for the GPU to process all of its tasks required to render a frame. A high value can indicate that the GPU is taking longer to render a frame, which can lead to performance issues. code_samples: [] type: float tags: @@ -382,7 +382,7 @@ properties: summary: | A measurement of the number of draw calls made by the game's current scene. description: | - The SceneDrawcallCount property is a measurement of the number of draw calls made by the game's current scene. A draw call is a single rendering operation, such as drawing a mesh. A high draw call count could mean a scene is too complex or unoptimized, which can lead to performance issues. + This property is a measurement of the number of draw calls made by the game's current scene. A draw call is a single rendering operation, such as drawing a mesh. A high draw call count could mean a scene is too complex or unoptimized, which can lead to performance issues. code_samples: [] type: int tags: @@ -403,7 +403,7 @@ properties: summary: | A measurement of the number of triangles rendered by the game's current scene. description: | - The SceneTriangleCount property is a measurement of the number of triangles rendered ny the game's current scene. A count of triangles rendered is useful when trying to estimate the complexity and performance of a scene. + This property is a measurement of the number of triangles rendered by the game's current scene. A count of triangles rendered is useful when trying to estimate the complexity and performance of a scene. code_samples: [] type: int tags: @@ -424,7 +424,7 @@ properties: summary: | A measurement of the number of draw calls being made for shadows by the game's current scene. description: | - The ShadowsDrawcallCount property is a measurement of the number of draw calls being made for shadows by the game's current scene. A high count means more shadows are being created by the amount of rendered objects in a scene. + This property is a measurement of the number of draw calls being made for shadows by the game's current scene. A high count means more shadows are being created by the amount of rendered objects in a scene. code_samples: [] type: int tags: @@ -445,7 +445,7 @@ properties: summary: | A measurement of the number of traingles rendered as shadows in the game's current scene. description: | - The ShadowsTriangleCount property is a measurement of the number of triangles rendered as shdows in the game's current scene. A high count means there are a lot of triangles used to cast shadows, which can hinder performance. + This property is a measurement of the number of triangles rendered as shadows in the game's current scene. A high count means there are a lot of triangles used to cast shadows, which can hinder performance. code_samples: [] type: int tags: @@ -466,7 +466,7 @@ properties: summary: | A measurement of the number of 2D draw calls made for UI elements in the game's current scene. description: | - The UI2DDrawcallCount property is a measurement of the number of 2D draw calls made for UI elements in the game's current scene. A high count can mean there are a lot of 2D UI elements being used. + This property is a measurement of the number of 2D draw calls made for UI elements in the game's current scene. A high count can mean there are a lot of 2D UI elements being used. code_samples: [] type: int tags: @@ -487,7 +487,7 @@ properties: summary: | A measurement of the number of triangles that are being rendered for 2D UI elements in the game's current scene. description: | - The UI2DTriangleCount property is a measurement of the number of triangles that are being rendered for 2D UI elements in the game's current scene. A high count can mean there are many or complex 2D UI elements used, which can contribute to performance loss in regards to rendering. + This property is a measurement of the number of triangles that are being rendered for 2D UI elements in the game's current scene. A high count can mean there are many or complex 2D UI elements used, which can contribute to performance loss in regards to rendering. code_samples: [] type: int tags: @@ -508,7 +508,7 @@ properties: summary: | A measurement of the number of 3D draw calls made for UI elements in the game's current scene. description: | - The UI3DDrawcallCount property is a measurement of the number of 3D draw calls made for UI elements in the game's current scene. A high count could indicate a high amount of 3D objects being used within UI, potentially hurting performance; however, it is very unlikely you would see a significant count since UI elements are typically 2D. + This property is a measurement of the number of 3D draw calls made for UI elements in the game's current scene. A high count could indicate a high amount of 3D objects being used within UI, potentially hurting performance; however, it is very unlikely you would see a significant count since UI elements are typically 2D. code_samples: [] type: int tags: @@ -529,7 +529,7 @@ properties: summary: | A measurement of the number of triangles being rendered for 3D UI elements in the game's current scene. description: | - The UI3DTriangleCount property is a measurement of the number of triangles being rendered for 3D UI elements in the game's current scene; however, it is very unlikely you would see a significant count since UI elements are typically 2D. + This property is a measurement of the number of triangles being rendered for 3D UI elements in the game's current scene; however, it is very unlikely you would see a significant count since UI elements are typically 2D. code_samples: [] type: int tags: From 1bc93e1e54c803c99462d222ede876c37eb611b3 Mon Sep 17 00:00:00 2001 From: IgnisRBX <43388550+IgnisRBX@users.noreply.github.com> Date: Mon, 9 Dec 2024 07:48:32 -1000 Subject: [PATCH 3/6] Update Stats.yaml --- content/en-us/reference/engine/classes/Stats.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/en-us/reference/engine/classes/Stats.yaml b/content/en-us/reference/engine/classes/Stats.yaml index 88cc49826..10be73b5a 100644 --- a/content/en-us/reference/engine/classes/Stats.yaml +++ b/content/en-us/reference/engine/classes/Stats.yaml @@ -5,12 +5,12 @@ memory_category: Instances summary: | Performance metrics for a game. description: | - Stats is a service that provides real-time performance information about the - current running game instance. Its primary purpose is to provide developers - with an end point to measure where resources are being consumed, as well as - how much memory is being consumed overall. + `Class.Stats` is a service that provides real-time performance information about + the current running game instance. Its primary purpose is to provide an end point + to measure where resources are being consumed, as well as how much memory is + being consumed overall. - The service also stores a tree of `Class.StatsItem`, which can have their + The service also stores a tree of `Class.StatsItem` objects which can have their values read by plugins. code_samples: inherits: @@ -24,7 +24,7 @@ properties: summary: | A measurement of how many parts are currently in contact with one another. description: | - ContactsCount describes how many parts are currently in contact with each + This property describes how many parts are currently in contact with each other, such that one of the two parts are being physically simulated, and thus can be recognized by the `Class.BasePart:GetTouchingParts()` method. code_samples: From 08611bb3dc4bbc5c8d86f92da9483da51895e133 Mon Sep 17 00:00:00 2001 From: Andrew Etter Date: Tue, 10 Dec 2024 09:38:28 -0800 Subject: [PATCH 4/6] Update content/en-us/reference/engine/classes/Stats.yaml --- content/en-us/reference/engine/classes/Stats.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en-us/reference/engine/classes/Stats.yaml b/content/en-us/reference/engine/classes/Stats.yaml index 10be73b5a..10d3d4550 100644 --- a/content/en-us/reference/engine/classes/Stats.yaml +++ b/content/en-us/reference/engine/classes/Stats.yaml @@ -100,7 +100,7 @@ properties: summary: | A measurement of how long it takes for the engine to process all tasks required to render a frame. description: | - This property is a measurement of how long it takes for the engine to render a frame. It can be used to calculate frames per second (FPS) through dividing `1` by this value. A high frame time value indicates the engine and device are struggling to render frames. + This property is only available in client scripts and is a measurement of how long it took to render the most-recent frame in seconds. Divide 1 by this value to calculate an FPS value for the frame time. High frame times are indicative of performance problems on the device. Consider using the [MicroProfiler](/studio/microprofiler) to troubleshoot. code_samples: [] type: float tags: From 78ca062f162bc8f8bf07067da913419eff8b39a0 Mon Sep 17 00:00:00 2001 From: Andrew Etter Date: Tue, 10 Dec 2024 09:38:32 -0800 Subject: [PATCH 5/6] Update content/en-us/reference/engine/classes/Stats.yaml --- content/en-us/reference/engine/classes/Stats.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/content/en-us/reference/engine/classes/Stats.yaml b/content/en-us/reference/engine/classes/Stats.yaml index 10d3d4550..41fa910fc 100644 --- a/content/en-us/reference/engine/classes/Stats.yaml +++ b/content/en-us/reference/engine/classes/Stats.yaml @@ -121,9 +121,7 @@ properties: summary: | A measurement of the total amount of time it takes long it takes for Roblox to update all of its Task Scheduler jobs description: | - The HeartbeatTimeMs property is a measurement of the total amount of time - it takes long it takes for Roblox to update all of its Task Scheduler - jobs. If this value is high, then it means one of the tasks are hogging up a lot of resources. + This property is a measurement of the total amount of time it takes for the server to update its Task Scheduler jobs in seconds. If this value is high, examine [server compute](/performance-optimization/identifying#server-compute). code_samples: [] type: float tags: From fa40904721023d92d2497552695ab1b4bd18acaf Mon Sep 17 00:00:00 2001 From: Andrew Etter Date: Tue, 10 Dec 2024 09:38:37 -0800 Subject: [PATCH 6/6] Update content/en-us/reference/engine/classes/Stats.yaml --- content/en-us/reference/engine/classes/Stats.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en-us/reference/engine/classes/Stats.yaml b/content/en-us/reference/engine/classes/Stats.yaml index 41fa910fc..00c41611a 100644 --- a/content/en-us/reference/engine/classes/Stats.yaml +++ b/content/en-us/reference/engine/classes/Stats.yaml @@ -119,7 +119,7 @@ properties: writeCapabilities: [] - name: Stats.HeartbeatTime summary: | - A measurement of the total amount of time it takes long it takes for Roblox to update all of its Task Scheduler jobs + A measurement of the total amount of time it takes for the server to update its Task Scheduler jobs in seconds. description: | This property is a measurement of the total amount of time it takes for the server to update its Task Scheduler jobs in seconds. If this value is high, examine [server compute](/performance-optimization/identifying#server-compute). code_samples: []