• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
Question by Pangamini · Aug 21, 2013 at 02:14 PM · mesh color

Mesh duplication under the hood: What's duplicated?

When i use Instantiate(myMesh) or retrieve meshFilter.mesh (not sharedMesh), a copy of the mesh is created. I use duplicate meshes for per-vertex damage modelling and i only change colors buffer. My question is, what is really duplicated in the memory? Are all other hardware buffers shared? Or are they duplicated the moment i duplicate the mesh object?

Comment

People who like this

0 Show 0
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

2 Replies

· Add your reply
  • Sort: 
avatar image
Best Answer

Answer by Joyrider · Aug 21, 2013 at 02:26 PM

In memory, it duplicates everyt$$anonymous$$ng that is used to build the mesh (i.e. what you see as the mesh asset in Unity > subMeshList, triangleList, vertexList, UVs, ...). All the rest will stay the same, and won't thus be duplicated. It will a.o. still use the same material as the original mesh.

Comment
Bunny83
aldonaletto

People who like this

2 Show 4 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Pangamini · Aug 21, 2013 at 02:36 PM 0
Share

Is it possible to somehow spare memory and only replace vertex colors buffer when rendering?

avatar image Joyrider · Aug 21, 2013 at 02:39 PM 0
Share

And for that I'd refer you to Paulius Liekis' answer ;) All data related to a mesh comes as a bundle.

avatar image Pangamini · Aug 21, 2013 at 02:41 PM 0
Share

But the data is stored twice, for CPU and GPU access right?

avatar image Joyrider · Aug 21, 2013 at 02:50 PM 0
Share

Nope, both accès the data from the same place and it is usually stored in VRAM, but not necessarily, it depends on usage (static or dynamic meshes) and cpu flags, and handled by the driver. In some cases it is stored in RAM and then sent to GPU upon request, making all your mesh data be transfered through the bus. One of those cases is if you lack free VRAM. Transfers in the opposite direction happen too of course.

avatar image

Answer by Paulius-Liekis · Aug 21, 2013 at 02:30 PM

Whole mesh will be duplicated since in runtime memory vertex data has to be grouped together, i.e. it's not separate streams.

Comment
Eric5h5
Bunny83

People who like this

2 Show 0 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

17 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Shader Shininess based on vertex color 0 Answers

Mesh Colors Problem 0 Answers

How I can get InteractiveCloth vertices and apply to MeshFilter 0 Answers

Mesh.colors returns zero 1 Answer

Possible to improve quality of UV gradient? 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges