- Home /
iOS - Multiple Textures Slow Performance
Hi,
I am currently developing a project which is basically going to be an Art Gallery. This is going to be an iOS application running on iPhone 4 and above, including iPads.
The issue I am facing is the slow performance on an iPhone due to the amount of textures I am using. There are going to be 60 pieces of Art in the gallery. Each piece of Art I have a 1024x768 Image. 60 images at that size is going to cause an issue.
I was wondering if people could help by suggesting ways that I could improve the overall performance? The quality of the art needs to stay quite decent, but does not have to be 100% original.
So far I have moved most of my geometry under a single node, which can then apply the CombineMesh script from the Unity Scripts package. This has reduced my draw calls quite a lot.
I have heard of Texture Altas's but im unsure how to go about creating one. Currently each pice of Art is assigned its Artwork when the Scene starts.
Thanks
Adam
@mim$$anonymous$$ito How are you loading the textures? It might be a cache problem. If you arent already, i suggest making a loading function using http://unity3d.com/support/documentation/ScriptReference/Resources.Load.html>Resource Load. This way you can load each individual art piece as needed VS loading/storing them all in cache. Once you switch to a different art piece you can http://unity3d.com/support/documentation/ScriptReference/Resources.UnloadUnusedAssets.html>Unload the prev one.
Hi, thanks for the comment. The textures are being loaded at the start of the scene, for all 60 images. In the main hall you can see 12 images, and then in the side halls are the rest. Would I need to load them via triggers? As in when entering a room load them in? I have noticed loading in textures can be quite slow on some phones.
@mim$$anonymous$$ito Yes, this will be the slowest part of your gallery. Im not quite sure how your gallery works, but making a loading system and loading single or a group of textures would be best. Create an Asset folder called Resources. Inside of that folder you can create either one folder for all the textures, or create a series of folders for different groups of textures. Then you can load single textures or load complete folders of grouped textures. Dynamic loading will increase load time and increase overall performance.
Thanks for the comments guys. I am already loading in the textures dynamically, however they are being called in the Start function and hence slowing down the load times. I have created a separate function and I am loading in each texture one at a time, with a 1 second delay between each to see that its working. Its going well, just need to fine tune it now.
Your answer
Follow this Question
Related Questions
single texture atlas or multiple textures? 0 Answers
single texture atlas or multiple textures? 0 Answers
Texture atlases on iphone 3 Answers
Textures/Atlases and memory management 0 Answers
Performance and memory using sprites 1 Answer