Announcement

Collapse
No announcement yet.

New CPU - 12900KF do not render all cores

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Hi,

    We just mounted an i9 12900K on win10 pro x64 with last max 2022 and v-ray5
    Exact same problem.

    We don't have this problem with different stress tests or rendering into Blender, just 3dsmax+V-Ray.

    We won't switch to windows 11 for different reasons, so it there a fix actually ? Bios setting, windows update or such ?

    Edit: interesting info here: https://www.techpowerup.com/review/a...ormance/7.html

    Your first option to fix workloads executing on E-cores is to check if your software vendor has released an update to their software which makes it Alder Lake Hybrid core architecture aware. We're convinced that in the coming weeks and months, all major software vendors will improve Alder Lake support in their software. The Windows operating system includes several APIs that are not exclusive to Windows 11 and let software developers provide hints to the operating system regarding thread scheduling. Intel's Alder Lake Developer Guide has more information on that.
    So it seems this isn't Windows 11 only, but V-Ray 12th generation awareness.

    Edit2: I set 3dsmax.exe process affinity to first 16 cores only, all 16 are 100% and no e-cores used now. So it seems it is V-Ray which has to tell the OS that it isn't a background application ?
    Last edited by KiboOst; 23-03-2022, 01:48 AM.

    Comment


    • #17
      V-ray in DCCs will set its priority to lower, so to not hog the host on core 1.
      This, coupled with the win10 scheduler, means those intel cpu decide to run on the non-performance ones.
      The same issue is also present in Corona under Max, and not present in the v-ray benchmark, as that starts with a high priority by design.
      The fix you implemented is one of the possible ones, another possible one is to set the max priority to high, and another still (albeit more convoluted) is to render with standalone (that is set to normal priority by default).
      We can't revert the priority within max, unfortunately, as that would lead to other issues.
      Last edited by ^Lele^; 23-03-2022, 09:04 AM.
      Lele
      Trouble Stirrer in RnD @ Chaos
      ----------------------
      emanuele.lecchi@chaos.com

      Disclaimer:
      The views and opinions expressed here are my own and do not represent those of Chaos Group, unless otherwise stated.

      Comment


      • #18
        Hi,

        Even setting max process to high doesn't trigger p-cores. And even a sysInfo.MAXPriority = #aboveNormal make windows freezing once we hit render.

        Do you think a windows 10 update could provide better behavior ? Or a V-ray update, using maybe SetThreadInformation() seen here: https://www.intel.com/content/www/us...-1-8-undefined ?

        I have now a second machine and will test different scenarios on this one. Let's keep in touch for a better solution.

        Comment


        • #19
          The safest way is definitely setting affinity (priority worked at some point, but who knows if it will specifically.).
          You can use something like Prio to have that stick between sessions.
          Reading from our bug tracker, there could also be compatibility flags for windows 10 in the PC bios. Long shot, but hey.

          The devs did look into this and found no feasible solution from the code side, as the problem sits with the windows 10 scheduler, and we need the processes priorities as they are.
          I'll poke them again about this.
          Last edited by ^Lele^; 24-03-2022, 01:35 AM.
          Lele
          Trouble Stirrer in RnD @ Chaos
          ----------------------
          emanuele.lecchi@chaos.com

          Disclaimer:
          The views and opinions expressed here are my own and do not represent those of Chaos Group, unless otherwise stated.

          Comment


          • #20
            Hi,

            Have tested many things, script, process priority, afinity, vray numthread, bios etc ...

            Only way is to disable e-cores, either in bios or with 3dsmax.exe affinity !

            Ah wait ! No ! Ahah got it !!

            So, windows 10 pro x64, max2022, Vray5.2 latest, core i9 12900K =====> full 24 cores full power

            Just disable fucking windows powerthrottling for max !!

            Code:
            powercfg /powerthrottling disable /path "C:\3dsMax2022\3dsmax.exe"
            That's all folks !

            Edit: the powercfg command is per-user basis, so run it with the user using max, not as local administrator account.
            Last edited by KiboOst; 24-03-2022, 05:34 AM.

            Comment


            • #21
              Boom!
              Well done!

              Update: While the above fix has been tested and it works, our official stance, as suggested by Intel themselves, is to move to Windows 11 and its better thread scheduler.
              As such, it should be clear that using the above command is done at your own risk.
              Last edited by ^Lele^; 21-04-2022, 06:47 AM.
              Lele
              Trouble Stirrer in RnD @ Chaos
              ----------------------
              emanuele.lecchi@chaos.com

              Disclaimer:
              The views and opinions expressed here are my own and do not represent those of Chaos Group, unless otherwise stated.

              Comment


              • #22
                @KiboOst

                Thanks for the info can't wait till my render finishes so i can try this method....

                I have had the same problem and found a different solution tho yours does seem simpler.

                I'm using process lasso (free software) to set my affinity and priority according to applications (you can do this with task manager, but then u have to set it up every time you open the software... this does it automatically)

                Settings

                Software: Max 2021 V-Ray 5
                CPU: i9-12900
                Priorty: Normal
                Affinity: assigned all 16 P-Core threads and unassigned all E-Cores.

                FYI if you are using DR you need to apply these settings to Vrayspawner too!

                For some reason I cannot get the E-Cores to engage at all.. if I assign even one E-Core all the P-Cores go idle.... I'm assuming installing Win 11 will fix this.... but.... yick. maybe they will update windows 10 to assign cores properly.

                Thanks again for figuring this out.



                Last edited by justin_pieroni; 17-06-2022, 02:24 PM.

                Comment

                Working...
                X