Jump to content

About This File

Everyone knows that SexLab takes a long time to start animations, but only a few know that 90% of that time is spent searching and filtering animations.
On my machine, the simplest search takes 2.5 seconds, a normal search takes about 5 seconds, and some complex searches take 10 seconds or more.
And that's just Search. Filtering animations need another 3 or 5 seconds, sometimes longer, which makes SexLab very slow to start animations.
The addition of the Cache in Beta 9 helped a lot because, when the animations are inside the cache, the search is instantaneous saving us 5 or 10 seconds.
But the cache can't help when Filtering animations.
ALL THAT IS OVER

 


BETA ---> SLAS = SexLab Anim Searcher <--- BETA

 

 

This new search system, based on StorageUtil and PapyrusUtil, is stupidly fast. We can search animations in less than 0.5 seconds.
YES, THIS IS REAL. I'm not trolling you. This NEW Search System is millons of times faster than the previous one.
And it works when Filtering animations reducing the time required to start the SexLab Thread to 1 or 2 seconds, sometimes 3.

But take good note that i say:"start the SexLab Thread" because SexLab need make another lot of things that need more seconds.
Like strip the actors, scale it, position it... All that need another 2 or 3 seconds and SLAS not change that section.

 

But not worry, I'm working on try solve the second most big and annoying problem of SexLab: The redraw of the grass in exteriors.
Making that I go to optimize SexLab even more reducing the total time required to complelly start the animation to the minimun posible.

 

Of course, SLAS works with any mod because I respect the SexLab structure and only change the search and filtering functions.
Is enabled only for Humans because the search for Creatures is enougth fast. But i not discard add Creature support.
It's so fast that I disabled the cache for Humans and left it only for Creatures because this new system is often faster than the cache.
Not trust me? Take a look to those lines extracted from my log playing SexLab 1.63 with 870 Animations where 699 are for 2 actors:

Spoiler

    4626    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags(ActorCount=1, Tags=, TagsSuppressed=, RequireAll=TRUE)
    4631    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags Found:40 and Return:40 Start:0 in 0.035005 seconds
    
    4632    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags(ActorCount=1, Tags=M, TagsSuppressed=, RequireAll=TRUE)
    4633    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags Found:13 and Return:13 Start:0 in 0.048004 seconds
    
    4634    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags(ActorCount=1, Tags=F, TagsSuppressed=, RequireAll=TRUE)
    4635    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags Found:27 and Return:27 Start:0 in 0.091995 seconds
    
    4637    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags(ActorCount=2, Tags=MF, Vaginal, Bed, TagsSuppressed=Aggressive, RequireAll=TRUE)
    4641    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags Found:4 and Return:4 Start:0 in 0.045990 seconds
    
    4642    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags(ActorCount=2, Tags=MF, Anal, Doggy, DoggyStyle, TagsSuppressed=Bed, Aggressive, RequireAll=TRUE)
    4643    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags Found:6 and Return:6 Start:0 in 0.045990 seconds
    
    4644    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags(ActorCount=2, Tags=MF, Oral, CumInMouth, Facial, Mouth, TagsSuppressed=Aggressive, Bed, Furniture, Foreplay, Futa, Groping, RequireAll=TRUE)
    4645    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags Found:0 and Return:0 Start:0 in 0.045990 seconds
    
    4647    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags(ActorCount=2, Tags=MF, Aggressive, Oral, TagsSuppressed=Bed, Furniture, Foreplay, Futa, Groping, RequireAll=TRUE)
    4665    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags Found:47 and Return:47 Start:0 in 0.164001 seconds
    
    4666    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags(ActorCount=2, Tags=MF, Aggressive, Anal, TagsSuppressed=Bed, Furniture, Foreplay, Futa, Groping, RequireAll=TRUE)
    4675    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags Found:39 and Return:39 Start:0 in 0.139999 seconds
    
    4676    [01/13/2023 - 10:25:14PM] SEXLAB - SLAS GetByTags(ActorCount=2, Tags=MF, Aggressive, Vaginal, TagsSuppressed=Bed, Furniture, Foreplay, Futa, Groping, RequireAll=TRUE)
    4722    [01/13/2023 - 10:25:15PM] SEXLAB - SLAS GetByTags Found:226 and Return:125 Start:94 in 0.163998 seconds
    
    4724    [01/13/2023 - 10:25:15PM] SEXLAB - SLAS GetByTags(ActorCount=2, Tags=MF, Aggressive, Oral, TagsSuppressed=Bed, Furniture, Foreplay, Futa, Groping, RequireAll=False)
    4728    [01/13/2023 - 10:25:15PM] SEXLAB - SLAS GetByTags Found:567 and Return:125 Start:307 in 0.359009 seconds
    
    4729    [01/13/2023 - 10:25:15PM] SEXLAB - SLAS GetByTags(ActorCount=2, Tags=MF, Aggressive, Anal, TagsSuppressed=Bed, Furniture, Foreplay, Futa, Groping, RequireAll=False)
    4735    [01/13/2023 - 10:25:16PM] SEXLAB - SLAS GetByTags Found:552 and Return:125 Start:347 in 0.348007 seconds
    
    4736    [01/13/2023 - 10:25:16PM] SEXLAB - SLAS GetByTags(ActorCount=2, Tags=MF, Aggressive, Vaginal, TagsSuppressed=Bed, Furniture, Foreplay, Futa, Groping, RequireAll=False)
    4742    [01/13/2023 - 10:25:16PM] SEXLAB - SLAS GetByTags Found:566 and Return:125 Start:272 in 0.404999 seconds
    
    4744    [01/13/2023 - 10:25:16PM] SEXLAB - SLAS GetByTags(ActorCount=2, Tags=, TagsSuppressed=, RequireAll=TRUE)
    4752    [01/13/2023 - 10:25:16PM] SEXLAB - SLAS GetByTags Found:699 and Return:125 Start:485 in 0.481001 seconds

 

 

YES. That is crazy. SLAS can search animations for 2 actors in 0.04 seconds processing my 699 animations.
The last serch, whitout any restriction of any kind, selecting every one of my 699 animations, only take 0.48 seconds.
Those times was collected on my current savegame, in Level 46, playing with more than 400 mods. Isn't a new game.
And come from my 8 years old computer, 4 cores 4 threads. Then, you don't need a supercomputer.


REQUIREMENTS:
SexLab by Ashal

 


INCOMPATIBILITIES:
Utility Plus by Osmel (Temporally)
Separate Orgasm by Ed86 (Partially)
HDT Ahegao Tongues By Throwaway4Nexus (Partially)
SexLab sslAnimationSlots 2000 By Swe-DivX (Ignore)

 

Don't install SLAS in your game if you have Utility Plus. That go to break a lot of things. You must wait until Osmel publish a NEW version with SLAS integrated. Utility Plus is, practically, a different version of SexLab. Have their own MCM and their own furniture system. SLAS is absolutelly imcompatible with Utility Plus. But not worry, I already talked to Osmel. Actually I PM with Osmel almost every week, because we worked together for months trying to speed up SexLab. In fact Osmel was the first person to see my new search system and he is integrating SLAS into Utility Plus and of course will integrate it into SexLab 1.66


About Separate Orgasm i need distribute the file sslBaseVoice and is included in Separate Orgasm, read Technical Notes for more info.
That make us lost one parameter in the MCM of SLSO, exactly SexLab Hot Voice Strength, because the PEX file is diferent.
That is the only downside, we lost one parameter and Ed86 say me isn't a important parameter, but you can have another opinion.
For that i say (Partially). The rest of SLSO works whitout any problem.

 

HDT Ahegao Tongues was famous by theirs incompatibilities, because replace SexLab files.

But i release a modified version long time ago to solve that problem.
 

SexLab sslAnimationSlots 2000 include SexLab files but not have any necesity. Simply replace it with the files included inside SLAS.

 

I not know any other collision with any other mod but if you know a mod that can collide with SLAS, please, report it.
Forget about SexLab Extra Voices because not replace any SexLab Files.

 

 

DIFFERENT SEXLAB VERSIONS:
SLAS go to be a temporary patch until the release of the New Utility Plus, probably in a few weeks, and the future release of SexLab 1.66 in some months.
But the old SexLab versions will never be updated and people who, for some strange reason, don't want UtilityPlus and continue playing with old versions of SexLab, like 1.62 on legendary or 1.63 on Special 1.5.97, or are stuck on 1.64c with Aniversary 1.6.xxx, probably by DAR... all that people NEED this patch except, maybe, the people with 1.62

 

1.62
I think ORIGINAL 1.62 not need SLAS because, first, is limited to 500 animations, and second, the search is enougt fast.
Additionally, PapyrusUtil 3.3, last version for Legendary, NOT have the new array functions and i need emulate it with Papyrus code.
Then, the reduction in time gained by StorageUtil is lost when process the arrays with Papyrus code providing no benefit.
I can make a version for 1.62 if a lot of people claim for it but not expect the crazy speed of special.

 

VR

Unfortunately the latest version of PapyrusUtil for VR is 3.6 and like Legendary it does NOT have the new array features. So you can't use SLAS in VR.

Of course I can make a VR version, but it won't have the same performance.

 

1.63
SLAS is made over 1.63 and works perfectly when playing ORIGINAL 1.63 providing exactly the same animations than the old slow system.
But you MUST use the PapyrusUtil.dll included inside ORIGINAL SexLab 1.63 and you CAN'T use the PapyrusUtil V39 published in Nexus for 1.5.97

 

The main motive is a version incongruency. The two DLL's report version 39 but the DLL's are DIFERENT.
The PapyrusUtil inside SexLab 1.63 for Special 1.5.97 HAVE the array functions GetMatchingInt and GetDiffInt.
But the PapyrusUtil V39 published in Nexus for 1.5.97 NOT have the array functions GetMatchingInt and GetDiffInt.
SLAS need that functions and is STRICLY OBLIGATORY use the PapyrusUtil.dll and the script files included inside ORIGINAL SexLab 1.63
If you have downloaded PapyrusUtil V39 for 1.5.97 from Nexus, please, DELETE IT.

 

1.64c - 1.65
If you are ussing Aniversary not worry about the PapyrusUtil versions. Use the version that match with your game.

 

But if you install SLAS in SexLab 1.64c or 1.65 I not know what go to happend because I NOT have Aniversary.
Theoretycally must works because SLAS only have scripts and the scripts works in every version of the game.
But the big problem of the scripts is the interaction with others scripts.

 

As SLAS change SexLab scripts, maybe and only maybe, SLAS can break others SexLab scripts in 164c and 165.
But i think must works because the scripts replaced by SLAS only have some small changes.
Basically, some adjust in bed and futa animations. Some animations can play bad but i think the benefits of SLAS are bigger.
Then, please, install SLAS in 164c and 165 and tell me how works.

Did someone do it? SLAS works? Please report your results.

 

 

INSTALLATION:
The installation instructions are completely different depending on whether you want start a New Game or want to continue with your Current Game.

 

New Game:
If you go to start a New Game, use your mod manager, install SLAS and let SLAS replace some SexLab files.
Open Skyrim and start a New Game. Wait some seconds, go to the MCM of Sexlab and Install/Update SexLab.
You don't need make anything more. SLAS catch the register of the animations and direcly works. Be happy.

 

Current Game:
To install SLAS in an active game and PRESERVE your actual SexLab configuration you MUST follow this instructions to the leter:

 

1 - Forget SLAS exist.
2 - Take conscience about you MUST make this BEFORE download and install SLAS into your game.
3 - Open your game and load your actual savegame. Go to the last page in the MCM of SexLab and EXPORT your actual SexLab configuration.
4 - Save your game in a new slot only to have a recovery point if something go bad.

 

5 - Now, you discover SLAS and, having your actual SexLab configuration exported, you can continue.
6 - Download SLAS, add it to your mod manager and let SLAS replace some SexLab files.
7 - Open your game and load your saved game. Go to the SexLab MCM and Change your Creature Animations flag in General (second page)
7.5 - More clear: If your Creature Animations was enabled, then, disable it. If was disabled, then, enable it.
8 - Go to the last page of the SexLab MCM and IMPORT your SexLab configuration. The process reset the Creature Animations flag to the exported value.
9 - Is made. Launch a SexLab animation and be happy.

 

VERY IMPORTANT NOTE:
If your NOT export your actual configuration BEFORE install SLAS you go to lost the info related to what Animations, Expresion and Voices was Enabled/Disabled. I can't make anything about that. The export operation must be made BEFORE add SLAS to your game. Read the Technical Notes for more info.

 

Aditional Notes:

Similarly, if you have multiple profiles, as each profile has its own different and separate savegames, you must follow the installation instructions for each different profile. I'm not ONLY talking about different profiles in your mod manager. Please note that Skyrim can have different profiles within the same Skyrim. Every time you start a New Game, Skyrim creates a different profile with a different name and separated saved games. Then, if you want to keep exact information about which animations you have enabled/disabled on each different profile, you MUST disable SLAS in your mod manager BEFORE starting the export operation for each profile.

 

That means you have to be VERY CAREFUL when switching profiles, in your game or in your mod manager, because SLAS does not have an ESP file. So the game does not show the alert about missing pluging. You need know whether SLAS is enabled or disabled in your mod manager BEFORE launching Skyrim to EXPORT your settings. And you must use only your head because the game will not warn you.

 

In the case of catastrophic failure, you have a last resort. Go to the last page of the SexLab MCM and select: Reset Animation Registry.

That clear all animations and re-register again. It may take 3-5 minutes, maybe longer with lots of animations.

But note that Reset Animation Registry put ALL animations ENABLED.

In other words: You have lost your personal information about which exact animations you have enabled/disabled in your previous game.

 

 

Technical Notes:
I need change one of the most important properties in SexLab called Enabled because i need intercept it.
The property Enabled is defined in sslBaseObject as AUTO and I need it as Personalized Get/Set.
Simply because SLAL, SL Tools, Zaz, DD... and others mods Enable and Disable animations.
I can't make a patch for each mod that Enable/Disable animations. Then, I decide intercept it.

 

The property Enabled is shared with sslBaseAnimation, sslBaseExpresion and sslBaseVoice because that scripts extend sslBaseObject.
I not change one single line of code in sslBaseExpresion/sslBaseVoice and I not distribute their PSC source code.
But, as i change the type of the property from Auto to Manual Get/Set in their PARENT, I need re-compile and re-distribute a new PEX version of that files.
Seems that the compiler store, inside the PEX file, the type of the property when we extend a script. If I not re-complile that files the Papyrus0.log say:
WARNING: Property ::Enabled defined in sslBase___ not match with their Parent.
And say it while load the ESPs and the PEXs files, before show the Main Menu, because that mean a problem in the scripts.
The only solution I have is re-compile and re-distribute new PEX files.
That cause the PARTIAL incompatibility with SLSO.

 

In the same way, we must export the SexLab configuration BEFORE install SLAS to store the values of the OLD Enabled properties inside the JSON file.
When we install SLAS for the first time and load the saved game we can see this line in the log:
WARNING: Property ::Enabled defined in sslBaseObject not match with saved game. Property Ignored.
And show when Load the Savegame. That cause the lossing of ALL the values of ALL the properties Enabled in ALL the Animations, Expresions and Voices.
But, when we import the configuration, Sexlab read the OLD values from the JSON file and store it inside my new modified property.
When we save the game and load it again the warning not show because the new type of the property Enabled is correctly stored inside the savegame.

 

 

CREDITS:
Ashal, of course, as the creator of the wonderful StorageUtil and PapyrusUtil libraries. I can't do SLAS without those libraries.
Ashal again for creating SexLab, updating it and giving us a different Skyrim.
Ashal once again for owning and running this amazing website called LoversLab.
Osmel, a friend, for supporting me in SexLab and testing some of my new scripts.
The entire Skyrim Community because our Skyrim was made thanks to the work of many people. THANKS TO EVERYONE.

 

Edited by alex77r4


What's New in Version 1.0.2

Released

1.0.2

Fix various issues in search functions when using furniture.


Other Files from alex77r4


×
×
  • 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