Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • 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
0
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
Add comment
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
2
Best Answer

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

In memory, it duplicates everything 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
Add comment · 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 VRA$$anonymous$$, 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 RA$$anonymous$$ 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 VRA$$anonymous$$. Transfers in the opposite direction happen too of course.

avatar image
2

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
Add comment · 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.

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