Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Question Does Unity DOTS make system requirements for a game less?

Discussion in 'Entity Component System' started by Deleted User, Aug 22, 2021.

  1. Deleted User

    Deleted User

    Guest

    So, we've seen simulations of hundreds of thousands of entities, yet, getting very high frame rate.. DOTS is really Amazing! However, I've seen many people mention that, Unity DOTS -made game- to be able to run on lower end machines without a problem, take Megacity project for example, which runs perfectly on mobile! So, the question is: Does Unity DOTS reduce a game system requirements?

    For example: A game that requires 4 gigs of ram without DOTS..

    would it run on a 1 ram system with DOTS?

    Thanks!
     
  2. Krajca

    Krajca

    Joined:
    May 6, 2014
    Posts:
    347
    It's such a strange question. If you program it to take less memory then yes? Probably it wouldn't be such a dramatic change but there is probably some memory overhead in OOP to gain something from it but I'd say there isn't much to gain really. And yet you can optimize but sure you can also do it in Mono. I'd like to hear what others will say. Maybe I'm missing something.
     
  3. DreamingImLatios

    DreamingImLatios

    Joined:
    Jun 3, 2017
    Posts:
    4,217
    Not by default.

    The reason is that the primary bottleneck in many Unity games is single-threaded CPU performance. And this is the least drastically changing variable across high-end and low-end. Consequently, a lot of developers either have to get that requirement under control or just not ship, because there is no hardware upgrade that could improve the situation significantly.

    The real gains here are reducing optimization effort (and time), and just overall not having to worry about it as much. And clever developers may even find ways to leverage the extra CPU power to reduce GPU loads.
     
  4. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,625
    The benefits of DOTS are cpu related.

    If there are amount of memory usage benefits (and there shouldn't be significant ones), they definitely aren't on the scale of 75% reduction in memory usage, not even close.
     
    Antypodish and NotaNaN like this.
  5. Lhawika

    Lhawika

    Joined:
    May 27, 2015
    Posts:
    53
    I haven't much to add to what others have said, but for people who could be wondering why it doesn't change things for memory: imagine in OOP you have an object that requires two ints and a bool (or any kind of data you can imagine),well porting that DOTS will not change the data you need to represent that object. The way it is layed out in memory will change for better access, hence the CPU boost, but the quantity of it will still be the same.

    Off course, in some situation, maybe DOTS can help you reduce the data you have to store/duplicate, and this might lead you to some memory few optimisations, but it might just be because the OOP design was bad in the first place, and could have been fixed there.
    Also, I think doing the opposite (porting DOTS code to OOP) might have the same effect, as it might depend on the implementation details.
     
  6. SamOld

    SamOld

    Joined:
    Aug 17, 2018
    Posts:
    333
    It's possible that the source of confusion here in that @GamesCraving has heard that DOTS is better for memory bandwidth. That means that DOTS can be faster at manipulating the data that's in memory, it doesn't mean that it requires less memory.
     
  7. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    DOTS will eventually consume less resources than a mono app purely because there's less Unity magic bloat like unavoidable serialization.

    For most apps though, the textures and audio will be the main issue. As for performance, DOTS will be faster on single threaded apps as well (eventually in all cases) purely because there's better cache util and memory access patterns. But I'm not going to state it's the case today because it's still very WIP.
     
  8. Micz84

    Micz84

    Joined:
    Jul 21, 2012
    Posts:
    447
    I think that it can help with lowering CPU requirements but not memory. Even if theoretically it can reduce memory usage for example by not having overhead of ganeobjects/transforms most of memory usage comes from textures, models, sounds etc. not data.
     
    Krajca likes this.