Dump profiling info on pressing F4

master
Marc Gilleron 2017-04-01 20:13:19 +02:00
parent a36afe652b
commit 376d312ae6
2 changed files with 222 additions and 8 deletions

View File

@ -1,9 +1,10 @@
[gd_scene load_steps=9 format=2]
[gd_scene load_steps=14 format=2]
[ext_resource path="res://voxel_map.gd" type="Script" id=1]
[ext_resource path="res://terrain.png" type="Texture" id=2]
[ext_resource path="res://grid.gd" type="Script" id=3]
[ext_resource path="res://character_avatar.tscn" type="PackedScene" id=4]
[ext_resource path="res://profiling_gui.gd" type="Script" id=5]
[sub_resource type="Environment" id=1]
@ -174,6 +175,142 @@ uv1_offset = Vector2( 0, 0 )
uv2_scale = Vector2( 1, 1 )
uv2_offset = Vector2( 0, 0 )
[sub_resource type="FixedSpatialMaterial" id=5]
flags_transparent = false
flags_unshaded = false
flags_on_top = false
flags_use_point_size = false
vertex_color_use_as_albedo = false
vertex_color_is_srgb = false
params_diffuse_mode = 0
params_blend_mode = 0
params_cull_mode = 0
params_depth_draw_mode = 0
params_line_width = 1.0
params_point_size = 1.0
albedo_color = Color( 0.7, 0.7, 0.7, 1 )
specular_mode = 0
specular_color = Color( 0.1, 0.1, 0.1, 1 )
specular_metalness = 0.1
specular_roughness = 0.0
emission_enabled = false
normal_enabled = false
rim_enabled = false
clearcoat_enabled = false
anisotropy_enabled = false
ao_enabled = false
height_enabled = false
subsurf_scatter_enabled = false
refraction_enabled = false
detail_enabled = false
uv1_scale = Vector2( 1, 1 )
uv1_offset = Vector2( 0, 0 )
uv2_scale = Vector2( 1, 1 )
uv2_offset = Vector2( 0, 0 )
[sub_resource type="FixedSpatialMaterial" id=6]
flags_transparent = false
flags_unshaded = false
flags_on_top = false
flags_use_point_size = false
vertex_color_use_as_albedo = false
vertex_color_is_srgb = false
params_diffuse_mode = 0
params_blend_mode = 0
params_cull_mode = 0
params_depth_draw_mode = 0
params_line_width = 1.0
params_point_size = 1.0
albedo_color = Color( 0.917969, 0.190048, 0.190048, 1 )
specular_mode = 0
specular_color = Color( 0.1, 0.1, 0.1, 1 )
specular_metalness = 0.1
specular_roughness = 0.0
emission_enabled = false
normal_enabled = false
rim_enabled = false
clearcoat_enabled = false
anisotropy_enabled = false
ao_enabled = false
height_enabled = false
subsurf_scatter_enabled = false
refraction_enabled = false
detail_enabled = false
uv1_scale = Vector2( 1, 1 )
uv1_offset = Vector2( 0, 0 )
uv2_scale = Vector2( 1, 1 )
uv2_offset = Vector2( 0, 0 )
[sub_resource type="FixedSpatialMaterial" id=7]
flags_transparent = false
flags_unshaded = false
flags_on_top = false
flags_use_point_size = false
vertex_color_use_as_albedo = false
vertex_color_is_srgb = false
params_diffuse_mode = 0
params_blend_mode = 0
params_cull_mode = 0
params_depth_draw_mode = 0
params_line_width = 1.0
params_point_size = 1.0
albedo_color = Color( 0.359497, 0.742188, 0.401354, 1 )
specular_mode = 0
specular_color = Color( 0.1, 0.1, 0.1, 1 )
specular_metalness = 0.1
specular_roughness = 0.0
emission_enabled = false
normal_enabled = false
rim_enabled = false
clearcoat_enabled = false
anisotropy_enabled = false
ao_enabled = false
height_enabled = false
subsurf_scatter_enabled = false
refraction_enabled = false
detail_enabled = false
uv1_scale = Vector2( 1, 1 )
uv1_offset = Vector2( 0, 0 )
uv2_scale = Vector2( 1, 1 )
uv2_offset = Vector2( 0, 0 )
[sub_resource type="FixedSpatialMaterial" id=8]
flags_transparent = false
flags_unshaded = false
flags_on_top = false
flags_use_point_size = false
vertex_color_use_as_albedo = false
vertex_color_is_srgb = false
params_diffuse_mode = 0
params_blend_mode = 0
params_cull_mode = 0
params_depth_draw_mode = 0
params_line_width = 1.0
params_point_size = 1.0
albedo_color = Color( 0.168533, 0.478846, 0.917969, 1 )
specular_mode = 0
specular_color = Color( 0.1, 0.1, 0.1, 1 )
specular_metalness = 0.1
specular_roughness = 0.0
emission_enabled = false
normal_enabled = false
rim_enabled = false
clearcoat_enabled = false
anisotropy_enabled = false
ao_enabled = false
height_enabled = false
subsurf_scatter_enabled = false
refraction_enabled = false
detail_enabled = false
uv1_scale = Vector2( 1, 1 )
uv1_offset = Vector2( 0, 0 )
uv2_scale = Vector2( 1, 1 )
uv2_offset = Vector2( 0, 0 )
[node name="Node" type="Node"]
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
@ -190,7 +327,7 @@ transparent_material = SubResource( 3 )
[node name="TestCube" type="TestCube" parent="."]
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.0723, -4.58428 )
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.02025, -0.19666 )
layers = 1
material_override = SubResource( 4 )
cast_shadow = 1
@ -208,9 +345,8 @@ lod_max_hysteresis = 0.0
[node name="Grid" type="MeshInstance" parent="."]
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
visible = false
layers = 1
material_override = null
material_override = SubResource( 5 )
cast_shadow = 1
extra_cull_margin = 0.0
use_as_billboard = false
@ -236,7 +372,7 @@ light_energy = 1.0
light_negative = false
light_specular = 0.5
light_cull_mask = -1
shadow_enabled = true
shadow_enabled = false
shadow_color = Color( 0, 0, 0, 1 )
shadow_bias = 0.2
shadow_contact = 0.0
@ -282,12 +418,18 @@ gravity = 30.0
jump_force = 9.0
terrain = NodePath("../VoxelTerrain")
[node name="TestCube2" type="TestCube" parent="."]
[node name="axes" type="Spatial" parent="."]
editor/display_folded = true
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 14.3287, 0 )
[node name="X" type="TestCube" parent="axes"]
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.230466, -1.27516, -5.9037 )
transform = Transform( 1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 1.07512, 0, 0 )
layers = 1
material_override = null
material_override = SubResource( 6 )
cast_shadow = 1
extra_cull_margin = 0.0
use_as_billboard = false
@ -300,4 +442,52 @@ lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
[node name="Y" type="TestCube" parent="axes"]
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
transform = Transform( 0.1, 0, 0, 0, 1, 0, 0, 0, 0.1, 0, 0.903888, 0 )
layers = 1
material_override = SubResource( 7 )
cast_shadow = 1
extra_cull_margin = 0.0
use_as_billboard = false
use_as_y_billboard = false
use_depth_scale = false
visible_in_all_rooms = false
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
[node name="Z" type="TestCube" parent="axes"]
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
transform = Transform( 0.1, 0, 0, 0, 0.1, 0, 0, 0, 1, 0, 0, 1.10346 )
layers = 1
material_override = SubResource( 8 )
cast_shadow = 1
extra_cull_margin = 0.0
use_as_billboard = false
use_as_y_billboard = false
use_depth_scale = false
visible_in_all_rooms = false
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
[node name="ProfilingInfo" type="Label" parent="."]
margin_right = 40.0
margin_bottom = 14.0
rect_clip_content = false
mouse_filter = 2
size_flags_vertical = 0
percent_visible = 1.0
lines_skipped = 0
max_lines_visible = -1
script = ExtResource( 5 )

24
project/profiling_gui.gd Normal file
View File

@ -0,0 +1,24 @@
extends Label
func _input(event):
if event.type == InputEvent.KEY and event.pressed == false:
if event.scancode == KEY_F4:
var terrain = get_parent().get_node("VoxelTerrain")
if terrain.has_method("get_profiling_info") == false:
return
var terrain_infos = terrain.get_profiling_info()
var mesher_infos = terrain.get_mesher().get_profiling_info()
save_json(terrain_infos, "profiling_terrain.json")
save_json(mesher_infos, "profiling_mesher.json")
func save_json(infos, path):
var f = File.new()
var ret = f.open(path, File.WRITE)
if ret == 0:
f.store_string(to_json(infos))
f.close()
else:
print("Could not dump profiling info (error " + str(ret) + ")")