{"id":35366,"date":"2022-07-08T17:45:00","date_gmt":"2022-07-08T15:45:00","guid":{"rendered":"https:\/\/www.xmg.gg\/?p=35366"},"modified":"2023-03-29T20:21:36","modified_gmt":"2023-03-29T18:21:36","slug":"news-tips-and-tricks-rendering-e-cores","status":"publish","type":"post","link":"https:\/\/www.xmg.gg\/en\/news-tips-and-tricks-rendering-e-cores\/","title":{"rendered":"Alder Lake: The solution when rendering only runs on E-Cores"},"content":{"rendered":"\n<p><span style=\"text-decoration: underline;\">Rendering tasks on Intel&#8217; s 12th gen Core CPUs are automatically moved to the slower E-Cores when the programme is minimised? This problem can be solved quickly and easily under Windows 11 by selecting the &#8220;Best Performance&#8221; power mode. The following explains the background and provides current workarounds. This article is aimed at all those who use their Alder Lake CPU in any productivity scenario. It is not relevant for gaming or simple web\/office use.<\/span><\/p>\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.xmg.gg\/en\/news-tips-and-tricks-rendering-e-cores\/#intels-p-cores-and-e-cores\" >Intel\u2019s P-Cores and E-Cores<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.xmg.gg\/en\/news-tips-and-tricks-rendering-e-cores\/#rendering-jobs-are-pushed-to-e-core-when-out-of-focus\" >Rendering jobs are pushed to E-Core when out of focus?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.xmg.gg\/en\/news-tips-and-tricks-rendering-e-cores\/#confirmation-of-this-issue-from-a-3rd-party\" >Confirmation of this issue from a 3rd party<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.xmg.gg\/en\/news-tips-and-tricks-rendering-e-cores\/#how-to-check-which-core-are-being-used\" >How to check which core are being used<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.xmg.gg\/en\/news-tips-and-tricks-rendering-e-cores\/#current-workarounds\" >Current workarounds<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.xmg.gg\/en\/news-tips-and-tricks-rendering-e-cores\/#future-improvements-in-windows-11\" >Future improvements in Windows 11<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.xmg.gg\/en\/news-tips-and-tricks-rendering-e-cores\/#linux-situation\" >Linux situation<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.xmg.gg\/en\/news-tips-and-tricks-rendering-e-cores\/#your-feedback\" >Your feedback<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"intels-p-cores-and-e-cores\"><\/span>Intel\u2019s P-Cores and E-Cores<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p>Intel Core 12th Generation (&#8220;Alder Lake&#8221;) is the first x86 CPU platform that combines &#8220;big&#8221; and &#8220;little&#8221; cores. Windows 11 has introduced Intel&#8217;s new &#8220;Thread Director&#8221; that is supposed to intelligently handle which tasks are running on which cores. When running all-core rendering jobs (i.e. Cinebench, Prime95), the OS is supposed to use all cores (both E-Cores and P-Cores) at the same time.<\/p>\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"rendering-jobs-are-pushed-to-e-core-when-out-of-focus\"><\/span>Rendering jobs are pushed to E-Core when out of focus?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p>During productive use, users have noticed that some rendering jobs (i.e. not synthetic benchmarks) are moved by the OS to E-Cores as soon as the rendering job window is minimized or otherwise out of focus. According to <a href=\"https:\/\/youtu.be\/hdi9mPWInPA?t=71\" target=\"_blank\" rel=\"noopener\">this official video<\/a> (relevant demonstration starting at timecode 1:11), this might even be part of Intel&#8217;s intended use-case.<\/p>\n\n<p>Pushing rendering jobs to E-Cores obviously has a big performance impact, as it is leaving all the powerful P-Cores idle, making the render jobs take much more time than necessary. In order to reap the full performance potential of your CPU, you want to saturate all cores, ideally.<\/p>\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"confirmation-of-this-issue-from-a-3rd-party\"><\/span>Confirmation of this issue from a 3rd party<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p>The CPU microcode researcher Agner Fog has documented this issue in his article &#8220;<a href=\"https:\/\/www.agner.org\/forum\/viewtopic.php?f=1&amp;t=79\" target=\"_blank\" rel=\"noopener\">Intel&#8217;s new Chimera: Alder Lake<\/a>&#8220;, quote:<\/p>\n\n<p class=\"has-text-align-center\"><em>\u201eThe system is giving high priority only to the thread that has the user focus. This ignores the behavior of many users. A user who is waiting for the computer to finish a heavy duty task is typically not just sitting and waiting. He\/she is more likely to do something else during the waiting time, for example checking mails.\u201d<\/em><\/p>\n\n<p>Agner Fog has conducted his research mostly on Alder Lake desktop systems without any relation to XMG. This confirms that this is issue affects the whole CPU and OS platform &#8211; it is not specific to any PC or laptop OEM.<\/p>\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"how-to-check-which-core-are-being-used\"><\/span>How to check which core are being used<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p>Alder Lake users can easily see which cores are saturated by setting Task Manager to show the performance diagram of the &#8216;logical processors&#8217;:<\/p>\n\n<figure class=\"wp-block-image aligncenter size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"720\" src=\"https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/task-manager_logische_kerne-1-1024x720.png\" alt=\"Screenshot task manager logical cores\" class=\"wp-image-35395\" srcset=\"https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/task-manager_logische_kerne-1-1024x720.png 1024w, https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/task-manager_logische_kerne-1-300x211.png 300w, https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/task-manager_logische_kerne-1-768x540.png 768w, https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/task-manager_logische_kerne-1.png 1347w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<p>The E-Cores are always the last diagrams in this view, ending in te bottom right corner. In the following <a href=\"https:\/\/www.xmg.gg\/media\/faq\/i7-12700H_rendering-on-e-cores-only.png\">this screenshot<\/a> with i7-12700H in <a href=\"https:\/\/www.xmg.gg\/en\/xmg-neo-15-intel-e22\/\">XMG NEO 15 (E22)<\/a>, you can see how only the last 8 logical cores are saturated during this rendering job:<\/p>\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"838\" src=\"https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/i7-12700H_rendering_nur_auf_e-cores-1024x838.png\" alt=\"Screenshot i7-12700H rendering only on E-Cores\" class=\"wp-image-35355\" srcset=\"https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/i7-12700H_rendering_nur_auf_e-cores-1024x838.png 1024w, https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/i7-12700H_rendering_nur_auf_e-cores-300x246.png 300w, https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/i7-12700H_rendering_nur_auf_e-cores-768x629.png 768w, https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/i7-12700H_rendering_nur_auf_e-cores.png 1434w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<p>The first 12 logical cores (6 P-Cores multiplied by 2 for hyperthreading) are mostly idle. Task Manager shows this as &#8220;60% total utilisation&#8221;, but this number is misleading because Task Manager treats all logical cores equally and does not know about the specific difference in performance potential between E-Cores and P-Cores. In other words, the real utilisation is well below 50%. You can track this further by monitoring the CPU Package Power consumption during rendering jobs in a tool such as HWiNFO64. For more information, please check out the &#8220;What tuning and system software does XMG recommend?&#8221; <a href=\"https:\/\/www.xmg.gg\/en\/faq\/tips\/\">in our FAQ section<\/a>.<\/p>\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"current-workarounds\"><\/span>Current workarounds<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p>For the current release of Windows 11, there are two workarounds:<\/p>\n\n<ol class=\"wp-block-list\" type=\"1\">\n<li>Run the task with administrator rights.<\/li>\n\n\n\n<li>Set Windows 11 power modes to \u201cBest Performance\u201d.<\/li>\n<\/ol>\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"976\" height=\"674\" src=\"https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/win11-beste-leistung.png\" alt=\"Screenshot Windows 11 power mode best performance\" class=\"wp-image-35386\" srcset=\"https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/win11-beste-leistung.png 976w, https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/win11-beste-leistung-300x207.png 300w, https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/win11-beste-leistung-768x530.png 768w\" sizes=\"(max-width: 976px) 100vw, 976px\" \/><\/figure>\n\n<p>Both these workarounds will make sure that <strong>your rendering job can saturate both E-Cores and P-Cores at the same time<\/strong>.<\/p>\n\n<p><strong>Workaround #1<\/strong> is obviously a little bit crude, as you normally don&#8217;t want to elevate the privileges of tasks without good reason. <strong>Workaround #2<\/strong> is probably the more sustainable solution. It might have some small impact on idle power consumption, as other background processes that would normally be pushed to E-Cores might now sometimes run on P-Cores as well. However, the impact should be tiny compared to other typical power consumption issues (e.g. dGPU not sleeping), as explained in in our <a href=\"https:\/\/www.xmg.gg\/en\/faq\/troubleshooting\/\">FAQ article<\/a> \u201cProblems with battery life, idle power consumption, or relatively high fan noise despite low load.\u201c<\/p>\n\n<p>Another workaround would be to disable E-Cores completely. Disabling E-Cores is indeed possible in the BIOS setup of XMG NEO 15 (E22). But this solution is not desired either as it would of course sacrifice a substantial amount of the multi-core performance potential of your Alder Lake CPU.<\/p>\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"570\" src=\"https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/neo15_e22_bios-setup_disable-efficiency-cores-1024x570.jpg\" alt=\"XMG NEO 15 BIOS setup deactivate E-Cores\" class=\"wp-image-35362\" srcset=\"https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/neo15_e22_bios-setup_disable-efficiency-cores-1024x570.jpg 1024w, https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/neo15_e22_bios-setup_disable-efficiency-cores-300x167.jpg 300w, https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/neo15_e22_bios-setup_disable-efficiency-cores-768x427.jpg 768w, https:\/\/www.xmg.gg\/wp-content\/uploads\/2022\/07\/neo15_e22_bios-setup_disable-efficiency-cores.jpg 1280w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<p>Our recommend workaround is therefor to set the Windows 11 power mode to &#8220;Best performance&#8221;.<\/p>\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"future-improvements-in-windows-11\"><\/span>Future improvements in Windows 11<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p>It is reasonable to assume that this behaviour might be improved or allow further end-user customization in future Windows 11 releases. Current documentation for the upcoming Windows 11 release &#8220;22H2&#8221; (2nd half of 2022) already <a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/win32\/procthread\/quality-of-service\" target=\"_blank\" rel=\"noopener\">mentions<\/a> a new &#8220;Utility \/ Background services&#8221; classification for processes and threads. Perhaps the OS will be able to separate true background tasks (such as various Windows-internal maintenance tasks) from user-initiated rendering jobs.<\/p>\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"linux-situation\"><\/span>Linux situation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p>Kernel 5.18 has introduced an implementation of Intel&#8217;s Thread Director for Linux, using the term &#8220;Intel Hardware Feedback Interface&#8221;. The scope of this update was presented in <a href=\"https:\/\/www.phoronix.com\/scan.php?page=news_item&amp;px=Intel-HFI-For-Linux-5.18\" target=\"_blank\" rel=\"noopener\">this article<\/a> in February and be found in the <a href=\"https:\/\/kernelnewbies.org\/Linux_5.18#Power_Management\" target=\"_blank\" rel=\"noopener\">kernel changelog<\/a>. Documentation can be found <a href=\"https:\/\/docs.kernel.org\/x86\/intel-hfi.html\" target=\"_blank\" rel=\"noopener\">here<\/a>, but the HFI framework also touches upon other areas (such as thermals) and it is not immediately clear to us how Linux is going to seperate important user-initiated rendering jobs from simple system background tasks.<\/p>\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"your-feedback\"><\/span>Your feedback<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n<p>If you have any further questions on this issue or would like to share your own experiences with multi-core rendering on Alder Lake CPUs, please comment on <a href=\"https:\/\/www.reddit.com\/r\/XMG_gg\/comments\/vlqn6d\/psa_rendering_tasks_are_moved_to_ecores_when\/\" target=\"_blank\" rel=\"noopener\">reddit<\/a> or <a href=\"https:\/\/discord.com\/invite\/xZykwQf\" target=\"_blank\" rel=\"noopener\">Discord<\/a>. We are looking forward to your feedback!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rendering tasks on Intel&#8217; s 12th gen Core CPUs are automatically moved to the slower E-Cores when the programme is minimised? This problem can be solved quickly and easily under Windows 11 by selecting the &#8220;Best Performance&#8221; power mode. The following&#8230;<\/p>\n","protected":false},"author":21,"featured_media":20355,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"class_list":["post-35366","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/www.xmg.gg\/en\/wp-json\/wp\/v2\/posts\/35366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xmg.gg\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xmg.gg\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xmg.gg\/en\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xmg.gg\/en\/wp-json\/wp\/v2\/comments?post=35366"}],"version-history":[{"count":0,"href":"https:\/\/www.xmg.gg\/en\/wp-json\/wp\/v2\/posts\/35366\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.xmg.gg\/en\/wp-json\/wp\/v2\/media\/20355"}],"wp:attachment":[{"href":"https:\/\/www.xmg.gg\/en\/wp-json\/wp\/v2\/media?parent=35366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xmg.gg\/en\/wp-json\/wp\/v2\/categories?post=35366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xmg.gg\/en\/wp-json\/wp\/v2\/tags?post=35366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}