Sprite.Create seems very slow

I need to create a large array of sprites for a tileset thats coming from a runtime resources image. I was under the impression that a sprite is basically a rectangle reference to a texture. Everything works fine, however creating the sprites takes 13 seconds on my desktop for a tileset that is 1058 tiles. Using the profiler I was able to trace this time into Sprite.Create

Is there something more going on here that I don’t know about? I was trying to take advantage of the new 2d sprite renderer for this.

This cannot be done outside of resources ahead of time.

Thanks for any input.

Note the only thing I really need done here is to have sections of a large texture drawn at certain places on the screen if that helps

The SpriteMeshType parameter of Sprite.Create can have a big impact. In my own project where I have a relatively large Texture2D that’s about 1100x1100, passing it to Sprite.Create with the default of SpriteMeshType.Tight takes about 5000ms whereas just changing that parameter to SpriteMeshType.FullRect drops that to ~0ms.

There’s some discussion of it here: Performance issue - Unity UI + Inventory — Adventure Creator forum