mirror of
https://github.com/godotengine/godot-benchmarks.git
synced 2026-01-05 10:10:08 +03:00
Add SDFGI motion benchmarks (#54)
* Skip non-Benchmark scripts * Add SDFGI motion benchmark
This commit is contained in:
committed by
GitHub
parent
950b654853
commit
38e13ba177
6
benchmarks/rendering/camera_move.gd
Normal file
6
benchmarks/rendering/camera_move.gd
Normal file
@@ -0,0 +1,6 @@
|
||||
extends Camera3D
|
||||
|
||||
@onready var _animation_player = $AnimationPlayer
|
||||
|
||||
func _ready():
|
||||
_animation_player.play("move")
|
||||
48
benchmarks/rendering/sdfgi.gd
Normal file
48
benchmarks/rendering/sdfgi.gd
Normal file
@@ -0,0 +1,48 @@
|
||||
extends Benchmark
|
||||
|
||||
func _init():
|
||||
test_render_cpu = true
|
||||
test_render_gpu = true
|
||||
|
||||
|
||||
class TestScene extends Node3D:
|
||||
|
||||
var scene = preload("res://benchmarks/rendering/very_large_scene.tscn")
|
||||
var instance
|
||||
var world_env: WorldEnvironment = null
|
||||
|
||||
var using_sdfgi: bool
|
||||
|
||||
func _init():
|
||||
instance = scene.instantiate()
|
||||
add_child(instance)
|
||||
|
||||
func with_sdfgi():
|
||||
using_sdfgi = true
|
||||
return self
|
||||
|
||||
func _ready():
|
||||
var env: Environment = null
|
||||
|
||||
if using_sdfgi:
|
||||
env = Environment.new()
|
||||
env.sdfgi_enabled = true
|
||||
|
||||
if env != null:
|
||||
world_env = WorldEnvironment.new()
|
||||
world_env.environment = env
|
||||
$VeryLargeScene/Camera3D.environment = env
|
||||
add_child(world_env)
|
||||
|
||||
func _process(delta):
|
||||
pass
|
||||
|
||||
func _exit_tree():
|
||||
if world_env != null:
|
||||
RenderingServer.free_rid(world_env)
|
||||
RenderingServer.free_rid(instance)
|
||||
|
||||
func benchmark_camera_motion_without_sdfgi():
|
||||
return TestScene.new()
|
||||
func benchmark_camera_motion_with_sdfgi():
|
||||
return TestScene.new().with_sdfgi()
|
||||
330
benchmarks/rendering/very_large_scene.tscn
Normal file
330
benchmarks/rendering/very_large_scene.tscn
Normal file
@@ -0,0 +1,330 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://33dqw5jcha0h"]
|
||||
|
||||
[ext_resource type="Script" path="res://benchmarks/rendering/camera_move.gd" id="1_vqkte"]
|
||||
|
||||
[sub_resource type="Environment" id="Environment_itcjv"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_5lvnf"]
|
||||
length = 0.001
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position:x")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"handle_modes": PackedInt32Array(0),
|
||||
"points": PackedFloat32Array(7.25, -0.25, 0, 0.25, 0),
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
tracks/1/type = "bezier"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath(".:position:y")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"handle_modes": PackedInt32Array(0),
|
||||
"points": PackedFloat32Array(0.9, -0.25, 0, 0.25, 0),
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
tracks/2/type = "bezier"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath(".:position:z")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"handle_modes": PackedInt32Array(0),
|
||||
"points": PackedFloat32Array(-0.225, -0.25, 0, 0.25, 0),
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_41l7d"]
|
||||
resource_name = "move"
|
||||
length = 3.0
|
||||
loop_mode = 1
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position:x")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
||||
"points": PackedFloat32Array(7.25, -0.25, 0, 0.25, 0, 7.25, -0.25, 0, 0.25, 0, 7.25, -0.25, 0, 0.25, 0, 7.25, -0.25, 0, 0.25, 0),
|
||||
"times": PackedFloat32Array(0, 1, 2, 3)
|
||||
}
|
||||
tracks/1/type = "bezier"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath(".:position:y")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
||||
"points": PackedFloat32Array(0.9, -0.25, 0, 0.25, 0, 0.9, -0.25, 0, 0.25, 0, 0.9, -0.25, 0, 0.25, 0, 0.9, -0.25, 0, 0.25, 0),
|
||||
"times": PackedFloat32Array(0, 1, 2, 3)
|
||||
}
|
||||
tracks/2/type = "bezier"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath(".:position:z")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
||||
"points": PackedFloat32Array(-0.225, -0.25, 0, 0.25, 0, 53.0862, -0.25, 0, 0.25, 0, -75.5028, -0.25, 0, 0.25, 0, -0.225, -0.25, 0, 0.25, 0),
|
||||
"times": PackedFloat32Array(0, 1, 2, 3)
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_dtehi"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_5lvnf"),
|
||||
"move": SubResource("Animation_41l7d")
|
||||
}
|
||||
|
||||
[node name="VeryLargeScene" type="Node3D"]
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 3.48787e-16, 1, 3.48787e-16, 1, -3.48787e-16, -1, 3.48787e-16, -4.37114e-08, 7.25, 0.9, -0.225)
|
||||
environment = SubResource("Environment_itcjv")
|
||||
current = true
|
||||
script = ExtResource("1_vqkte")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Camera3D"]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_dtehi")
|
||||
}
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(0.5, -0.852869, 0.150384, 6.05662e-17, 0.173648, 0.984808, -0.866025, -0.492404, 0.0868241, 0, 0, 0)
|
||||
shadow_enabled = true
|
||||
|
||||
[node name="Floor" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.77475, -0.498047, -1.71838)
|
||||
size = Vector3(300, 0.1, 300)
|
||||
|
||||
[node name="CSGTorus3D" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -98.9743, 14.7804, 82.8515)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D2" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -78.0688, 14.7804, 61.7648)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D9" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -78.0688, 14.7804, 24.859)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D10" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -78.0688, 14.7804, -30.4794)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D11" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -78.0688, 14.7804, -64.9281)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D12" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -57.0709, 14.7804, -42.7007)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D13" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -47.502, 14.7804, -8.18826)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D14" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -47.9215, 14.7804, 20.5125)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D15" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -43.1292, 14.7804, 39.7503)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D16" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -28.5341, 14.7804, 4.01332)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D3" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -98.9743, 14.7804, 44.062)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D4" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -98.9743, 14.7804, 12.8093)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D5" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -98.9743, 14.7804, -22.6573)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D6" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -98.9743, 14.7804, -48.9849)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D7" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -98.9743, 14.7804, -79.4212)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D8" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(0.878975, 0.476867, -3.20096e-09, -0.138921, 0.256063, -0.956626, -0.456183, 0.84085, 0.29132, -98.9743, 14.7804, -109.158)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D17" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -142.182, 9.87924, 135.51)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D18" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -111.249, 9.87924, 104.309)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D19" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -111.249, 9.87924, 49.7021)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D20" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -111.249, 9.87924, -32.1785)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D21" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -111.249, 9.87924, -83.1499)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D22" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -80.1799, 9.87924, -50.2615)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D23" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -66.0215, 9.87924, 0.804245)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D24" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -66.6423, 9.87924, 43.2708)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D25" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -59.5513, 9.87924, 71.7357)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D26" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -37.956, 9.87927, 18.8581)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D27" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -142.182, 9.87924, 78.1156)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D28" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -142.182, 9.87924, 31.8729)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D29" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -142.182, 9.87924, -20.6046)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D30" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -142.182, 9.87924, -59.5599)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D31" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -142.182, 9.87924, -104.595)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
|
||||
[node name="CSGTorus3D32" type="CSGTorus3D" parent="Floor"]
|
||||
transform = Transform3D(1.30056, 0.705589, -4.73625e-09, -0.205552, 0.37888, -1.41546, -0.674985, 1.24415, 0.431047, -142.182, 9.87924, -148.595)
|
||||
inner_radius = 3.0
|
||||
outer_radius = 5.0
|
||||
sides = 15
|
||||
ring_sides = 10
|
||||
@@ -27,7 +27,11 @@ func test_ids_from_path(path: String) -> Array[TestID]:
|
||||
if not path.ends_with(".gd"):
|
||||
return rv
|
||||
|
||||
var bench_script : Benchmark = load(path).new()
|
||||
var script = load(path).new()
|
||||
if not (script is Benchmark):
|
||||
return rv
|
||||
|
||||
var bench_script : Benchmark = script
|
||||
for method in bench_script.get_method_list():
|
||||
if not method.name.begins_with("benchmark_"):
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user