Welcome to Keen Software House Forums! Log in or Sign up to interact with the KSH community.
  1. You are currently browsing our forum as a guest. Create your own forum account to access all forum functionality.

Update 01.154 DEV - Configurable Block Limits & Performance Warnings

Discussion in 'Change Log' started by Drui, Sep 22, 2016.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. Stoner91 Trainee Engineer

    Messages:
    52
    I can't wait for the visual scripting.
     
  2. OmEgA_StOrM Apprentice Engineer

    Messages:
    128
    Nice to see an upcomming Feature for the senarios. I think at the Moment it is missing that the Player has any controll over the AI to make senarios more alive. I think it would be really nice to see if we could get something simmelar to the "custom NPC" mod from minecraft. It would be nice because you could crate your own AI and even set their path that they have a predictable way witch they walk.
     
  3. Gandur Trainee Engineer

    Messages:
    12
    Hi,

    the block limit is a nice idea to control the gird size in multiplayer.

    But is it really a good idea to use a signed Int16 for the Block Index?
    Code:
    2016-09-22 20:11:03.280 - Thread:  1 ->  ERROR: Exception during objectbuilder read! (xml): MyObjectBuilder_Checkpoint
    2016-09-22 20:11:03.282 - Thread:  1 ->  Exception occured: System.InvalidOperationException: There is an error in the XML document. ---> System.InvalidOperationException: There is an error in the XML document. ---> System.OverflowException: Value was either too large or too small for an Int16.
      at System.Int16.Parse(String s, NumberStyles style, NumberFormatInfo info)
      at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read830_Item(Boolean isNullable, Boolean checkType)
      at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1574_Item()
      --- End of inner exception stack trace ---
      at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
      at VRage.MyXmlSerializerBase`1.Deserialize(XmlReader reader, XmlSerializer serializer, String customRootName)
      at VRage.MyAbstractXmlSerializer`1.ReadXml(XmlReader reader)
      at System.Xml.Serialization.XmlSerializationReader.ReadSerializable(IXmlSerializable serializable, Boolean wrappedAny)
      at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read770_MyObjectBuilder_Checkpoint(Boolean isNullable, Boolean checkType)
      at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1504_MyObjectBuilder_Checkpoint()
      --- End of inner exception stack trace ---
      at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
      at VRage.ObjectBuilders.MyObjectBuilderSerializer.DeserializeXML(Stream reader, MyObjectBuilder_Base& objectBuilder, Type builderType, Dictionary`2 typeOverrideMap)
    
    > Value was either too large or too small for an Int16.
    This lead into a maximum block count of <MaxBlocksPerPlayer>32767</MaxBlocksPerPlayer>
    I belive for a single player for a big multiplayer project is it worse to have so strong block cap.

    My suggesstion is to use a UInt32( https://msdn.microsoft.com/en-us/library/system.uint32(v=vs.110).aspx ) as index type. Than can each Spacemaster decide by his own, if he want risk a low FPS or want to be sure stable with 10k limit.

    /edit:
    I found that option: <EnableBlockLimits>true</EnableBlockLimits>
    But setting that value to false let not remove the block count message while building.

    /edit2:
    Disable block limit seems working fine now... Thanks for option to disable the block limit.
     
    Last edited: Sep 24, 2016
    • Agree Agree x 1
  4. RobberFly Trainee Engineer

    Messages:
    16
    Each spacemaster can decide whether they want to risk low FPS or sim speed with more than 32,767 blocks or if they want to improve stability with a 10k limit.

    Disable block limits.

    Do we know at what block count performance typically begins to degrade? We can then establish a theorhetical block limit per player count and see if there is actually any tangible value to allowing more flexible maximum block limits. My guess is that we'll be looking at figures well bellow what the current maximum block limit per player would allow for any modestly populated server.

    I'm sure there are some players who have such figures for single player games, which could serve as a good starting point. We also submitted many high block count structures to Keen a while ago, so it's likely they've already completed this exercise for us and provided us with relevant limits.
     
    Last edited: Sep 22, 2016
  5. Mash Trainee Engineer

    Messages:
    88
    ɹoop ɹɐƃuɐɥ
     
    • Like Like x 1
    • Funny Funny x 1
  6. Hotshot Jimmy Senior Engineer

    Messages:
    1,500
    That is the same as that girls head swivelling around 180' from that horror film I can't remember.

    The block limit is going to be super useful for servers and multiplayer enviroments.
     
  7. Devon_v Senior Engineer

    Messages:
    1,602
    The "block limit" is highly variable based on block type and hardware running the game. There is no correct value, it just has to be worked out for a given machine.

    The default limit is 10,000/5,000, so a 15-bit value is sufficient. I presume setting a custom limit uses a 32-bit value instead.
     
  8. AedanXaelan Apprentice Engineer

    Messages:
    310
    Question I've been unable to test: is it possible to limit a specific block (ion thruster, for example) to zero? And if so, does it still show up in the g-menu?
     
  9. Devon_v Senior Engineer

    Messages:
    1,602
    It should, but you would be unable to place them. Removing them from the game can be done by modding them out.
     
  10. AedanXaelan Apprentice Engineer

    Messages:
    310
    I was hoping I could remove them without a mod, but I suppose not
     
  11. druppi Apprentice Engineer

    Messages:
    178
    will the block limit config automatic generate limits for mods ?
     
  12. Mikiy Trainee Engineer

    Messages:
    68
    would be nice to have an option to disable the limit for specific players on a server.. like the admin who probably owns a bunch of public structures
     
    • Agree Agree x 3
  13. Outfrost Apprentice Engineer

    Messages:
    273
    I hope that you will address the memory issue (memory leak I think, but I might be wrong) soon enough. As of now, planets are almost completely unplayable with 8GB of RAM. I can make a video showing what I mean, if that would help you understand and find the problem.

    Also, I kinda hope there are plans for a Vulkan renderer and a Linux port ;)
     
  14. Stardriver907 Senior Engineer

    Messages:
    2,990
    Indeed.

    Well, I just loaded a world with just one ship in it that I was working on yesterday. I has just one piston, but the info screen says I don't have any.

    I'm curious why conveyor blocks aren't on the list, as I'm supposing that listed blocks affect performance?

    Also noticed staff seemed to come out of the woodwork for this update. Nice.
     
    • Like Like x 1
  15. Clanner Jake Apprentice Engineer

    Messages:
    197
    do they stop spazzing between targets- and do wolves not have terminator teeth? wolves dmg'in everything around them is just crazy- and the rate they can do it.....
     
  16. Lé Grand Sárrazin Apprentice Engineer

    Messages:
    125
    That's the Exorcist, m8!!
     
    • Like Like x 1
  17. Carlosmaid Apprentice Engineer

    Messages:
    177
    Admin and Pirates!! But, is new system. Take a while to keep improving this.

     
  18. Stardriver907 Senior Engineer

    Messages:
    2,990
    Ok, so i loaded up an empty world so I could work on a ship I've been working on for over a year. It was supposed to have refineries in it because that's its job. I quickly reached what turned out to be all the refineries I'm allowed to have (24). That's bullshit. I need more. Then I go to the info screen and discover that I'm allowed to have 24 arc reactors. I've never, ever used an arc reactor. I don't need 24 of them. I don't need even one. Can I swap arc reactor slots for refinery slots? Apparently not. So I have the game telling me I can still place 9000 blocks, as long as they're not refineries. That's bullshit.

    Then I go to advanced settings and find out I cant change max ship size or max blocks per player. That's bullshit.

    I understand the problem with servers. I'm not playing on a server. I'm playing alone in creative. I'm just building ships. The only server these ships will ever be on is one I own, which means it will be able to handle any and all ships I make. I've been working on essentially the same five ships for over a year and they got big when I was using a two core processor and 4 gigs of ram. Now I cant build a ship with a quad core i5 and 32 gigs? Are we making an Xbox game here?

    I've dealt with the performance issues and managed to build what I want. Now I can't build what I want and I still have the performance issues. I really don't think block limits is the answer. My issues with the game never really seemed to involve the number of blocks I've used. They seem to have more to do with modded blocks with complicated textures, and the amount of rendering that has to take place. My games have never slowed because of how many refineries are running or how many drills i'm using. I know that happens on servers but, frankly, a lot of people rent cheap servers.

    I don't know, Keen, but maybe you stepped on it this time.

    EDIT: On further review I discovered I can disable block limits. That's fine, but it's clear that I'm having performance issues while being well below the block limit. The problem is obviously somewhere else.
     
    Last edited: Sep 23, 2016
    • Funny Funny x 1
  19. Clanner Jake Apprentice Engineer

    Messages:
    197
    they keep putting up stopgap walls to abate stopgap features- pulse mining, station voxel support went out, now limits? why not just disable everything and turn it into a floating game- most of us will get a solid 1.0 sim speed with that... i'd rather they hire more coders and the blocks look like they came from battlezone 1 or the first elite- tired of the see saw effect of junk not working, either wrecking my save cause i forgot One place to look before i saved, or burning my fun some other way (floating piston heads are nice....).

    i have to agree with you- a lot of people are going to update and be upset they didn't troll the forums first; limits don't fix the lag- they cover up it up and its an epic waste of time coding it in.
     
    • Agree Agree x 1
  20. Ubai Trainee Engineer

    Messages:
    7
    This update has messed things up for me unfortunately. I have an 8gb PC and before this patch I could play with a mix of low and medium settings, now even with everything set to lowest I get memory errors and crashing all the time. :(
     
  21. Hanfree Apprentice Engineer

    Messages:
    102
    In the video the player put in bad position de gatlings 1:14 dont connect with anithing and that objetive is complete. (in the next secods the player shoots with that gus but because he is playing in creative mode.
    I know this is a example but i think this need a later fix because the objetive tell one direction and the directions not match and objetive completed by the way.
     
    • Disagree Disagree x 1
  22. Seff Apprentice Engineer

    Messages:
    236
    Block limits are pretty much a requirement. So much so that it is a core feature of SE Server Extender. And implementing it is part of what Keen said they were going to do - roll features of SESE into the core game, so that you don't have to turn to a third party solution to have a DS that doesn't die under any appreciable player load.

    Should block limits have been enabled by default on all of our worlds that have been existing just fine? No.

    But this is not some sort of stopgap. SE is a block-based game, and not all blocks are created equal. Some of them are simply going to be more resource intensive than others. To prevent griefing in MP, there absolutely has to be a way to limit the blocks that players can build. Otherwise you end up with a jerk that slaps together five dozen drills and just points them at the nearest asteroid, just so he can degrade sim speed for everyone else. Improve the performance of drills? They'll just build more of them, or find another block that will make lag when spammed. Limits are absolutely necessary to protect server performance.
     
    • Agree Agree x 4
    • Disagree Disagree x 1
  23. ATMLVE Apprentice Engineer

    Messages:
    102
    Visual scripting looks awesome, when can we expect a release of that?
     
  24. Syncaidius Junior Engineer

    Messages:
    824
    Planets have been completely playable for me, in multiplayer, with a friend. I have 8GB RAM, with shadows and voxel detail set to low.

    When loading a save my system hits ~93% RAM usage, then once its loaded it usually drops to between 70 and 80 percent.

    Having 8GB of VRAM available helps a lot though. More VRAM means less textures and mesh data being paged to system memory, since they can be kept in VRAM. This means, more system memory available for the rest of the game and better FPS due to less paging (or none) between VRAM and system RAM.

    For anyone wondering what paging means to a GPU: If your VRAM is full, the GPU will swap resources (textures, meshes, etc) out of VRAM that it isn't immediately using and dump them in system RAM, then pull whatever it needs from system memory into VRAM. Its great at eating away your FPS, since the GPU literally has to wait for whatever it needs to be transferred to VRAM before it can use it. This will happen as many times as needed to render the current frame. Then start over on the next frame.

    We're talking about milliseconds or less here, but when you're after 30 - 60 fps, or more, it can add up pretty fast with lots of paging going on, which is the main reason your FPS will tank pretty bad if your VRAM fills.

    You can of course negate some of the downsides of paging with a fast CPU, board and RAM, but it won't be anything close to as fast as if paging is completely removed from the equation. :)
     
    Last edited: Sep 23, 2016
  25. Outfrost Apprentice Engineer

    Messages:
    273
    Thank you, I forgot about this part of the equation. Yes, it might also be a factor that I have 2GB of VRAM. However, it is worth pointing out that even in that case, my rig sees constant disk activity from the system process whenever I'm loading a planet or moving around one - indicating that a lot of data needs to fly back and forth between physical memory and the pagefile. I perceive it as something being wrong with the game, because I think 2GB of video memory and 8GB of system memory should be enough to run Space Engineers without those long freezes, but developers may disagree and I am definitely open to hearing (reading) about the technicalities behind all this. Also worth mentioning is that @w4stedspace said in one of his recent videos that on his rig - equipped with 32GB of RAM - Space Engineers can eat up about 17GB of it.

    With all that in mind, maybe we could assemble some data from players - what rigs they are using (with emphasis on RAM and VRAM) and what results they are getting in SE. I am sure that would help, if not to identify an issue within the game (which might not even exist), then at least to have a better insight into what scenarios and configurations cause the unwanted behaviour.
     
    • Agree Agree x 1
  26. Carlosmaid Apprentice Engineer

    Messages:
    177
    Hi @Akhera Yesterday i try test energyshields mod block limit with the subtypeid but dont work.. i try repeatedly. It is my mistake?
    Currently block limit is only per player, but in steam guide says about 3 types. They are working on them and are not yet quite ready, or was a mistake?

    Regards!
     
  27. Commander Rotal Master Engineer

    Messages:
    4,975
    Yeeeeah it's not an issue or anything but applying Block Limits to pre-existing Worlds is not appreciated. Forget it with a big build and because you can't turn World Options off ingame you gotta load up a second time, and with big builds loading can take a while. But it least i CAN turn it off so it's a minor inconvenience instead of a problem.
    Still. Don't think i forgot.

    Reminder that we really require save- and configurable World Option Presets.
     
    • Agree Agree x 1
  28. Syncaidius Junior Engineer

    Messages:
    824
    The devs definitely need to bring the memory usage down. That part is certain. :)

    They're aiming for an Xbox One release, which only has 8GB of system memory. I've no idea how much VRAM it has, but I doubt its anywhere near 8GB. Either way, they have to fit the game into that hardware spec or there won't be SE on Xbox One.

    Obviously on a desktop/laptop there's a bazillion other things going on in the background, but generally not enough to use an excuse for poor memory management. :p
     
  29. Devon_v Senior Engineer

    Messages:
    1,602
    The admin has this ability.


    I was running planets fine with 8GB RAM 4GB VRAM. It took like 12 hours to leak enough memory to crash SE. (I left it running to see what would happen). That was medium voxels, no Anisotropics. Now I have 8/8 (RX480) and I'm at max settings. I don't think it's the RAM so much as the overall ability of the computer to move data around. I have an SSD page file (OS and drivers are on there as well), and a 7200RPM mechanical serving the data. I turned on screen warnings on and SE doesn't make a peep after the initial lag on world load.

    Edit: 8GB of RAM is not a lot anymore. Everyone should seriously target 16GB minimum if they don't want to get back into the old days of closing all other programs just to get a game to run well. SE is hardly the only game out there that can comsume 6+ with ease.
     
    Last edited: Sep 23, 2016
    • Agree Agree x 2
  30. Commander Rotal Master Engineer

    Messages:
    4,975
    "Aiming" is probably the right word here. There's a reason they have nothing to announce about that one yet, and i suspect it's at least part of the reason why Marek is rushing development right now. You gotta bring down SE's tech to squeeze it into that little box, and to be blunt i don't see that happening with the game as-is. I fully expect mandatory limits for the port, like non-deactivatable Block Limits and ME-sized planets, if at all. Truth be told i think Planets are going to be the first victim for the port.
     
    • Agree Agree x 2
Thread Status:
This last post in this thread was made more than 31 days old.