Jump to content

DOWNLOAD MODS

Are you looking for something shiny for your load order? We have many exclusive mods and resources you won't find anywhere else. Start your search now...

LEARN MODDING

Ready to try your hand at making your own mod creations? Visit the Enclave, the original ES/FO modding school, and learn the tricks of the trade from veteran modders...

JOIN THE ALLIANCE

Membership is free and registering unlocks image galleries, project hosting, live chat, unlimited downloads, & more...

What`s this thing called PyFFi


donnato
 Share

Recommended Posts

Ok folks lately I`ve heard talk of folks PyFFi`ing their files. When I right click a file/folder, there`s an option that says "optimise with PyFFi"....! I ave n knowledge of this and the wiki`s are amazingly confusing to me.

So, my question is:

1..what does it really do?

2..Why does it help?

3..Is it worth it..?...and if so..

4..how do I use it...and when?

Thank you folks.

Link to comment
Share on other sites

PyFFI stands for Python File Format Interface. There are several things that it can do apparently, although I've never used them. I would say it's most common feature is it's ability to optimize meshes. This is what is meant when someone talks about "PyFFIing" their meshes. It can only optimize meshes - i.e. NIF files, not textures.

There are a lot of people that swear by it and have actually extracted all of the vanilla meshes from the archives (BSA files) and optimized them. I haven't gone that far, but I always PyFFI the meshes in my mods.

It doesn't hurt and is supposed to improve performance. The easiest way to do it is to copy all the meshes you want to optimize to the In folder in your PyFFI folder - usually utilities\toaster\in under your PyFFI folder. Then you just right click on the obivion_optimize.ini file in the toaster directory and select Run PyFFI. It will chug away and copy all the optimized meshes to the out folder.

You should optimize any meshes you distribute as part of any mods you create. If you do, you should mention it in the readme so players know they don't have to. If you are using a mod that has a lot of meshes, it might be worth doing if the author hasn't done so already. And you can try doing it for the vanilla meshes too and see if you do get a little better performance out of the game.

Edited by AndalayBay
Link to comment
Share on other sites

Python File Format Interface. Or some such nonsense of that nature.

What it does is optimize meshes. Removes redundant info, vertices that you will never see, etc. Its a performance booster for oblivion meshes. Not having to render all that crap that you can't see anyway, reduces system load. (personally, I think that the engine has a major flaw in it, in that it renders EVERYTHING in line of sight, whether you can see it, or not.....)

If you have it, and are unsure when it showed up, I would update to the latest and greatest version before using it. It has gotten a LOT easier to use lately.... and I think tomlongs site has a good walkthru for it. Have a look, see what ya think. If you have marginal game performance now, it would prolly be worth doing. Keep in mind though, its time consuming...... :D

Link to comment
Share on other sites

Yup...in the console it states very clearly that I should back up the files...and I do. thanks HY.

Also I`m not getting any options here. I right click on a file...any file game or not and I get an option to optimize with PyFFi. I did so with a mod mesh file(after backing up) the console cane up with a Y...or..N option. I hit Y and in a flash all the entries in the file flash by...the box closes and it`s done...I guess...

Edited by donnato
Link to comment
Share on other sites

Yup...in the console it states very clearly that I should back up the files...and I do. thanks HY.

Also I`m not getting any options here. I right click on a file...any file game or not and I get an option to optimize with PyFFi. I did so with a mod mesh file(after backing up) the console cane up with a Y...or..N option. I hit Y and in a flash all the entries in the file flash by...the box closes and it`s done...I guess...

Yes, it's done what it needed to do.

I've actually never tried it myself, a little intimidated by it I guess. My game runs fine, I see no dire need to do this. I guess it's nice to know modders do this for their mods as another way to make it "clean".

Oh, and now there's this - the Optimization Kit, that quadruple optimizes. It sounds easy enough to use.

Link to comment
Share on other sites

Python File Format Interface. Or some such nonsense of that nature.

What it does is optimize meshes.

well it does do that but it does much more... It has 72 spells that it can run on nif/kf files... of course there is some duplication in there like optimize runs 6 or so of those... of course 99.9% of mod users will only ever be interested in optomize (and related spells such as optimizing far nifs - but those are nicely done by Ulrims new batch script to run PyFFI I understand), and 95% of modders probably won't ever be interested in the other spells but a lot of them are actually very useful... really my favourite one is modify_makefarnif; it is does everything except decrease vertices much to make a perfect far nif...

<end somewhat random rant about the great PyFFI... I blame my sinus infection if it is incoherent and boring>

Paciifc

Link to comment
Share on other sites

FYI, those "redundant vertecies" it removes are the sharp edges on your models, so unless you want a weirdly shades mesh, running them though that is NOT a good idea. You may gain performance, but you lose quality.

Like this:

My link

See all the defined edges? PyFFI would merge all overlapping vertices and those defined edges would be gone.

You would effectivly be turning this into this

Link to comment
Share on other sites

Having run all meshes used in my game through the process, I have yet to see anything that lost visual quality in the process of having duplicate vertices removed. The performance benefit is substantial and far outweighs the slim possibility you might end up with something that doesn't look quite right.

Link to comment
Share on other sites

Wow, thank you all so much. There is alot of really good info here from all of you. Enough so I can...with caution...experiment to see just how,when, and why to use this. From what you`ve all said I don`t expect any unusual dificulties, but, after wise counsel must proceed with care. I`ll be looking forward to checking out Ulrim`s kit too.

Thank you all again and I`ll post here with any odd or unusual results...andof couse successes. :pints:

Link to comment
Share on other sites

I have no idea how having duplicated vertexes makes something sharp, or how removing them would make it smooth. All that stuff is normals/smoothing groups, I thought.

Does pyFFI remove anything that we can't do by hand when modeling? I always make sure to keep my models clean and optimized, so should I bother to pyFFI them after I'm done?

Link to comment
Share on other sites

I may be wrong about this but I think if you're using Blender and have the most recent PyFFI + Blender Nif Scripts, it already performs the necessary optimizations when you export the mesh.

If you're using 3DS Max, then I'm given to understand you need to run PyFFI to clear the mesh properly after you've done whatever you need to do to it in nifskope first.

I don't know if the kind of optimization it does could be done by hand, you'd probably want to ask Amorilia about that in the official PyFFI thread.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...