PyFFI vs NIFopt vs BSAopt?

Post » Tue May 08, 2012 5:06 pm

I would like to optimize my Oblivion setup but am having a hard time finding a clear comparison between these three programs. Can someone help me understand the difference between the three and which is the best to use? (Yes I have read the threads for each)

Here's what I think I know,

http://www.gamesas.com/topic/1172029-relz-oblivion-pyffi-optimization-kit/
- optimizes NIFs only
- Only works on NIFs and not BSAs directly (athough it's recommended to unpack BSAs, optimize, then repack)
- The best way is too place the folder or meshes in the Toaster/IN folder and run the optimize ini.

Does the right click optimize method not do some thing the "preferred method" does? (e.g. not use the skip file thing).

http://obge.paradice-insight.us/wiki/NIFopt
- optimizes NIFs and textures
- repairs NIFs
- processes BSAs directly with not need to extract
- optimizes BSA compression

How mature is this? I see it's still in beta but is it stable now?

http://www.tesnexus.com/downloads/file.php?id=41042
- allow directory structure access to BSAs (easy adding removing files?)
- duplicate detection and removal
- other improvement (including better compression) that greatly reduce BSA size

Would this be best used along with either PyFFI or NIFopt as a complementary piece? (e.g. BSA management for PyFFI or improved compression after using NIFopt)


Based on all that I have read, it seems that NIFopt could be an improved successor to PyFFI. It has more functions (like texture optimization) as well as no need to unpack the BSA so I tend to want to use it over PyFFI. But should I?

Lastly, will any of these work with Morrowind too?

Thanks
User avatar
Nims
 
Posts: 3352
Joined: Thu Jun 07, 2007 3:29 pm

Post » Tue May 08, 2012 8:03 pm

I guess we'll find out http://www.bild.me/bild.php?file=8065848Untitled.png

Its certainly a lot more efficient with the CPU, at the time of this screenshot, it has just started on the Shivering Isles meshes bsa, it took 9 minutes to process the 4 bsa before that.

From what I have read, NIFOpt is a C++ tool which combines Pyffi and BSAOpt - So I am giving it a try out, I love BSAOpt just for managing BSAs, but previously only used Pyffi for optimizing meshes.

I dont know at this time if NIFOpt successfully skips (or otherwise gets around the problem files with a different approach - The ones Pyffi needs a refined 3 stage process which the bat file brings together) .. But once this completes, going to pack them up in a BAIN and install them overwriting my trusted BAINS full of BSAs and load up the game.

Morrowind - No idea, needs someone to give it a go I suppose, dive in and see :smile: (after backups are made of course, just in case)

Quick update, while typing this post it has just finished Shivering Isles Sounds BSA (Yeah, during that time meshes have been and gone), also just checked the original SI BSA versus the new SI BSA, the process has shaved off 10mb of the original file size, so results here so far seem to be comparable with Ethatrons results (scroll down to his 'notes' in your NIFOpt link)
User avatar
adam holden
 
Posts: 3339
Joined: Tue Jun 19, 2007 9:34 pm

Post » Tue May 08, 2012 2:25 pm

Thanks for the response. I've decided to do my own experiments too on the compatibility with Morrowind.

On very preliminary results, I have discovered that NIFopt doesn't seem to be compatible with Morrowind BSAs as it doesn't do anything. But when I load a mesh folder or a texture folder it proceeds normally. Not sure what the end result would look like yet though. I'm not overly optimistic since the utility is geared for Oblivion and on.

EDIT: very weird...just experimenting with the textures folder and it processes fine till it hits a certain file and then crashes. I removed that file (tx comberry_p or something like that) and restart and it rolls without hitch for quick some time past that spot and hits another file then crashes. I figure there must be something about those specific image files it doesn't like. But considering its only about 1 in several thousand, I figure I can just take them out and anolyze what they have in common. Fun!
User avatar
Isabella X
 
Posts: 3373
Joined: Sat Dec 02, 2006 3:44 am

Post » Wed May 09, 2012 4:47 am

It hasn't quite finished yet, but out of all the BSAs to do currently its chomping through Oblivion - Textures - Compressed.bsa (that leaves just the two Oblivion Voices bsa's to do) .. 2.5 hours on a core 2 duo laptop

Compared with Pyffi this thing is blisteringly fast, it will probably take me longer to compress all the BSAs as BAINs afterwards than it did to process them :D

Well then the try out in game will be the proof in the pudding .. So will probably come back grumpy or smiling tomorrow.

The scary one out of the BSAs processed so far was Oblivion - Misc.BSA, down from just over 7mb to just 800kb

-------------

Anyway, I think your morrowind BSAs are probably better extracted with whatever you rely upon in the Morrowind modding world these days (its been a few years since I was there), and then just try processing all the loose files with NIFOpt, followed by re-packaging from the Out\ folder into BSAs with your faithful utility

Ethatron has been very swift producing these utilities though, he seems to eat code for breakfast, maybe he would be open to making it compatible in a future version. But it may depend on if he owns the game too for the original BSAs to Morrowind, Tribunal and Bloodmoon.
User avatar
Terry
 
Posts: 3368
Joined: Mon Jul 09, 2007 1:21 am

Post » Tue May 08, 2012 9:24 pm

alt3rn1ty:

Now if you made a pictorial guide to using this, I would be REALLY impressed :)

Looking forward to seeing your results. If all goes well I will go the same route once I decipher the documentation.
User avatar
sw1ss
 
Posts: 3461
Joined: Wed Nov 28, 2007 8:02 pm

Post » Tue May 08, 2012 7:29 pm

:), there's not much to make pictorial, I'm watching a command window stream its progress and a log file turning into a monster. I grabbed the 10/12/11 version, extracted to its own folder, dropped copies of my bsa's into the In\ folder, then ran the run_x32.bat (it does the same as the gui bat anyway, and exactly what gets processed is defined by the nifopt.ini - I left that at default after seeing entries like passthrough were enabled)

I think the different gui and run options detailled on the site have become unnecessary, probably the site needs updating, and the whole package can now just be initialised by one gui or run bat (either x32 or x64 dependant on your OS)

The compressed textures is taking a while to crunch, but after reading what he tries to do with textures (adding missing iterations of mipmaps where they are needed and pruning them when there are too many) its to be expected.

The usual stuff we do with Pyffi though was done quite a while ago, consider it has gone through those I gave a screenshot of alphabetically and its now on compressed textures, thats a lot of BSAs processed in less than half the time it usually takes me to do just the meshes BSAs.
User avatar
Matthew Warren
 
Posts: 3463
Joined: Fri Oct 19, 2007 11:37 pm

Post » Tue May 08, 2012 10:44 pm

The textures compressed bsa took ages :smile:

But, hmm, mixed bag of quirks I think I will be staying with Pyffi for now ..

Game loads fine - Check

Performance - No discernible change to what I was achieving before

Now before I post a few screens, I need to mention I am still running the game with Robert Male and EVE female setup, but they are fine before I ran NIFOpt on everything ( I did not run NIFOpt on any Rob Male or EVE files, just everything in the vanilla BSAs as noted above in the screenshot I posted earlier )...

First up, one of T.I.E NPCs, Imperial Bladesman talking to me - His mouth does not move but I hear his voice. However instead of his mouth moving I see weird contortions of the face, a bit like Max Headroom having his glitchy moments http://www.bild.me/bild.php?file=8693903ScreenShot338.jpg
Notice also the amulet clipping into the clothing, and the horrendous neck seam.

Vilja is un-affected because her meshes and textures are pulled in from her BSA (untouched by NIFOpt) and custom files, but as you can see one of the residents of Bravil Mages guild wasn't so lucky http://www.bild.me/bild.php?file=1176887ScreenShot342.jpg

And other NPC head weirdness going on http://www.bild.me/bild.php?file=5706298ScreenShot344.jpg

I had a bit of a run around the country, nothing out of order, fast travelled into the IC, just NPC head problems (had a look inside a few buildings aswell at internal clutter and architecture etc) ..

So all seems good so far apart from heads, mouths not opening and closing during the NPC talking, and a bit of clipping noticed with trinkets and clothing

Decided to try some dungeons - Cave just north of cheydinhaal, step through the door - CTD.

Gobsmacked, I havent had a CTD since I dont know when. But too tired to investigate further, and with the speed of the CTD I dont think I will get chance to figure out what was loading in the cave to cause the CTD.

Not very detailled, but its obvious NIFOpt is doing a few things either wrongly or should not be touching them at all. Or maybe there are warnings somewhere I should have been reading a lot more about before attempting to do the whole caboodle, or maybe a few refinements to the INI would prevent the few issues experienced ...

Its certainly promising though at this stage.

Edit: Affore I go sleep (and celebrations tomorrow) - I sent a pm to Ethatron so should get to see this lot at some point.
User avatar
BlackaneseB
 
Posts: 3431
Joined: Sat Sep 23, 2006 1:21 am

Post » Tue May 08, 2012 3:29 pm

Another quick post - Just put everything back in order with my usual set of BAINs, and tried the cave again ... No CTD http://www.bild.me/bild.php?file=3521688ScreenShot345.jpg

(Its Quickwater Cave, just North North West of Cheydinhaal)
User avatar
Amiee Kent
 
Posts: 3447
Joined: Thu Jun 15, 2006 2:25 pm

Post » Tue May 08, 2012 8:19 pm

The description on the Nifopt Wiki page and what all it can do sounds most impressive, if not miraclulous. I have heard and read of this beast only now. Your results let me stay with PyFFI as well for the moment.

That NO runs much faster than PyFFI i consider not such a big deal. Sure, it's convenient. But there are always off-hours (with me) when the PC can keep running, like overnight or when being at work. Since these optimisations are one-time runs, I am not bothered that it takes a long time.

What I take away from reading the Wiki is that he advocates quite strongly in favor of using high compression BSA's. My credo so far has been that uncompressed BSA was faster. But maybe things do have changed with quad- and six-cores.

And who is the author of this Nifopt? I could not find a name on the Wiki.
User avatar
Carlitos Avila
 
Posts: 3438
Joined: Fri Sep 21, 2007 3:05 pm

Post » Tue May 08, 2012 6:49 pm

What I take away from reading the Wiki is that he advocates quite strongly in favor of using high compression BSA's. My credo so far has been that uncompressed BSA was faster. But maybe things do have changed with quad- and six-cores.
Yep me too, I have previously stuck with un-compressed BSAs, but after reading Ethatrons notes I went with crunching them as much as possible this time. When I zipped them all up as BAINs aswell, as I watched 7Zip trying to compress the BSAs even further, it could not gain very much at all, barely a couple of mb after all BSAs were packed into the 7zip, so Ethatrons methods of compressing the individual files, and the resulting BSAs, (which I believe uses routines from 7Zip aswell) did a pretty good job.

And who is the author of this Nifopt? I could not find a name on the Wiki.
Ethatron.

------------------

Got a few spare hours today, so next stage, decided to re-install all the NIFOpt BSAs created yesterday, but this time overwrite them with the two Meshes BSAs I had previously run through PyFFi 2.1.10 ...

http://www.bild.me/bild.php?file=9616239Untitled.jpg

So now in-game, went to re-visit those problems, first Quickwater Cave ...

Outside http://www.bild.me/bild.php?file=8899630ScreenShot339.jpg

Inside http://www.bild.me/bild.php?file=3416920ScreenShot340.jpg

No CTD's. Then went to have a look at NPC's, and a few other shots here and there ...

T.I.E added Imperial Marksman, talking http://www.bild.me/bild.php?file=8570838ScreenShot342.jpg

Mandil http://www.bild.me/bild.php?file=1726457ScreenShot345.jpg

http://www.bild.me/bild.php?file=1201256ScreenShot346.jpg

Leyawiin http://www.bild.me/bild.php?file=2289560ScreenShot347.jpg

Bravil http://www.bild.me/bild.php?file=8199924ScreenShot349.jpg (actually wish I could go back a bit in game here, there's something special about this statue I would like to see happen after NIFOpt has been let loose)

Chorrol http://www.bild.me/bild.php?file=3518448ScreenShot351.jpg

So I guess the only problem with NIFOpt for me at the moment is the meshes, there are obviously details from the PyFFi three part pass which NIFOpt needs for Oblivion files.

Going to keep this setup and keep running around for a while. I also intend to drop some of my replacers, because at the moment I am mostly vanilla apart from Male and Female bodies, but also have a few things like Bomrets Detailled Normal Maps in game, so I need to cut out a few replacers and experience all the vanilla files in the BSA which have passed through NIFOpt. That means all my land / lod / weather section of BAINs too .. But at least its easy to re-install afterwards with Wrye Bash.

If anything else comes up after that will post back, but probably a few days away now :smile:

Edit: I should also mention - I am using Medium Texture setting in-game on the laptop, not Large, so if my screenshots look a bit crap with what you would expect to see .. Now you know why.
User avatar
Carys
 
Posts: 3369
Joined: Wed Aug 23, 2006 11:15 pm

Post » Tue May 08, 2012 1:12 pm

Now with all vanilla from BSAs, found one more anomally - But it may not be NIFOpt to blame

Another mod I have taken out of the equation is AWLS, so I get vanilla windows too ..

Noticed this with Leyawiin Mages Guild http://www.bild.me/bild.php?file=3706311ScreenShot360.jpg

No other windows have the same problem that I have seen so far.

Went to Bravil to see if it affected other mages guild windows .. no http://www.bild.me/bild.php?file=8301775ScreenShot362.jpg

Then wondered if being set at Medium Textures (maybe its a mipmap thing with the NIFOpt processed textures), changed to Large textures ..

Same problem http://www.bild.me/bild.php?file=7940321ScreenShot363.jpg

I have still got the PyFFied meshes in place, so whether this is a Pyffi hiccup with just these meshes, or its a texture problem NIFOpt has generated ... Something else to look into.

The way it looks in game though, as you turn your view, the pink effect (usually indicative of something missing in the texture department - OBMM users who have dabbled with BSA Alteration instead of the safer BSA Redirection will recognize this problem), flickers. So looking at those same windows from one angle is fine, then turn left slightly .. Pink flickering. Its like theres a layer of the graphics for the windows missing.

Edit: Had a look at things like animated waterfalls too - No problems there ... I'm off to the Shivering Isles next.
User avatar
louise tagg
 
Posts: 3394
Joined: Sun Aug 06, 2006 8:32 am

Post » Wed May 09, 2012 12:47 am

... Lastly, will any of these work with Morrowind too? Thanks

BSAopt is a take-out from NIFopt, there is nothing in it which is missing in NIFopt.

NIFopt is still under observation. We are missing verification of specific issues, and that's rather slow without a modeller helping me and a possibility to find the exact NIFs which have problems. I'm willing to fix it all, that my promise in the first place, but I repeat myself I need some professional help ... :smile:

Morrowind meshes may work, textures are agnostic and fine, Morrowind BSAs don't work.

From what I have read, NIFOpt is a C++ tool which combines Pyffi and BSAOpt

An aspect of it is to be a replacement for PyFFI, yes.

EDIT: very weird...just experimenting with the textures folder and it processes fine till it hits a certain file and then crashes. I removed that file (tx comberry_p or something like that) and restart and it rolls without hitch for quick some time past that spot and hits another file then crashes. I figure there must be something about those specific image files it doesn't like. But considering its only about 1 in several thousand, I figure I can just take them out and anolyze what they have in common. Fun!

Can you give me a list of the exact filenames? Thanks

Ethatron has been very swift producing these utilities though, he seems to eat code for breakfast, maybe he would be open to making it compatible in a future version. But it may depend on if he owns the game too for the original BSAs to Morrowind, Tribunal and Bloodmoon.

And lunch and supper. :tongue:
I'll see, is there really such a demand? I mean my Morrowind consists of 1% BSAs, the rest 10000 files are loose.

I think the different gui and run options detailled on the site have become unnecessary, probably the site needs updating, and the whole package can now just be initialised by one gui or run bat (either x32 or x64 dependant on your OS)

I already backported the GUI-concept of BSAopt to NIFopt, so the next version will have the same GUI just with 500 options in the menu (because NIFopt has that much).

The compressed textures is taking a while to crunch, but after reading what he tries to do with textures (adding missing iterations of mipmaps where they are needed and pruning them when there are too many) its to be expected.

It also does re-mip them gamma-correct, that's what takes so long. Only pruning and complementing wouldn't take so long.

First up, one of T.I.E NPCs, Imperial Bladesman talking to me - His mouth does not move but I hear his voice. However instead of his mouth moving I see weird contortions of the face, a bit like Max Headroom having his glitchy moments http://www.bild.me/bild.php?file=8693903ScreenShot338.jpg
Notice also the amulet clipping into the clothing, and the horrendous neck seam.

Do you have the time to check with me that guy a while?

Decided to try some dungeons - Cave just north of cheydinhaal, step through the door - CTD.

Gobsmacked, I havent had a CTD since I dont know when. But too tired to investigate further, and with the speed of the CTD I dont think I will get chance to figure out what was loading in the cave to cause the CTD.

I just got the idea we may be able to use http://technet.microsoft.com/de-de/sysinternals/bb896645to see which NIF has been loaded last and then working through that list, which isn't very long I think. Otherwise we are (again) stuck ...
User avatar
Christine
 
Posts: 3442
Joined: Thu Dec 14, 2006 12:52 am

Post » Tue May 08, 2012 2:24 pm

Just swapped out the PyFFied meshes BSAs and re-installed all NIFOpt BSAs, for more testing ..

Do you have the time to check with me that guy a while?
Well it was ALL NPCs (not just a few), both male and female - So before seeing your above post I had already decided to un-install all my body mod setup (un-installed Robert Male and EVE and all associated modifications to the game) ..

So with just vanilla files from the BSAs which have been processed through NIFOpt = No more head problems
http://www.bild.me/bild.php?file=3736887ScreenShot368.jpg
http://www.bild.me/bild.php?file=3406975ScreenShot369.jpg

Which means - I can successfully use NIFOpt'ed meshes with a vanilla setup, but need PyFFi'ed meshes for use with Body mods.

I guess then that maybe all body mod files could also be given the same NIFopt treatment, if they are to be used with NIFOpt'ed BSAs.

Scary thought, considering the body mod creators have various techniques to get the close to perfect skin tone etc with different layers, colour designated in the mesh, texture and normal map all of which NIFOpt may alter...
and non-standard paths to textures defined in the meshes (how does NIFOpt determine a path as non existant) to avoid shared male / female body resource problems, or just to distinguish them from other body mod parts by different authors, eye meshes too which pull in custom textures from custom locations (espless mods) :ahhh:

I haven't read NIFOpt documentation thoroughly yet, so the above are just thoughts generated from remembering parts of it I skimmed.

I remember also reading about NIFOpt stripping Parallax out of textures, is that right? - The reason I ask is I also remember from texture sets like CorePC's Vibrant collection of textures, that a lot of work was put into using Parallax to advantage. I dont again fully understand this side of texturing so maybe there is no need for alarm bells there. But maybe using NIFOpt on such texture sets would be removing aspects that should not be ... Although if the intent is to optimize then it could be desired, if the user understands what is being done to those textures and what difference it would mean in-game.

I just got the idea we may be able to use http://technet.microsoft.com/de-de/sysinternals/bb896645to see which NIF has been loaded last and then working through that list, which isn't very long I think. Otherwise we are (again) stuck ...
:smile: Sending you a PM, with a link to a couple of runs with ProcMon logs - I have filtered out all processes not necessary, so they include all Oblivion entries, and I also let one of windows processes remain in the list so you can see where the AppCrash event was ..

I did two runs, creating new log for each. To find the AppCrash event, have a look at log 2 (just turn off capturing, clear screen, then load my log) - Then go down to Time 12 06 49 - You will find a similar event in log 1 (I didn't note the time though, but it should be near the end of the log .. just have to scroll back up through all the close process events)

Hope that helps :smile:

Edit: I will keep this setup if you want any more runs with ProcMon (and any tips for filter Includes / Excludes you want me to run with)

Edit2: Also popped back to Leyawiin Mages guild to check out those windows again (now that I have all BSAs NIFOpt'ed back in the game) - Still have the same problem there, so I think we can conclude that problem is not a meshes problem, and possibly NIFOpt'ed texture related .
User avatar
Blackdrak
 
Posts: 3451
Joined: Thu May 17, 2007 11:40 pm

Post » Wed May 09, 2012 2:37 am

Ethatron, now I have recovered from the celebrations .. Decided next stage was to have a look at body mods, step by step this is looking good

I still have all game original BSAs which have been processed with NIFOpt installed.

Realised that I have a bit more going on that can affect all NPCs, including the ones from T.I.E (T.I.E uses all vanilla resources, unless those resources are replaced)

Aswell as Robert Male v5 and EVE, I also use a cosmetic compillation - Cosmetic Compillation Revived (Capucine version), which can affect heads, eyes, hair and distribute them randomly throughout the games NPCs. It also gives more choice of hair and eyes at the player character generation stage ...

NIFOpt'ed CCR http://www.bild.me/bild.php?file=3992116CCR.png

You'll also notice in the above screen Robert Male v5 BAIN has had the treatment too http://www.bild.me/bild.php?file=1327680RobM-NIFOpt-Results.png

Results :smile: here ya go http://www.bild.me/bild.php?file=9930402ScreenShot371.jpg

So the problems with NPCs in posts above - Scratch those, NIFOpt is not to blame.

My own Player character has changed a bit, skin tone is not quite what it was on my Dark Elf - But I also realise that was bound to happen, and I have not fully re-installed a few other bits and pieces yet like age maps for instance which were in use before, and the skin tone can be tweaked again by using the console and adjusting sliders again in the race menu.

Next, all the female body files are being fed through it, nifs, textures .. the lot.

So I think the only thing to be of concern for you at the moment is the CTD reported above. I have also had one more CTD when entering Chorrol, (just after the screenshot of the Imperial Marksman above). But going to re-test for CTDs in the same areas after I have finished NIFOpt'ing all the mods I had installed before .. In case theres a missing mesh here and there at the moment.

Besides I have a feeling looking at those logs I sent earlier that the CTDs may be sound related.
User avatar
Lisha Boo
 
Posts: 3378
Joined: Fri Aug 18, 2006 2:56 pm

Post » Wed May 09, 2012 1:24 am

Thanks Ethatron for releasing such a great tool and thanks Alt3rn1ty for sharing your testing! :)
User avatar
celebrity
 
Posts: 3522
Joined: Mon Jul 02, 2007 12:53 pm

Post » Wed May 09, 2012 12:34 am

I had no problems with all the EVE female body mods processed, but I am now reverting to my stable setup - Running out of time to be doing hobby stuff.

Ethatron ...

Just tried NIFOpt'ing all my land and lod mods too after trying female body mods, including AWLS, RAEVWD and texture replacers, let it run overnight doing those and tried them in game with all the NIFOpt'ed BSAs installed .. Getting CTDs all over the place this morning.
I have re-run TES4LODGen for every run so far, and rebuilt Bashed Patch .. Trying to ensure there were no other loose ends to affect results.

Another PM sent with two more ProcMon logs, they are rather large but included a text with times of AppCrash to locate .. after fast travelling around CTDs now occurring before the new area has even got half way through loading - Hope they prove to be useful.

I have now re-installed my stable setup as it was before starting this, and alls well again.

Right, now for some serious defragging - Happy New Year all :bunny:
User avatar
Erich Lendermon
 
Posts: 3322
Joined: Sat Nov 03, 2007 4:20 pm

Post » Wed May 09, 2012 4:54 am

Hi Ethatron,

I'd suggest posting a "support request" both here and on the Skyrim forum.. expecially considering Skyrim's huge userbase, I'm pretty confident you'll find some suitable modeler eager to collaborate to finetune NifOpt!

Besides, such a tool deserves more widespread knowledge and this will benefit many!

Also, on my I5-750 Windows 7 64bit adding " +fullproc" (without the "" but with the empty space at the beginning) at the end of the Target field in the shortcut's properties I've created to run gui_x64.bat
(to make it clear, this is how it looks in my installation: C:\Games\Oblivion\Tools\NifOpt\gui_x64.bat +fullproc ),
makes NifOpt use full (95-100%) CPU power, while before it was using only 20-25%.. Maybe you could include the tip in your readme!

Keep up the amazing work :smile:

Edit: just took me 1 hour to deploy vanilla Texture bsa using fullproc+
User avatar
Solène We
 
Posts: 3470
Joined: Tue Mar 27, 2007 7:04 am

Post » Wed May 09, 2012 5:12 am

Hi Ethatron, possible bug report.

Fresh installation of vanilla Oblivion with deployed bsas: as soon prison cell loads, character falls through the floor (and keeps falling as soon lands on lower levels).

Replaced niftoptmized meshes folder with the original - everything back to normal.

I've used NiftOpt's default settings, let me know if any further infos could be useful, thanks!
User avatar
Kate Murrell
 
Posts: 3537
Joined: Mon Oct 16, 2006 4:02 am


Return to IV - Oblivion