Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add lights and meshes benchmark #25

Merged
merged 1 commit into from
Apr 17, 2023
Merged

Add lights and meshes benchmark #25

merged 1 commit into from
Apr 17, 2023

Conversation

myaaaaaaaaa
Copy link
Contributor

@myaaaaaaaaa myaaaaaaaaa commented Feb 1, 2023

Benchmarks different combinations of lights and meshes. Depends on #22

sample.mp4

Implements several benchmarks from #11:

3D Rendering

  • 50 BoxMeshes
  • 500 BoxMeshes
  • 5,000 BoxMeshes
  • 10 SphereMeshes
  • 100 SphereMeshes
  • 1,000 SphereMeshes
  • 50 OmniLight3Ds without shadows
  • 50 SpotLight3Ds without shadows

@Calinou Calinou marked this pull request as ready for review March 27, 2023 19:47
Copy link
Member

@Calinou Calinou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work, thanks!

Tested locally. Local results for reference:

{
	"benchmarks": [
		{
			"category": "Gdscript > Array",
			"name": "Packed String Array",
			"results": {

			}
		},
		{
			"category": "Gdscript > Array",
			"name": "Typed Int Array",
			"results": {

			}
		},
		{
			"category": "Gdscript > Array",
			"name": "Typed String Array",
			"results": {

			}
		},
		{
			"category": "Gdscript > Array",
			"name": "Untyped Int Array",
			"results": {

			}
		},
		{
			"category": "Gdscript > Array",
			"name": "Untyped String Array",
			"results": {

			}
		},
		{
			"category": "Rendering > Culling",
			"name": "Basic Cull",
			"results": {

			}
		},
		{
			"category": "Rendering > Culling",
			"name": "Directional Light Cull",
			"results": {

			}
		},
		{
			"category": "Rendering > Culling",
			"name": "Dynamic Cull",
			"results": {

			}
		},
		{
			"category": "Rendering > Culling",
			"name": "Dynamic Light Cull",
			"results": {

			}
		},
		{
			"category": "Rendering > Culling",
			"name": "Dynamic Light Cull With Shadows",
			"results": {

			}
		},
		{
			"category": "Rendering > Culling",
			"name": "Static Light Cull",
			"results": {

			}
		},
		{
			"category": "Rendering > Lights And Meshes",
			"name": "Box 100",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 0.38,
				"render_gpu": 1.23,
				"time": 5003
			}
		},
		{
			"category": "Rendering > Lights And Meshes",
			"name": "Box 1000",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 0.31,
				"render_gpu": 1.31,
				"time": 5003
			}
		},
		{
			"category": "Rendering > Lights And Meshes",
			"name": "Box 10000",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 2.68,
				"render_gpu": 1.33,
				"time": 5003
			}
		},
		{
			"category": "Rendering > Lights And Meshes",
			"name": "Omni 10",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 0.31,
				"render_gpu": 1.16,
				"time": 5003
			}
		},
		{
			"category": "Rendering > Lights And Meshes",
			"name": "Omni 100",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 0.48,
				"render_gpu": 1.1,
				"time": 5005
			}
		},
		{
			"category": "Rendering > Lights And Meshes",
			"name": "Speed Fast",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 0.34,
				"render_gpu": 1.15,
				"time": 5004
			}
		},
		{
			"category": "Rendering > Lights And Meshes",
			"name": "Speed Slow",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 0.31,
				"render_gpu": 1.09,
				"time": 5005
			}
		},
		{
			"category": "Rendering > Lights And Meshes",
			"name": "Sphere 100",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 0.06,
				"render_gpu": 1.14,
				"time": 5004
			}
		},
		{
			"category": "Rendering > Lights And Meshes",
			"name": "Sphere 1000",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 0.31,
				"render_gpu": 1.41,
				"time": 5005
			}
		},
		{
			"category": "Rendering > Lights And Meshes",
			"name": "Sphere 10000",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 2.71,
				"render_gpu": 2.97,
				"time": 5006
			}
		},
		{
			"category": "Rendering > Lights And Meshes",
			"name": "Spot 10",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 0.32,
				"render_gpu": 1.04,
				"time": 5006
			}
		},
		{
			"category": "Rendering > Lights And Meshes",
			"name": "Spot 100",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 0.62,
				"render_gpu": 1.11,
				"time": 5021
			}
		},
		{
			"category": "Rendering > Lights And Meshes",
			"name": "Stress",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 6.07,
				"render_gpu": 3.12,
				"time": 5001
			}
		},
		{
			"category": "Rendering > Polygon 2d",
			"name": "1000 Polygon 2d",
			"results": {

			}
		},
		{
			"category": "Rendering > Polygon 2d",
			"name": "100 Polygon 2d",
			"results": {

			}
		},
		{
			"category": "Rendering > Polygon 2d",
			"name": "10 Polygon 2d",
			"results": {

			}
		},
		{
			"category": "Rendering > Polygon 2d",
			"name": "5000 Sprite 2d",
			"results": {

			}
		},
		{
			"category": "Rendering > Polygon 2d",
			"name": "500 Sprite 2d",
			"results": {

			}
		},
		{
			"category": "Rendering > Polygon 2d",
			"name": "50 Sprite 2d",
			"results": {

			}
		}
	],
	"engine": {
		"binary_size": 116431872,
		"build_type": "editor",
		"version": "v4.0.2.stable.official",
		"version_hash": "7a0977ce2c558fe6219f0a14f8bd4d05aea8f019"
	},
	"system": {
		"cpu_architecture": "x86_64",
		"cpu_count": 32,
		"cpu_name": "13th Gen Intel(R) Core(TM) i9-13900K",
		"gpu_name": "NVIDIA GeForce RTX 4090",
		"gpu_vendor": "NVIDIA",
		"os": "Linux"
	}
}

@Calinou Calinou merged commit 06e7fc4 into godotengine:main Apr 17, 2023
@myaaaaaaaaa myaaaaaaaaa deleted the lights-meshes branch April 17, 2023 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants