Jump to content

Warezcrawler

Members
  • Posts

    611
  • Joined

  • Last visited

Everything posted by Warezcrawler

  1. I have made a recompile for KSP 1.4.3, which under GPL-3 I think I'm allowed to do. It is untested. HorizontalVelocity_3.2.zip
  2. the dll works... don't know about the link though.
  3. So you are basically saying the same as in that that 4 year old thread So going from full warp to 1x physics can have unintended effects basically. I have noticed that KAC actuals turns down warp one step at a time, probably because of such issues then. Interesting.
  4. Hmm.. Sorry... Must have missed the update. I really try to stay on top of updates, but this one I missed... Thanks
  5. Thanks for your comprehensive response. I guess it is related to the fact that LGG is compiling against 1.4.1. EVA-E does work on 1.4.3 as far as I can see, but who knows - maybe some subelement is not working that I haven't noticed. I will ignore the message and expect it to go away when EVA-E get's a new update.
  6. My god... I love this! Performance improvements. Reductions in garbage! go DMagic! Thanks... Downloading right now.
  7. Hey... Thanks for keeping this mod alive. I've noticed that I get an exception when I have this mod installed along EVA enhancements. [EXC 19:53:25.202] ReflectionTypeLoadException: The classes in the module cannot be loaded. System.Reflection.Assembly.GetTypes () ContractConfigurator.ContractConfigurator+<GetAllTypes>d__31`1[ContractConfigurator.ParameterFactory].MoveNext () Rethrow as Exception: Error loading types from assembly EVAEnhancementsContinued, Version=0.1.13.1, Culture=neutral, PublicKeyToken=null UnityEngine.Debug:LogException(Exception) ContractConfigurator.LoggingUtil:LogException(Exception) ContractConfigurator.<GetAllTypes>d__31`1:MoveNext() System.Linq.<CreateWhereIterator>c__Iterator1D`1:MoveNext() ContractConfigurator.ContractConfigurator:RegisterParameterFactories() ContractConfigurator.ContractConfigurator:PSystemReady() EventVoid:Fire() <Start>c__Iterator0:MoveNext() UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr) Both Contract Configurator and EVA enhancements is mentioned. However, I'm pretty sure it is CC that throws. Full log see line 30044 for above message.
  8. Thanks for your response. X-Science does produce stutter on biome change. However, there is an unofficial build on the x-science thread which does reduce that stutter. However, the biggest stutter problem in KSP comes from the garbage collector which runs from time to time. Some mods produce a lot of garbage.... It can be hard to identify exactly which ones though. Stutter from X-Science is not (primarily) related to garbage, but rather heavy updates, not all of which are necessary all the time.
  9. So what is the judgement. Do we still need world stabilizer in KSP 1.4.3? Or are the bugs fixed?
  10. I use "GameEvents.OnAnimationGroupStateChanged.Add(OnModuleAnimationGroupStateChanged);" to detect animations based on ModuleAnimationGroup. This helped me trigger when the animation was finished. Also see https://github.com/WarezCrawler/Guybrush101/blob/master/GTI_Utilities/BaseClass/MultiMode.cs#L456-L507 EDIT: Sorry.... This will not help you.... I did not notice it is not the same module..... ModuleAnimateGeneric does not have that event. EDIT2: Have you checked the animation state? "animationStates" --> LOCKED, MOVING, CLAMPED, FIXED
  11. I don't think they changed from 1.3 - I at least have not found any documentation of changes. KSP Interstellar uses it. https://github.com/sswelm/KSP-Interstellar-Extended/blob/master/FNPlugin/PluginHelper.cs#L21 https://github.com/sswelm/KSP-Interstellar-Extended/blob/master/FNPlugin/PluginHelper.cs#L45-L55 I don't know if you have used events yet. If not I recommend you read this from 1.2.2. Also the short version of using build in KSP events //Register you mod to the event void OnStart { GameEvents.onVesselSituationChange.Add(OnVesselSituationChange); } //Remember to unregister to avoid problems void OnDestroy() { GameEvents.onVesselSituationChange.Remove(OnVesselSituationChange); } //And add the method you register to the event void OnVesselSituationChange(GameEvents.HostedFromToAction<Vessel, Vessel.Situations> change) //<-- Arguments in the method depends on the event you are using. { //Do something when the event fires }
  12. Nice contribution. I notice you do logic in OnUpdate() and Update(). Have you considered using a build in gameevent to only do logic when needed? I think you can use the "GameEvents.onVesselSituationChange", which fires only when the vessel situation changes. This would reduce your fingerprint. Also, you can move setup() call to the OnStart() method which KSP calls when first creating the partmodule.
  13. In all my reading about the GC, I've come across a topic I can't seem find the optimal structure for - and maybe there is nothing to optimize. Consider the following in a Update() scenario. Creating new objects and destroying them creates garbage. i.e. List<object> myobjectlist = new List<object>(); This is often better just to create the list outside the update, and maybe do a clear ind order to reduce garbage created. Then I have the thing I'm most puzzled about, that is when I create an object that references an already created game object. somegameobject cacheModuleEngines = somegameobject.instance; Now I have a simple reference for that game object, which the GC have to analyse when doing GC. However, I there anything I can do to optimize? Would setting it to null help anything? Is it worth it? I would normally not care too much here, but with the excessive GC in KSP when modded, I'm inclined to do every optimization I can think of knowing that the main issue comes from elsewhere :o(. But again, what are your thoughts on this. Is this simple too insignificant to think of, or is there anything to do?
  14. I think blowfish is thinking something more like @PART [mk3Cockpit_Shuttle]:NEEDS[AvionicsSystems] { @CrewCapacity = 6 @INTERNAL { @name = Retro_Shuttle_IVA } MODULE { name = MASFlightComputer requiresPower = true gLimit = 4.7 baseDisruptionChance = 0.20 PERSISTENT_VARIABLES{} RPM_COLOROVERRIDE { COLORDEFINITION { // 'white' label unlit color name = ASET_SWITCHER_NAME_ZEROCOLOR color = 213, 213, 213, 255 } } } { MODULE { name = RasterPropMonitorComputer } } } } Now it becomes obvious that the are some syntactical issues - which was had to spot before indenting. Try this @PART [mk3Cockpit_Shuttle]:NEEDS[AvionicsSystems] { @CrewCapacity = 6 @INTERNAL { @name = Retro_Shuttle_IVA } MODULE { name = MASFlightComputer requiresPower = true gLimit = 4.7 baseDisruptionChance = 0.20 PERSISTENT_VARIABLES{} RPM_COLOROVERRIDE { COLORDEFINITION { // 'white' label unlit color name = ASET_SWITCHER_NAME_ZEROCOLOR color = 213, 213, 213, 255 } } } MODULE { name = RasterPropMonitorComputer } } I'm not saying it works now, but the most critical issues should be gone. I just removed some brackets that was floating around in there. Hope it helps.
  15. There are a couple of settings (buttons) in the here&now window, which does change behavior.... Whether they do exactly what you are asking for, I'm not sure about. I don't remember any other relevant settings in X-Science...
  16. True, and pretty much the point of this thread... But I can still try to optimize even when my understanding is imperfect. How do you profile a KSP plugin like partmodule? I've seen it in unity videos, but how can we access it? I've guessing resharper is an extension for VS... Is it free? I don't have it (yet). Do they do the job in KSP modding? Ok... You probably have a point (you usually do)... I'm read a lot C# sharp, but not sure exactly what you are pointing me at, so can you maybe help with a link as a starting point? True, but I will still try my best, and I'm learning at the same time. This is also the point when I ask for some guidelines. Ex. avoid "foreach" is a simple guideline that helps and as far as I can see does not create a problem. And there are many more help points in this thread. I found this link that really told me a lot https://unity3d.com/learn/tutorials/topics/performance-optimization/optimizing-garbage-collection-unity-games
  17. Well, gaming experience and realism is not 100% of the time the same thing.... I got a better experience from 1.2.2, than 1.4.2 when evaluating sounds. That is disregarding if 1.4.2 is more realistic. I had installed the mod mentioned and have not experienced problems.
  18. I think jet sounds mod, see above, could be the answer
  19. I’m not sue I agree. More than a few of us are amatuers. If you ask me, should try to optimize anyways. This topic is supposed to help some of us get some guidelines for what not to do. So please sarbian, if you have some point, then please share it. Do not expect me to ever become a c# professional. But I do what to make a mod that does not hit performance in my/our gaming experience. If the price is to do premsture optimization, so be it.
  20. When it comes to contract configurator I don’t think that is the problem any more. According to @nightingale it does not do it’s calculations in flight which minimizes the gc problems of cc. Of cause it can create a lot at ksc, but that is not where the experience of ksp is ruined by gc.
  21. What about the link in the post just before your own?
  22. I get an NRE when docking in space I'm on KSP 1.4.2 with World Stabilizer 0.9.1. As far as I can see, there are no more negative effects from the NRE, but is it even intended to run when docking in space? I thought it was targeting physics when landed...
  23. I've updated the .dll's again today... Made an extra check when transmitting science.... .dll for 1.4.2 .dll for 1.3.1
×
×
  • Create New...