标签: unity3d

如何强制 Unity Editor/TestRunner 在后台全速运行?

我观察到一个奇怪的行为,当编辑器位于前台时,Unity 编辑器 (TestRunner) 中的处理需要 2.5 秒,但当我立即切换到另一个应用程序时,处理速度会减慢至 15 秒,从而将编辑器置于后台。

更重要的是:如果我将编辑器置于后台,但不断将鼠标移动到编辑器窗口上,则处理会同时完成,就好像编辑器始终位于前台一样。

我认为这是一些 Windows(11?)优化,旨在故意减慢后台应用程序的速度。作为最终用户,我找不到针对特定应用程序或系统范围禁用此功能的方法。对于最终用户来说是否存在这样的选项或解决方法?

应用程序开发人员可以采取哪些措施来防止这种行为?

因为我观察到,在 VMware 中的 Ubuntu 22 上运行 Unity 编辑器时不存在同样的问题 - 无论我是否将编辑器放在虚拟机的后台,甚至当我将整个虚拟机置于后台时,测试总是快速完成。的背景。这让我希望有办法阻止这种行为。

仅供参考:整个问题已记录为JetbrainsUnity 论坛的错误报告。我希望我不必等待这两个应用程序的修复,我宁愿调整一些系统设置并永久修复这种非常不受欢迎的 Windows 行为。

我已经尝试更改以下设置但无济于事:

  • Unity 编辑器交互模式(首选项 => 常规)设置为“无节流”和“8 毫秒”(120 Hz)
  • 使用任务管理器将 Unity.exe 进程设置为“实时”
  • 禁用“硬件加速 GPU 调度”(设置:系统>显示>图形>默认图形设置)
  • 通过高级系统设置:性能选项=>高级我设置“调整为最佳性能:后台服务”
  • 关闭“游戏模式”
  • 将电源计划设置为“最佳性能”
  • 编写了一个自动热键脚本,每毫秒将鼠标移动 1px,但这只会将执行速度提高 50%(8 秒),并且需要光标位于编辑器窗口上方
  • 将 SystemResponsiveness 更改为 64 (100%)(见下文)并添加 NoLazyMode=1(在同一注册表项中)
  • 禁用 Windows Defender 实时保护(请参阅评论)
  • 通过 powercfg 禁用 unity.exe 的电源节流
  • 在注册表中手动调整 Win32PrioritySeparation

最后两个提示来自这篇超级用户帖子

临时解决方法: 这是一个奇怪的方法,但在 Unity 2021.2 及更高版本中对我来说可靠地工作。但是,在每次脚本编译/程序集重新加载后,都需要手动重新应用它。

  1. 打开首选项:常规 => 繁忙进度延迟
  2. 单击并拖动标签以更改值(只要更改任何值都可以 …

windows performance unity3d background windows-11

8
推荐指数
1
解决办法
896
查看次数

临时文件 sc.kernel.X.etl 每周生成一次,占用数十个千兆字节

[编辑:打开事件记录器中的文件]

事件记录器

似乎该错误经常被记录:错误 15003 似乎是驱动程序错误,尽管没有黄色!显示在外设管理器中。

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="" Guid="{ce1dbfb4-137e-4da6-87b0-3f59aa102cbc}" /> 
  <EventID>0</EventID> 
  <Version>2</Version> 
  <Level>0</Level> 
  <Task>0</Task> 
  <Opcode>46</Opcode> 
  <Keywords>0x0</Keywords> 
  <TimeCreated SystemTime="2018-05-13T20:31:48.544092000Z" /> 
  <EventRecordID>96360642</EventRecordID> 
  <Correlation /> 
  <Execution ProcessID="4294967295" ThreadID="4294967295" ProcessorID="0" KernelTime="0" UserTime="0" /> 
  <Channel /> 
  <Computer>XXXXXXXX</Computer> 
  <Security /> 
  </System>
- <ProcessingErrorData>
  <ErrorCode>15003</ErrorCode> 
  <DataItemName /> 
  <EventPayload>4EAA0F0C00000000FC31000001005000</EventPayload> 
  </ProcessingErrorData>
  </Event>
Run Code Online (Sandbox Code Playgroud)

[初始帖子]

我的主硬盘每周都会饱和,我必须手动删除这些文件。有人知道它来自哪里吗?

我日常使用的软件:Photoshop、Unity3D、Chrome、Visual studio、Visual code 和 ConEmu

临时文件全部命名为 sc.kernel.[Number].etl 没有找到有关该主题的任何内容。

我也用Windows Defender扫描了电脑,没有结果。

在此输入图像描述

google-chrome visual-studio adobe-photoshop temporary-files unity3d

6
推荐指数
1
解决办法
8117
查看次数