Files
room_glitch/tests/robotron/benchmark.gd
T

31 lines
976 B
GDScript

extends SceneTree
func _initialize() -> void:
call_deferred("run")
func run() -> void:
DisplayServer.window_set_vsync_mode(DisplayServer.VSYNC_DISABLED)
root.size=Vector2i(960,720)
root.content_scale_size=Vector2i(960,720)
var g=load("res://games/robotron/Robotron.tscn").instantiate()
root.add_child(g)
g.set_physics_process(false)
g.sound_enabled=false
g.demo=true
g.wave=20
g.setup_wave()
g.phase="play"
for i in range(30): await process_frame
var started := Time.get_ticks_usec()
var peak := 0
for i in range(360):
g.invulnerable=10
g.step_world(1.0/60,Vector2.ZERO,Vector2.from_angle(i*.04))
g.clock+=1.0/60
g.board.queue_redraw()
peak=maxi(peak,g.entities.size())
await process_frame
await RenderingServer.frame_post_draw
var elapsed := (Time.get_ticks_usec()-started)/1000000.0
print("360 dense-wave frames; peak entities ",peak,"; ",snappedf(elapsed,.001)," seconds; ",snappedf(360/elapsed,1)," FPS desktop uncapped")
g.free()
quit()