Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: converter on dual core (Read 2492 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

converter on dual core

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

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?

converter on dual core

Reply #1
Could foobar2000 eventually create sparse files on an estimated size, allowing multiple processes and eliminating fragmention?
Can't wait for a HD-AAC encoder :P

converter on dual core

Reply #2
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.