A couple of thermo questions
If anyone knows, it'd be very useful to know:
1. Is there any difference between turning the power off on some logic and destroying it, in terms of thermo use? Obviously if it's going to be destroyed it means that it would have to be emitted as an object first so that it can be destroyed without destroying the parent object...so destroying logic means adding logic to allow it to be destroyed in small chunks. Which is better? So far I've just been trying to make sure that chips only get power when they are needed.
2. I've taken to using the combination of tags and trigger zones as make-shift booleans (i.e. give a tag power and then have a global, scene-wide trigger zone looking for the tag. So when it's detected by the zone, the boolean is 'true'). So say I have 5 objects that need to know when this boolean is true, is it better to give each object their own trigger zone for it, or have one zone detecting it and then broadcasting the value over wireless? In other words, should I add 5 trigger zones or 5 wireless receivers, which is more efficient?
-
1. From my understanding, destroying logic is more efficient than turning it off, because it frees up that memory and gives you more thermometer to work with later in the scene. Obviously, emitted objects are the main candidate to be destroyed, however there may be logic in the level which you won't need again, such as a main menu. Basically, turn something off if you might need it later, destroy it if you definitely don't.
JimmyJules has a good video regarding destroyers, in respect to the thermometer: https://youtu.be/hFU9Uz1EAkc
2. Trigger zones are more thermo and performance heavy than tags, so an optimum design would use 1 trigger zone for 5 objects, in your example. -
Hi, a few extra things:
1) When you set a target for the emitter, the object you target is still in the level it just gets powered off. Powered off objects still cost you performance and thermo although they not quite as expensive as when they are powered on. So if you just want to turn some section of your level on and off I would start it powered off. Power it on when you need it (don't emit it) and then delete when you no longer need it. Use the emitter if you want to create multiple copies of something.
2) If you just want to pass a bool around you might want to consider using Variables. Trigger zones incur a search through the level for tags (without a zone that can be especially expensive) whereas Variables are directly linked to each other by (secret!) wires.
thanks
Matt -
Hi Matt, if you see this again then I'm just curious about what you mentioned in point 2 regarding trigger zones being "especially expensive" without a zone.
I'm making a level which contains a few hundred objects that can be 'activated', which turns on a tag in their microchip. I'm currently using a single trigger zone which counts the number of powered tags in the scene. Would I be better off changing this to a fixed zone, even though it's over a fairly large area? -
'@OgTheMatt: From my understanding, it would still have to search through all tags in that are for the right name. So if you have a scene-wide zone vs a zone that contains all things in the scene, the same number of things have to be sorted through anyway.
-
Thanks all, some very useful info.
-
Hi, sorry wasn't totally clear. I just meant a trigger zone set to entire level is slow compared to a trigger zone that has a smaller zone (I guess that sounds obvious!) . If it's set to entire level it has to consider every key in the level, do a name compare and work out which is closest. Trigger zones that have a zone shape set can do a spacial search and (usually) reject a lot of distant keys with minimal cost. If your zone is a sphere that is the size of the entire level then that's no faster then setting "Entire Level" though. Basically what Supposer said! :)
thanks
Matt
If the trigger zone is set to search entire level then it just has to look at every tag in turn and compare names, whereas a trigger zone with a -
Thanks, that clears it up for me. Performance in my level is still good with the global zone I have set up currently.
Por favor, entrar para comentar.