Help - Search - Members - Calendar
Full Version: converter on dual core
Hydrogenaudio Forums > Hosted Forums > foobar2000 > Support - (fb2k)
HydroFred
When converting multiple files, foobar launches n converting processes at the same time (n being the number of cores). But this fragments the hard drive and distorts the order of the files in the file system. That's why I would like foobar to only start 1 process at a time. Is there such an option?

I read about a trick where you set the affinity in the task manager. The problem is that I DO want to use multiple THREADS (lancer sse3mt) but only ONE process. If I disable one core for foobar, the sse3mt build is even slower than the sse3 non-mt build because only one core is used sad.gif

Now I have come up with a trick that works, but this is very cumbersome:

1. set affinity to one core
2. select files, right click, convert, convert to...
3. configure settings and press ok

you are now asked to select the destination directory!

4. set affinity to all available cores
5. click save

It would be really nice if there was a real option "number of converting processes" that I could just set to one. Is there such an option?
odyssey
Could foobar2000 eventually create sparse files on an estimated size, allowing multiple processes and eliminating fragmention?
Freaky
QUOTE(odyssey @ Oct 2 2007, 15:31) *

Could foobar2000 eventually create sparse files on an estimated size, allowing multiple processes and eliminating fragmention?


Probably not. A command line encoder would either blat the file or complain, and just making a sparse file probably doesn't reserve any space; it's just.. sparse, only part of the space is allocated, unless they work much differently in Windows compared with *nix, or NTFS's block allocator uses them as hints for where to put potential future blocks.

The quickest way of making sure fb2k serializes without it being configurable in fb2k itself is probably by having it run all command line encoders (and only use command line encoders) through a serializing tool; make and lock a statically named tempfile, and wait until said lock can be acquired before spawning off the real command. This should be a 5 minutes job for anyone with a C compiler, and should be easily doable in VBScript and probably even a batch file.

Even doing this I expect NTFS will find a way of fragmenting everything, so I'd be surprised if you really win much.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.