Multithreading

Would it at all be possible to make xMesh multithreaded? Like maybe perhaps process and write several frames at the same time? I understand some of it is a limitation to Max modifiers but if you have the option to write several frames at the same time that should put each frame on one thread right?

Not as easy as it sounds.

You can already do this using Deadline using separate copies of Max to process a sub-set of frames. This has the drawback of not being able to reference a previous frame from the other segment even if topology is not changing. For example, if you have a fixed topology over 100 frames, but save 1-10 on one machine, 11-20 on another and so on, frames 1, 11, 21 etc. will be saved completely with a duplicated face list. Saving the same in one go would produce only one face list on frame 1.

Even if Max would allow us to process multiple frames at the same time (which I think it does not), you would have no way to optimize the frames and it would potentially take longer to save due to more files being saved than needed…

I think we are attempting to use multi-threading to read and write individual data files of a single frame. I am pretty sure we do that for reading, Paul will have to comment about the writing… But there will be some bandwidth limitation I assume…

I believe the issue is with the max scene pipeline. It is single threaded. You can see this in the scene setup stage of most renderers in max.