Jump to content

4 Screenshots

About This File

What make this mod???

None fun... I made it ONLY for answer the BIG QUESTION.

 

Can a script slow down the game? Are there really "SCRIPT INTENSIVE HEAVY" mods?


The easy answer is "YES, of course, many people have problems caused by the script".


The REAL answer is NO, the game can run hundreds and hundreds of scripts at the same time without any problem.

 

You have all the technical explanation in the blog

 

I have done a mod with 4 different tests to demonstrate the capacity of the game and the results may surprise you.
All tests work with an event system to have several runs at the same time and can start 1, 25, 50, 100, 200, 400, 800, 1600 and 3600 events of each test.
Each event runs SIMULTANEOUSLY and you can save the game and open it with ReSaver to see that all events are in Active Scripts.


The test begins with the launch of a voice command called ST_VOICE and runs CONSTANTLY. You will hear a sound of water every time you use the Voice Command.
To stop the test, run the voice command again. You will receive a message indicating the duration of the test.

 

I added a latency checker in my mod to calculate the time needed to run 5 simple lines of code.
This special test is DIFFERENT from the latency test performed by the Elephant latency tester.
Elephant calculates the latency of the scripts with the OnUpdate event.
My test uses a call to the game engine that can calculate the REAL delay in the script engine.
In this way, Elephant can say that the game has a latency of 200 to 300 milliseconds, while my test can say that it has a REAL latency of 7-10 seconds.

 

TEST 1:
This test performs a CELL SCAN of all nearby npc and performs some checks on each npc.
During the execution of this test, your game should work normally and you should NOT notice that the test is running.
This is because the test has a large number of external calls that suspend execution many times at the cost of more execution time.
But this frequent suspension allows other scripts to be executed and for that the game can run 3200 events of this test without any problem.

 

TEST 2:
This test executes a MATHEMATICAL operation without stopping and only makes a call that can be suspended.
Each event of this test runs during ALL the asigned time of 1.2 or 1.6 milliseconds and can give you some problems.
While running this test, your game should work normally without losing any frames, BUT you may have a slow response from other scripts, for example any MCM.
This is because the test uses all the execution time in each event and can not be suspended because no external calls are made.
My events are running constantly and the game may take a few seconds to find a free execution slot and that may delay the execution of others scripts a lot.
This delay can go from 1 second to 30 seconds and YOU MUST HAVE IT IN MIND WHEN EXECUTING THIS TEST because that delay affects my own test.
The game may take a long time to display the message box to stop the test.
Then, when you press the voice command button to stop this test, WAIT for the message to appear.

 

TEST 3:
This test only have ONE line of code and is:
Game.GetPlayer().QueueNiNodeUpdate()
This line of code force the game to recompute all the mesh of the body of the player character and the game need a bit of time for made it.
This test is locked to ONLY 5 events for prevent CTD.
When i run this test with one event my frames down to half. If i launch 5 events my frames down from 60 to 5.

 

TEST 4:
This test is compatible with the other tests and I did it ONLY to demonstrate the capacity of the game and the priority system.
Enable a magic filter in each npc and show in the GAME CONSOLE how many magic effects are thrown in each npc in the cell.
If you enable the debug log in Skyrim.ini, you can see all the magic effects that are thrown on each npc.
You can activate test 4 and start any other test CONCURRENT, but to stop test 4 you MUST first stop the other type 1 or 2 tests and then stop test 4.
Of course, this filter adds load and may increase latency.

 

Final note:
When you want to STOP the test, use the voice command AND WAIT WAIT, WAIT, WAIT AND WAIT.
The mod works and the test stops and the message box appears, but it may NEED A LONG TIME.

ATTENTION: The game may need 1-3 minutes to stop 800 mathematical type 2 events.
ATTENTION: The game may need 1-6 minutes to stop 1600 mathematical type 2 events.
ATTENTION: The game may need 1-10 minutes to stop 3600 mathematical type 2 events.



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use