Fallout New Vegas
0 of 0

File information

Last updated

Original upload

Created by

MildlyFootwear

Uploaded by

MildlyFootwear

Virus scan

Safe to use

Tags for this mod

9 comments

  1. ProfMajkowski
    ProfMajkowski
    • premium
    • 141 kudos
    Very handy. Thanks! 
  2. Huerta
    Huerta
    • premium
    • 65 kudos
    This mod is great, thanks.
  3. W0lfwang
    W0lfwang
    • member
    • 38 kudos
    I’m having trouble with this mod. I try to check my mod, but I cannot adjust the filter. My mod appears as 13 in the load order, so I adjust iFilterModID to 13 (iFilterModID= 13), but when I exit the game, I only get this on the profile: “RuntimeScriptProfiler Initializing...”
  4. deleted7103646
    deleted7103646
    • account closed
    • 135 kudos
    didn't know that the Set command was so much faster then NVSE Let, kinda logical but still..
    Nice mod, thanks..
    1. salomaogh
      salomaogh
      • member
      • 27 kudos
      Same here. Whats even worst is the amount of time the script takes when calling an UDF. I changed the loop count to 8000 and compared the following lines:

      let fValue := call aaGetQuestVariable "fValue" ; <-- inside the script: SetFunctionValue GetQuestVariable $sValue rMyQuest

      and

      set fValue to rMyQuest.fValue

      The line above is about 10 times faster than the UDF call. This mod was written to run in StartMenu. The difference in GameMode may even be greater.

      It'll take quite a while for me to change all let commands and minimize the use of UDFs in my mod. :(
    2. MildlyFootwear
      MildlyFootwear
      • premium
      • 30 kudos
      From my experience, it won't be different in GameMode vs any menu as the game hangs to execute any script. In the vanilla game, this is imperceptible atleast on modern hardware, as ~500 "set" command can be executed in the span of a millisecond. With 60 frames per second, that would be approximately 16ms per frame, allowing 9,500 executions of set (if only performing simple math) with only 1 dropped frame.
      Honestly, I wouldn't be too concerned about it. Optimize where you can, but for example, I'm not going to integrate the function I use to calculate a modded weapon's DPS into every script that uses it.
      If your code only executes once a second under specific circumstances, anything under 16ms execution time is perfectly fine in my book.
      If you want to run some more ingame tests, you can take a look at the code outside the "while" loop and integrate it into your scripts for testing purposes.

      I'll go on a bit of a tangent; I use two separate arrays and the NVSE command "GetUserTime" to timestamp the before and after of the code. I convert it into milliseconds (ignoring minutes and higher because floats become inaccurate at huge numbers), then subtract the "before" timestamp from the "after".
      That eats up a bit of performance (pretty small, though) so I'd remove it after testing.
    3. salomaogh
      salomaogh
      • member
      • 27 kudos
      People keep complaining about performance losses in my mod. I mostly use Actor Effects in the mod during GameMode, but not many at the same time (3 at the most). Inside the scripts there are not many UDF calls and almost none of them have loops. I even put timers inside the Actor Effects to prevent the whole scripts to run every frame. Since i have and old 4790k. i don't notice any fps drops. So i can only guess the loss come from the UDF calls. I noticed that the using the old 'GetFirstRef\GetNextRef' functions is faster than using NVSE loops. I also tested a single line such as:

      let fValue := call aaGetArrayCount arValue ; <-- inside the script: SetFunctionValue (ar_Size arSomeArray)

      The amount of time it takes to evaluate that is huge, about 750 ms (5000 iterations).

      So i guess the performance drops in my mod come from that, aside from other unknown sources.
  5. Xilandro
    Xilandro
    • premium
    • 2,421 kudos
  6. NukaNetwork
    NukaNetwork
    • supporter
    • 9 kudos
    Cool