[info][relz] PyFFI - Python File Format Interface

Post » Fri May 20, 2011 12:34 am

Are you using 2.1.5, H2Odk?
User avatar
Eliza Potter
 
Posts: 3481
Joined: Mon Mar 05, 2007 3:20 am

Post » Thu May 19, 2011 11:10 pm

Yes, but I have a test build installed atm.
User avatar
Carolyne Bolt
 
Posts: 3401
Joined: Mon Jul 10, 2006 4:56 am

Post » Fri May 20, 2011 1:39 am

Oh, I think I know why it isn't writing out to the "out" folder. I have UAC enabled. What should I give administrator privileges to in order for this to work?
User avatar
Marlo Stanfield
 
Posts: 3432
Joined: Wed May 16, 2007 11:00 pm

Post » Fri May 20, 2011 11:40 am

Oh, I think I know why it isn't writing out to the "out" folder. I have UAC enabled. What should I give administrator privileges to in order for this to work?
User avatar
NeverStopThe
 
Posts: 3405
Joined: Tue Mar 27, 2007 11:25 pm

Post » Fri May 20, 2011 7:52 am

Oh, I think I know why it isn't writing out to the "out" folder. I have UAC enabled. What should I give administrator privileges to in order for this to work? There's no .exe.
User avatar
Emmanuel Morales
 
Posts: 3433
Joined: Sat Oct 06, 2007 2:03 pm

Post » Fri May 20, 2011 10:33 am

I would reinstall PyFFI, and install it to C:\PyFFI\ or similar
User avatar
katsomaya Sanchez
 
Posts: 3368
Joined: Tue Jun 13, 2006 5:03 am

Post » Thu May 19, 2011 10:26 pm

Whoa! Sorry about the triple post. I thought my internet was fooked. Sorry.

EDIT:

Yeah, that was the problem. UAC. I've decided to keep it enabled this time.
User avatar
Elizabeth Falvey
 
Posts: 3347
Joined: Fri Oct 26, 2007 1:37 am

Post » Fri May 20, 2011 8:20 am

set python.exe and wpython.exe to have administrator (not really safe cause then any python script can have full system access)

or modify the pyffi folder to be write and modify access on your user account (ie: right click > properties > security > Users > edit > Users > check modify & write
User avatar
Kirsty Wood
 
Posts: 3461
Joined: Tue Aug 15, 2006 10:41 am

Post » Fri May 20, 2011 2:18 am

set python.exe and wpython.exe to have administrator (not really safe cause then any python script can have full system access)

or modify the pyffi folder to be write and modify access on your user account (ie: right click > properties > security > Users > edit > Users > check modify & write


I just installed it in a different directory. Thanks though.
User avatar
Craig Martin
 
Posts: 3395
Joined: Wed Jun 06, 2007 4:25 pm

Post » Fri May 20, 2011 12:45 am

I optimizing vanilla meshes with Pyffi Automation and have a few questions. Taking into account latest version of Pyffi its still unsafe to process creatures and clothes meshes? What app should I use to pack optimized meshes into bsa so game will read it without problem? OBMM is ok? What level of compression used in vanilla bsas? How much prerfomance in fps I will gain with optimized meshes? No doubt I will gain some. Especially with duplicated vertices removal and lesser nif size, but how much?
User avatar
Jonathan Windmon
 
Posts: 3410
Joined: Wed Oct 10, 2007 12:23 pm

Post » Thu May 19, 2011 10:48 pm

I optimizing vanilla meshes with Pyffi Automation and have a few questions. Taking into account latest version of Pyffi its still unsafe to process creatures and clothes meshes? What app should I use to pack optimized meshes into bsa so game will read it without problem? OBMM is ok? What level of compression used in vanilla bsas? How much prerfomance in fps I will gain with optimized meshes? No doubt I will gain some. Especially with duplicated vertices removal and lesser nif size, but how much?

My method:
- Copy vanilla BSA to another drive
- Extract vanilla BSA to temp folder with OBMM
- Navigate to temp folder and right click on the Meshes folder, Optimize With PyFFI
- Repack the temp folder with OBMM, no compression, and save back into Data folder

Can't give you numbers,but it is noticeable and definitely worth doing. :goodjob:
User avatar
Jarrett Willis
 
Posts: 3409
Joined: Thu Jul 19, 2007 6:01 pm

Post » Fri May 20, 2011 12:16 am

- Navigate to temp folder and right click on the Meshes folder, Optimize With PyFFI

Do you have any problems after optimizing them all?
User avatar
Charles Weber
 
Posts: 3447
Joined: Wed Aug 08, 2007 5:14 pm

Post » Fri May 20, 2011 12:27 am

Do you have any problems after optimizing them all?

None so far. oblivion_optimize.ini skips any problem files (.egm etc)

Edit: My view is that I have the originals backed up so if I do see some funky meshes I can fix them. In the mean time the gains are good. I first used PyFFI when I played on an old laptop. Whenever I went into The Fighting Chance, something behind the counter dropped FPS to 1 (I could walk in backwards as far as the basemant door and hope Rohassan came over to serve me but as soon as the weapon rack behind the counter came into view... 1. After PyFFiing I was back to 15 (good). Also a harvest chest from OOO... whenever I looked at one... etc
User avatar
Eduardo Rosas
 
Posts: 3381
Joined: Thu Oct 18, 2007 3:15 pm

Post » Fri May 20, 2011 2:52 am

Whenever I went into The Fighting Chance, something behind the counter dropped FPS to 1 (I could walk in backwards as far as the basemant door and hope Rohassan came over to serve me but as soon as the weapon rack behind the counter came into view... 1. After PyFFiing I was back to 15 (good). Also a harvest chest from OOO... whenever I looked at one... etc

Oh wow. Thats a major improvement. Do you optimize meshes from all mods as well?
User avatar
Ezekiel Macallister
 
Posts: 3493
Joined: Fri Jun 22, 2007 12:08 pm

Post » Fri May 20, 2011 2:54 am

Oh wow. Thats a major improvement. Do you optimize meshes from all mods as well?

Bear in mind it was s**t laptop but there's really no reason not to...

Yes, I clean and PyFFI (almost) all mods. I use BAIN to install and modify the archive so that I can fall back on the originals in case of problems (still none so far) :celebration:

AFAIK there is no danger in PyFFIing meshes which have already been done. All it takes is time...

:foodndrink:
User avatar
rae.x
 
Posts: 3326
Joined: Wed Jun 14, 2006 2:13 pm

Post » Fri May 20, 2011 4:11 am

IMO the skip list in oblivion_optimize.ini actually has some problems when used on non-vanilla meshes.

1. It is case-sensitive, this can cause PyFFI to not skip files that probably should be skipped (mostly hairs, hoods and helmets)
2. It will match any part of the path and/or filename, this can make it skip files that can be optimized. (eg. it will skip any files that has a path named "brotherhood")

Both are not problems if used in combination with regex.

I am working on a better skiplist, but have not played enough with the meshes that I optimized to recommend general use of it. It is also split in two, so people would have to run PyFFI twice. For anyone interested here are the ini's I use.

oblivion_optimize_1.ini
[main]; run optimize spellspell = optimize[options]; any patterns of files that should be skipped; regex expressionsskip = (?i)(?

oblivion_optimize_2.ini
[main]; run optimize spellspell = optimize[options]; any patterns of files that should be skipped; regex expressionsskip =(?i)AQSpout[.]nif; only run on files with these patternsonly = (?i)gnd[.]nif$ (?i)meshes.clutter

The AQSpout.nif entry is there because it caused mopper.exe to crash when I ran the PyFFI test builds.

Compared to the normal skip list, running PyFFI with these will optimize eg. "chair", "beardedaxe" and "brotherhood", also any "*gnd.nif" mesh, and all clutter meshes. These should all be safe to optimize, but as I said I have not tested it enough to be sure.

It will also skip eg. "Hair", "Helmet" and "Hood".

There are still some meshes that it skip, that I suspect could be optimized. eg. some creature meshes with "hair" in the filename.

When I optimized my current install, it made PyFFI skip 472 nifs out of 31,324 nifs (in additon to any .nif that had a .egm or .tri associated), most where helmets, hoods and hairs. Mods installed include All Natural, Artifacts, Better Cities, full FCOM, all UL, EVE and all DLCs.
User avatar
Lizzie
 
Posts: 3476
Joined: Sun Nov 19, 2006 5:51 am

Post » Fri May 20, 2011 2:01 am

Just found this -
The original Meshes BSA contains files with leading spaces. After PyFFI-optimizing the extracted meshes, repack the folder that the optimized meshes are in, directly. Do not move them; otherwise, the name will be altered.

Is that true? Because I need to move them to the copy of unpacked bsa folder for repacking.
User avatar
WYatt REed
 
Posts: 3409
Joined: Mon Jun 18, 2007 3:06 pm

Post » Fri May 20, 2011 12:06 am

Just found this -
Is that true? Because I need to move them to the copy of unpacked bsa folder for repacking.

As far as I know it is a Vista\Win7 Windows Explorer "feature". If you use that, you can copy them via the commandline.
User avatar
Paula Rose
 
Posts: 3305
Joined: Fri Feb 16, 2007 8:12 am

Post » Fri May 20, 2011 10:23 am

Aha, ic. I use XP. Just tried to move them and it works fine - leading space remains.
User avatar
Far'ed K.G.h.m
 
Posts: 3464
Joined: Sat Jul 14, 2007 11:03 pm

Post » Fri May 20, 2011 3:12 am

The AQSpout.nif entry is there because it caused mopper.exe to crash when I ran the PyFFI test builds.

That's odd. I'll take a look at it.

There was definitely something wrong with the collision, that could explain why the mopper crashed. Could someone verify that this one does not cause any problems: http://www.sendspace.com/file/y6nok0
User avatar
The Time Car
 
Posts: 3435
Joined: Sat Oct 27, 2007 7:13 pm

Post » Fri May 20, 2011 7:08 am

That's odd. I'll take a look at it.

There was definitely something wrong with the collision, that could explain why the mopper crashed. Could someone verify that this one does not cause any problems: http://www.sendspace.com/file/y6nok0

It works, does not cause a crash :)
User avatar
Casey
 
Posts: 3376
Joined: Mon Nov 12, 2007 8:38 am

Post » Fri May 20, 2011 9:16 am

Optimization process takes really lot of time. :violin:
I've seen that with Python 2.6 PyFFi has increased perfomance and decided to check latest stable Python version - 3.1.2 and I have errors with PyFFI Automation Utility. No idea if its Utility error or PyFFi itself. Here's the output_log.txt of Automation Utility:
Pyffi Fail - D:\Oblivion - Meshes\meshes\marker_error.nif
Pyffi Fail - D:\Oblivion - Meshes\meshes\architecture\chorrol\interior\chorrolhousemiddle06interior.nif
Pyffi Fail - D:\Oblivion - Meshes\meshes\architecture\chorrol\interior\chorrolhousemiddle07interior.nif
After I just stopped it.

So I'm getting 2.6.6 version of Python now, and if it will fail too, then back to 2.5. :(

What version of Python you use, guys?
User avatar
Vera Maslar
 
Posts: 3468
Joined: Wed Sep 27, 2006 2:32 pm

Post » Fri May 20, 2011 4:49 am

I'm using 2.6.5, the one installed by the Wrye Bash Python package. It works for me, and I just let it run overnight so speed is not that important for me.
User avatar
Brandon Wilson
 
Posts: 3487
Joined: Sat Oct 13, 2007 1:31 am

Post » Fri May 20, 2011 2:10 pm

Using 2.6.5, because that's what Wrye Bash likes. 2.6.6 did something funky and Bash hates it, 2.7 is incompatible, and 3.x hasn't even been considered yet.
User avatar
Crystal Clarke
 
Posts: 3410
Joined: Mon Dec 11, 2006 5:55 am

Post » Fri May 20, 2011 3:54 pm

Looks like that it have errors on same meshes with 2.6.6 and 2.5. So, it works as intended in 3.1.2 then. :)

Using 2.6.5, because that's what Wrye Bash likes. 2.6.6 did something funky and Bash hates it, 2.7 is incompatible, and 3.x hasn't even been considered yet.

I'll install Wrye Bash Python package after this major optimization, so its not a big deal. But for now I need best possible speed increase for PyFFi. Actually not a fact that 3.1.2 will be faster than 2.6.5, but who knows. If PyFFi has support for it, then why not.

UPD: Damn. Looks like with 3.1.2 Pyffi fails all the time. Better reinstall 2.6.

P.S.:
pyffi.toaster:WARNING:Found an insane amount of 39474 triangles in geometry: consider simplifying the mesh or breaking it up in smaller parts.
Thats what log gives me for Meshes\meshes\architecture\chorrol\interior\chorrolhousemiddle06interior.nif and Python 2.6.6 (must be same with 2.5)...
Same result for Meshes\meshes\architecture\chorrol\interior\chorrolhousemiddle07interior.nif:
pyffi.toaster:INFO: removing duplicate vertices
pyffi.toaster:INFO: (num vertices was 19230 and is now 16437)
pyffi.toaster:WARNING:Found an insane amount of 32906 triangles in geometry: consider simplifying the mesh or breaking it up in smaller parts.

Good thing in PyFFI Automation Utility that it always checks for size of optimized nif. If its bigger than vanilla (my multiplier is set to 1 (default is 0.975) then it skips it. But I guess fail optimization is reported by PyFFi itself. So I have alot of skipped nifs, but only 3 erroneous nifs so far. Therefore Automation Utility is a must have if you dont want to let Pyffi make worser result than vanilla nif. And of course support for multicores and resume support after crash or closing the utility makes it must have even more. But most important feature is a comparsion of optimized and vanilla nifs of course.
User avatar
Nicole Kraus
 
Posts: 3432
Joined: Sat Apr 14, 2007 11:34 pm

PreviousNext

Return to IV - Oblivion