MCMT

MCMT

95.3k Downloads

(Config & Documentation) Setting to blacklist certain threads of the CPU

Mjrlun opened this issue ยท 5 comments

commented

This would be especially useful for how optifine likes to use the 6th core (on a Ryzen 5 3600) specifically (from top-left to bottom-right, see image) for rendering.*
Elsewise, better documentation within the config file would be useful, because the use of core as opposed to thread is used interchangeably (which is not correct). A core will equal one thread, if the CPU is not multithreaded. However, if this is the case, 1 core = 2 threads.

*(only applies to the r5 3600 to my knowledge, mileage might vary)
image_2021-05-15_180057

commented

What CPU is used etc is handled by OS itself. It is better to stay that way. The thing you can do is decrease threads used by MCMT in config if you really need it.

commented

Doesn't the OS handle what cores threads run on...?

And rendering happens on the GPU, not the CPU (unless you have no GPU).

commented

If you read my suggestion, I'm asking the ability to blacklist certain CPU threads because of this issue. I asked nothing more.

commented

Yea, but that's not how that works.

commented

I'm sorry but this is not possible to implement as there is no JVM wide standard that would let me perform thread pinning/process affining/etc,

My advice would be to edit the mod settings to be to

paraMaxMode = "Reduction"
paraMax = 1

That will always leave a thread free which will make sure the render thread can always schedule itself. I can also try and add a thing that will try to increase the priority of the render thread.