FAForever Forums
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Login
    The current pre-release of the client ("pioneer" in the version) is only compatible to itself. So you can only play with other testers. Please be aware!

    process affinity

    Scheduled Pinned Locked Moved Game Issues and Gameplay questions
    4 Posts 2 Posters 226 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G Offline
      goblinsly2
      last edited by

      Hello, in my logs it says "info: Process - Failed to update the process affinity, this may impact your framerate". Any idea why and how to solve it ? game_22083238.log

      1 Reply Last reply Reply Quote 0
      • JipJ Offline
        Jip
        last edited by

        The warning originates from here:

        if SetProcessPriority and GetProcessAffinityMask and SetProcessAffinityMask then
        
            -- priority values can be found at:
            -- - https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-setpriorityclass
            local success = SetProcessPriority(0x00000080)
            if success then
                LOG("Process - priority set to: 'high'")
            else
                LOG("Process - Failed to adjust process priority, this may impact your framerate")
            end
        
            -- affinity values acts like a bit mask, we retrieve the mask and 
            -- shift it if we think there are sufficient computing units
            local success, processAffinityMask, systemAffinityMask = GetProcessAffinityMask();
            if success then
                -- system has 24 (logical) computing units or more, skip the first two computing units and all cores beyond the first 24. We need 
                -- to do this because of floating point imprecision - we simply can't deduct a few digits to prevent using the first two cores
                if systemAffinityMask >= 16777215 then
                    processAffinityMask = 16777212 -- 2 ^ 24 - 3 - 1
        
                -- system has 6 (logical) computing units or more, skip first two computing units
                elseif (systemAffinityMask >= 63) then
                    processAffinityMask = systemAffinityMask - 3 -- (2 ^ 6 - 1) - 3
                end
        
                -- update the afinity mask
                if processAffinityMask != systemAffinityMask then
                    local success = SetProcessAffinityMask(processAffinityMask);
                    if success then
                        LOG("Process - affinity set to: " .. tostring(processAffinityMask))
                    else
                        LOG("Process - Failed to adjust the process affinity, this may impact your framerate")
                    end
                else
                    LOG("Process - Failed to update the process affinity, this may impact your framerate") <-------------------------
                end
            else
                LOG("Process - Failed to retrieve the process affinity, this may impact your framerate")
            end
        else
            LOG("Process - Failed to find process priority and affinity related functions, this may impact your framerate")
        end
        

        What CPU do you have, and do you use software to adjust the affinity manually?

        A work of art is never finished, merely abandoned

        1 Reply Last reply Reply Quote 1
        • G Offline
          goblinsly2
          last edited by

          i have i5 2500k, i dont use any software to adjust it manualy

          1 Reply Last reply Reply Quote 0
          • JipJ Offline
            Jip
            last edited by

            Oh, that makes sense then - the CPU has only 4 cores and then this feature is disabled. The feature disables the first core because the first core is also used by a lot of other processes. This may cause stutters. But it is only enabled when the CPU has at a minimum of 6 or more cores. The reason for that is simple: if you have 4 and you drop one then 3 may not be sufficient to run the game smoothly at all.

            In your case, the warning is meaningless in my opinion 🙂 .

            A work of art is never finished, merely abandoned

            1 Reply Last reply Reply Quote 0
            • First post
              Last post