• DacoTaco
    link
    fedilink
    English
    21 year ago

    If it has that bad of a cpu affinity, and barely using 4 threads, i wonder why its hitting 100% on my 4 core 4th gen i5 and it has 47 threads… :')

      • DacoTaco
        link
        fedilink
        English
        01 year ago

        Why should it? It runs 60fps at ease with a better system And no, not a typo (Trying to add a screenshot, but liftoff is acting weird)

          • DacoTaco
            link
            fedilink
            English
            1
            edit-2
            1 year ago

            Im a developer, and ive written a thread scheduler for an os, i know what threads are :')
            The game has 47 threads, which you can verify in task manager. What you are thinking of is how many threads the cpu can process in parallel, which is indeed 4 on my cpu and nowhere before was it said you were talking about cpu “cores” ( or cpu threads like you call them )

            However, like i said, the game runs perfectly on my system and my friends’ so the engine and windows seem to balance the priority and timings of those 47 threads just nicely here, even past act 2, and i dont see why it would need to use more cpu cores to process… Nothing. Adding more threads and using more cpu cores does not always mean faster processing of data…

              • DacoTaco
                link
                fedilink
                English
                1
                edit-2
                1 year ago

                Look, this is the last time ill reply to you because weve deviated far from the original topic.

                There is only 1 definition of a thread. A thread is a piece of code that is executed on a processor, and which contains the state of a processor and its registers ( where in memory it was executing, memory locations, stack, state of the function it was executing,… ). Which thread gets executed is for the operating system to decide depending on several things ( priority or affinity as its called in windows , type of thread, what layer of the os requests time etc etc ).

                Source : https://en.wikipedia.org/wiki/Thread_(computing)

                There is , at its core, no such thing as a “cpu thread”. This is marketting speak to indicate how much threads a cpu can processes at the same time. Depending on the operating system’s scheduler, the processor and the type of instruction it needs to process, a cpu could processes 16 threads at the same time on a 8 core/16thread cpu so its constantly using everything of a cpu. However, if 2 or more threads are doing similar instructions it is possible a thread has to wait for the other to process despite them not having anything to do with each other. Thats on the processor’s scheduler to decide btw.

                Source : https://en.wikipedia.org/wiki/Hyper-threading

                Adding more threads to the os’ thread queue isnt magically going to make things faster. Take a look at dolphin’s thread and core usage. They have ( used to?) be against adding more threads to the emulator because it made 0 sense to do so, despite some games running slow. This resulted in dolphin at one point using 2 cores 100% on a quad core cpu, while 2 were doing nothing. Just because adding threads that would 90% of the time do nothing was a waste of resources and processing time.

                Source : https://forums.dolphin-emu.org/Thread-multi-thread-explanation

                I have a feeling you dont understand how this stuff works, as you have given me nothing of proof, details or anything of how any of this works. Have you profiled the game? Checked gpu busy vs cpu busy? Looked beyond the cpu % usage? Checked on different hardware?