Jump to content

[Winter is coming] Profiling in NMM


Elgar

Recommended Posts

depends, really. on the backend, as far as I read, MO uses a virtual file system that only works if applications are run from within MO. also it lets you unpack BSAs by default and allows to sort mod data differently from the load order. all of these are a source of issues with MO.

none of this happens with the new NMM. it uses a windows/HDD internal system to create the "fake files", and once a profile is properly loaded, it does not require the NMM to be running in order for everything to work properly. third party applications and the skyrim exes will not see a difference between before and after.

unfortunately, it looks like this is all still very much just theoretical. There are tons of complaints of NMM 0.60 users on the nexus, and it would seem that the software is currently horribly bugged. what kind of bugs those are? who knows? It seems the new NMM has problems migrating many mods from the regular file system to the new one. it also doesn't seem to be documented very well and has some odd UI decisions, which lead to further confusion and bugs.

so yes, it might be wise to ignore any bug reports from NMM users for a while :D

Link to comment
Share on other sites

Can Wrye Bash open fomod installers?  I may be switching over to completely use Bash from the looks of things, because even if NMM doesn't completely emulate the way MO works, I don't want to throw the monkey wrench of uninstalling/reinstalling all the NMM packages again.

Link to comment
Share on other sites

depends, really. on the backend, as far as I read, MO uses a virtual file system that only works if applications are run from within MO. also it lets you unpack BSAs by default and allows to sort mod data differently from the load order. all of these are a source of issues with MO.

none of this happens with the new NMM. it uses a windows/HDD internal system to create the "fake files", and once a profile is properly loaded, it does not require the NMM to be running in order for everything to work properly. third party applications and the skyrim exes will not see a difference between before and after.

 

Thank you for these informations. You're right, it's not like MO. In a news update and FAQ Dark0ne gave some further details :

 

We're using a system in Windows known as hardlinks and symlinks (depending on whether you install to different hard-drives or not, NMM picks the best one for the task). Essentially, these are shortcuts that your operating system uses to stop the duplication of data while still presenting data in multiple folders. For example, your "Documents" folder in windows uses a similar sort of shortcut.

Using this system, NMM installs your mods to a single folder you specify in the settings and then places shortcuts in your game folders pointing to where the mods actually are for the game you're using. The shortcuts in the mod folder look and act exactly how they would if the files themselves were in the mod folder, but they're not. This is what allows us to accommodate multiple profiles without continually installing and uninstalling mods, and in a quicker fashion than manually uninstalling and reinstalling the mods you want to use.

The folder will make it look as though the shortcuts are taking up a lot of space, but they aren't. If you use 1GB of mods then NMM will still only use 1GB of space, not 2GB of space like a quick check might show. The easiest way to test is to check your available hard-drive space. It won't have increased any more than before.

 

 

http://www.nexusmods.com/skyrim/news/12574/

 

That being said, I don't have any need of a profiling system, and I prefer the old-fashioned way. IMHO this profiling feature should be an option in NMM, not the core feature. I think I'm going to stick with the 0.56.1 version, or maybe even switch completely to Wrye Bash.

Link to comment
Share on other sites

Heh. To me, this all just looks like playing catch-up with Wrye Bash, which has had a form of profiles since Oblivion :P

 

Sure, it's not a fancy hardlink/symlink/virtual thing, but it does exactly what the intention of all of those are and without making weird changes to your filesystem either.

 

This odd obsession people have with not "polluting" the Data folder just seems silly to me.

Link to comment
Share on other sites

When you are talking about profiling in WB, are you referring to Save Profiles? Say for example, you have a fully modded Skyrim using WB. But then you want to create a vanilla profile in WB .. what steps would I need to take to achieve this?

Link to comment
Share on other sites

Can Wrye Bash open fomod installers?  I may be switching over to completely use Bash from the looks of things, because even if NMM doesn't completely emulate the way MO works, I don't want to throw the monkey wrench of uninstalling/reinstalling all the NMM packages again.

That's an interesting one. Just a matter of grabbing the code from GitHub and porting it to Python, or "simply" this.
Link to comment
Share on other sites

Are FOMOD installers that fundamentally different from OMOD installers?

 

 

 

When you are talking about profiling in WB, are you referring to Save Profiles? Say for example, you have a fully modded Skyrim using WB. But then you want to create a vanilla profile in WB .. what steps would I need to take to achieve this?

When you're on the mods tab, select the esp files you want active in that load list. Right click on the file column header at the top, go to Load->Save List. It should prompt you to name it.

Yes, it's a bit janky, and you need to be aware it isn't designed with scripts laying around in the Data folder in mind, but it works pretty well.

If you're using certain texture packs with a playthrough, this isn't going to be able to handle switching those out unless the pack is stored as an ESP/BSA combination (which only works in Skyrim). So it has limitations, and I'm not sure if NMM has taken this sort of thing into account either.

 

To get a profile selected back as active, go to the same menu, and select Load-><name of profile you saved>. You'll note this also lets you select "Bethesda ESMs" which should only activate the official content from whichever game is being managed.

Link to comment
Share on other sites

Are FOMOD installers that fundamentally different from OMOD installers?

Fomod is a XML scripting setup, but it has a little extra than Omod (there is a posting buried somewhere about this). A bit like BAIN. It's similar to the old OBMM scripting with the comparison here
Link to comment
Share on other sites

If you're using certain texture packs with a playthrough, this isn't going to be able to handle switching those out unless the pack is stored as an ESP/BSA combination (which only works in Skyrim). So it has limitations, and I'm not sure if NMM has taken this sort of thing into account either.

 

NMM has.

 

I was reluctant but I'm finally testing the latest NMM version (0.60.4) and I must confess that I'm rather impressed by it. After reading the explanations by Gruftlord and Dark0ne I was relieved that it's not a virtual file system like MO, and indeed the NMM system is pretty straightforward and efficient.

 

This odd obsession people have with not "polluting" the Data folder just seems silly to me.

 

In fact NMM does pollute your Data folder. All the mods you install are "really" in the Data folder (you can check that with the Windows file explorer).

 

My first thought was that I don't need profiling since I always play one character, but after all it's a good way to test mods, the upcoming USLEEP, a new texture pack, etc.

 

Well, well, this thread was a little premature.  :whistle:

Link to comment
Share on other sites

Does anyone have some further insight, how these hardlinks and symlinks work for the end user?

What happens if i delete either the link in the data folder or the actual file in the nmm folder manually? Will the other file in either case be deleted as well? Will it throw any errors if i delete the real file and the link file leads nowhere thereafter?

Also, how does the nmm handle third party created files like those created by fnis or config files created by skse mods? Is there an option to scan the content of the data folder and "attach" newly created files to one or more profiles? Or do i have to rerun fnis with each profile switch?

Link to comment
Share on other sites

Does anyone have some further insight, how these hardlinks and symlinks work for the end user?

What happens if i delete either the link in the data folder or the actual file in the nmm folder manually? Will the other file in either case be deleted as well? Will it throw any errors if i delete the real file and the link file leads nowhere thereafter?

 

This is going from my understanding of symbolic links and hard links on Linux...

 

A symbolic link is essentially a "pointer" file, or "shortcut" file (not to be confused with Windows' shortcuts on your desktop!); it is a unique file that resolves to the path of the file it's pointing to. To users and applications, symlinks look just like regular files/directories and are treated as such.

* The symlink will be broken if the original file is renamed, moved, or deleted.

* The size of symlinks are typically just a number of bytes, depending on the number of characters in the path.

* They can span across different filesystems.

* I use symlinks quite often.

 

A hardlink is essentially a reference to an inode on the filesystem; every named file on the filesystem is a reference to the inode. When you create a regular file, it is one hardlink referring to an inode. When you explicitly create a hardlink, it is a second reference to the inode. There is no difference between the original file and a created hardlink.

* A rename operation is essentially the same as creating a hardlink and then deleting the original file.

* The diskspace allocated for the original file won't be marked as empty until the last reference (aka, hardlink) is deleted.

* A hardlink occupies no additional space. Since a hardlink is simply a second reference to an inode on the filesystem and the original file is also just a reference, both the "original" file and the hardlink are only occupying the diskspace of a single copy of the file.

* Copying a file (or a hardlink) allocates additional diskspace and creates a reference to a different inode.

* Hardlinks cannot span across different filesystems.

* I've never had any need to create hardlinks.

Link to comment
Share on other sites

So, to completely get rid of an unwanted texture i need to delete both hardlinks manually. Deleting just the one in the data folder will not be enough if i switch profiles back and forth and the hardlink in the nmm folder still remained?

I mean technically your explanation is sound, but there is still the possibility that the links in windows explorer behave like elgar explained earlier, right?

Guess i need to make the switch myself soon, and get a feeling for the system hands on

Link to comment
Share on other sites

I've never used these kinds of things in Windows before, but my understanding is they behave more like symlinks in linux than they do hardlinks. Which to me suggests deleting the actual file will still require you to remove all of the links pointing to it as well.

 

I honestly don't get why this sort of thing is suddenly such a popular thing. I can only imagine it's because NMM, FOMM, and OBMM have never historically been capable of proper cleanup after an uninstall. Whereas Wrye Bash has, and as a result, those of us who stick to using it don't see the point :P

Link to comment
Share on other sites

  • 3 weeks later...

Not gonna wade through hundreds of pages of bickering on Nexus to find it. Do we know if this profiling thing was limited to Skyrim or did they do the daft thing and make it do this for ALL of the games it supports?

Link to comment
Share on other sites

Iirc they do it for all games. It's one of the reasons they went with hardlinks instead of a virtual file system

Link to comment
Share on other sites

Gruftlord is right.

 

For information, if you use the multihd mode NMM uses symlinks, if you don't it will use hardlinks, as explained by one of the paid developers who work on it (don't forget that NMM is completely open source).

 

I have to say that I have been using this new NMM for the last two weeks and I didn't experiment any issue. But I didn't upgrade my installation. I uninstalled everything (NMM included) and reinstalled everything, from scratch. No problem so far. They fixed a lot of bugs which affected mostly users who upgraded, or used the multihd mode. Now it seems pretty stable and bugfree.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...