-
Notifications
You must be signed in to change notification settings - Fork 13
Benchmark
As of 2032, the only reliable way to measure the performance of almost anything is a Bunny Mark test.
For this test we created an actor that executes code on the Event Tick with Kotlin and Blueprint visual scripting. Also, an alternative way of ticking actors was implemented (Kotlin managed ticking). All actors were ticked directly in Kotlin code instead of using the Event Tick that seemed to be the first bottleneck. The test was executed on the editor's viewport.
Kotlin
- 100 bunnies 60fps
- 200 bunnies 60fps
- 300 bunnies 60fps
- 400 bunnies 52fps
- 500 bunnies 43fps
- 900 bunnies 30fps
Kotlin managed ticking
- 100 bunnies 60fps
- 200 bunnies 60fps
- 300 bunnies 60fps
- 400 bunnies 60fps
- 500 bunnies 60fps
- 600 bunnies 60fps
- 800 bunnies 46fps
- 1000 bunnies 37fps
- 1300 bunnies 30fps
- 3000 bunnies 14fps
- 4000 bunnies 10fps
Blueprint
- 100 bunnies 60fps
- 200 bunnies 60fps
- 300 bunnies 60fps
- 400 bunnies 60fps
- 500 bunnies 60fps
- 600 bunnies 60fps
- 800 bunnies 57fps
- 900 bunnies 51fps
- 1000 bunnies 45fps
- 1600 bunnies 30fps
- 3000 bunnies 17fps
- 4000 bunnies 13fps
- 5000 bunnies 10fps
Blueprints outperforms Kotlin code. Handling ticking in code brings some decent results, comparable to Blueprints, at least until 600 actors were reached. It seems that is not healthy to have so many actors on your game at once, so be smart and tick wisely.
Run the included BunnyMark level. Make sure to display the fps on screen using the console command "stat fps". Press a key to add bunnies to the level.
- Pressing K will add Kotlin bunnies
- Pressing O will add Kotlin managed ticking bunnies
- Pressing B will add Blueprint bunnies