**My context: **
I wanted to benchmark UE4’s Paper2D sprite rendering performance on windows against my own engine’s performance (OpenGL).
The first benchmark on my engine renders 20000 big sprites with one draw call and a single common texture. The bottleneck is the very heavy overdraw, so the performance should be similar across engines, but I was still curious.
The issue in UE4 is that I can’t find an easy way to create 20000 duplicate actors.
I started with a single sprite setup exactly as it is in my engine’s benchmark, and then started to duplicate it, select all the sprites and duplicate again until I would reach 20000 sprites.
As soon as I got above a few dozens of sprites, the duplicate process started to get slow, duplicating 850 sprites took about 15-20 minutes, and when I tried to duplicate 1700 of them, UE4 froze and was still frozen about 2 hours later.
I would be surprised if UE4 can’t handle a few thousand simple actors, so my guess is that the duplicate function is really poorly implemented with like O(n^3) complexity ?
I could probably create an actor blueprint with the sprite setup with the right properties and scale, and then instantiate it in a loop on the start event in the level blueprint, which would be very similar to what my engine actually does.
But I hoped there would be en easier way to create a large number of actors with preset properties in UE4. Is there any better way ?