应用程序验证工具 - 停止代码 - 性能

Perf 测试检查有效使用影响系统性能和能耗的 API,例如调用使用不正确的等待期的 Windows 函数。

以下停止代码包含在这组测试中。

使用 Windows 函数导致定义的等待持续时间小于 300 毫秒的任何使用都是能效 bug。 切换到使用基于事件的设计或延长等待持续时间。

可能的原因

调用具有等待/延迟间隔持续时间的任何等待类型 API 时, 应大于或等于 300 毫秒。 调用低于 300 毫秒的此 API 会导致 Windows 过于频繁地唤醒 CPU。 当 Windows 被迫唤醒 CPU 时,会消耗更多的电量,这会大大缩短电池使用时间并导致不必要的功耗。

应用程序验证程序显示的信息
  • 格式: -  错误: %ws (...%ws=%d...) 。%ws
  • 参数 1 - API 名称的地址 (使用 du 转储字符串)
  • 参数 2 - 参数名称的地址 (使用 du 转储字符串)
  • 参数 3 - 参数值 (等待/延迟持续时间(以 ms) 为单位)
  • 参数 4 - 其他信息的地址 (使用 du 转储字符串)

其他信息
  • 测试层: 权力
  • 停止 ID: ERROR_DELAY_INTERVAL_DURATION_TOO_SHORT
  • 停止代码: 7000000
  • 严重性: 错误
  • 一次性错误: 
  • 错误报告: 打破
  • 记录到文件: 是的
  • 创建回溯: 是的

使用小于 300 毫秒的可容忍延迟机制不允许系统有足够的中断间隔,并且是一个能效 bug。 切换到使用基于事件的设计或延长延迟持续时间。

可能的原因

调用具有可容忍延迟的任何等待类型 API 时,持续时间应大于或等于 300 毫秒。 调用低于 300 毫秒的此 API 会导致 Windows 过于频繁地唤醒 CPU。 当 Windows 被迫唤醒 CPU 时,会消耗更多的电量,这会大大缩短电池使用时间并导致不必要的功耗。

应用程序验证程序显示的信息
  • 格式: -  错误: %ws (...%ws=%d...) 。%ws
  • 参数 1 - API 名称的地址 (使用 du 转储字符串)
  • 参数 2 - 参数名称的地址 (使用 du 转储字符串)
  • 参数 3 - 参数值 (可容忍方差(以 ms) 为单位)
  • 参数 4 - 其他信息的地址 (使用 du 转储字符串)

其他信息
  • 测试层: 权力
  • 停止 ID: ERROR_TOLERABLE_VARIANCE_DURATION_TOO_SHORT
  • 停止代码: 7000001
  • 严重性: 错误
  • 一次性错误: 
  • 错误报告: 打破
  • 记录到文件: 是的
  • 创建回溯: 是的

使用 Windows 函数导致定义的等待持续时间小于 300 毫秒的任何使用都是能效 bug。 切换到使用基于事件的设计或延长等待持续时间。

可能的原因

使用等待/延迟间隔调用任何等待类型 API 时,持续时间应大于或等于 300 毫秒。 调用低于 300 毫秒的此 API 可能会导致 Windows 过于频繁地唤醒 CPU。 当 Windows 被迫唤醒 CPU 时,会消耗更多的电量,这会大大缩短电池使用时间并导致不必要的功耗。

应用程序验证程序显示的信息
  • 格式: -  警告: %ws (...%ws=%d...) 。%ws
  • 参数 1 - API 名称的地址 (使用 du 转储字符串)
  • 参数 2 - 参数名称的地址 (使用 du 转储字符串)
  • 参数 3 - 参数值 (等待/延迟持续时间(以 ms) 为单位)
  • 参数 4 - 其他信息的地址 (使用 du 转储字符串)

其他信息
  • 测试层: 权力
  • 停止 ID: WARNING_DELAY_INTERVAL_DURATION_TOO_SHORT
  • 停止代码: 7000002
  • 严重性: 警告
  • 一次性错误: 
  • 错误报告: 打破
  • 记录到文件: 是的
  • 创建回溯: 是的

使用小于 300 毫秒的可容忍延迟机制不允许系统有足够的中断间隔,并且是一个能效 bug。 切换到使用基于事件的设计或延长延迟持续时间。

可能的原因

调用任何具有可容忍方差的等待类型 API 时,持续时间应大于或等于 300 毫秒。 调用低于 300 毫秒的此 API 可能会导致 Windows 过于频繁地唤醒 CPU。 当 Windows 被迫唤醒 CPU 时,会消耗更多的电量,这会大大缩短电池使用时间并导致不必要的功耗。

应用程序验证程序显示的信息
  • 格式: -  警告: %ws (...%ws=%d...) 。%ws
  • 参数 1 - API 名称的地址 (使用 du 转储字符串)
  • 参数 2 - 参数名称的地址 (使用 du 转储字符串)
  • 参数 3 - 参数值 (可容忍方差(以 ms) 为单位)
  • 参数 4 - 其他信息的地址 (使用 du 转储字符串)

其他信息
  • 测试层: 权力
  • 停止 ID: WARNING_TOLERABLE_VARIANCE_DURATION_TOO_SHORT
  • 停止代码: 7000003
  • 严重性: 警告
  • 一次性错误: 
  • 错误报告: 打破
  • 记录到文件: 是的
  • 创建回溯: 是的

调整系统范围的计时器分辨率可能会产生较大的能效影响,通常不会导致更好的性能。 请勿使用此 API。

可能的原因

允许系统选择此值最适合性能和能效。 调整系统计时器会大大缩短电池使用时间,并导致不必要的功耗。

应用程序验证程序显示的信息
  • 格式: -  错误: %ws (...%ws=%d...) 。%ws
  • 参数 1 - API 名称的地址 (使用 du 转储字符串)
  • 参数 2 - 参数名称的地址 (使用 du 转储字符串)
  • 参数 3 - 参数值 (计时器分辨率(以 ms) 为单位)
  • 参数 4 - 其他信息的地址 (使用 du 转储字符串)

其他信息
  • 测试层: 权力
  • 停止 ID: ERROR_SYSTEM_TIMER_RESOLUTION_ADJUSTMENT
  • 停止代码: 7000004
  • 严重性: 错误
  • 一次性错误: 
  • 错误报告: 打破
  • 记录到文件: 是的
  • 创建回溯: 是的

对运行系统进行了调整,可能会增加功耗。 只有呈现不需要用户交互的多媒体 (视频/音频) 的应用程序才应调用这些 API。

可能的原因

建议避免使用此 API,但多媒体应用程序 (视频/音频) 不需要用户交互,以提高能效。 调用此 API 会导致 Windows 放弃省电操作,并会大大缩短电池使用时间和/或导致不必要的功耗。

应用程序验证程序显示的信息
  • 格式: - 调用了名为 %ws 的 API,这会增加系统能耗。 %ws
  • 参数 1 - API 名称的地址 (使用 du 转储字符串)
  • 参数 2 - 其他信息的地址 (使用 du 转储字符串)
  • 参数 3 - N/A
  • 参数 4 - N/A

其他信息
  • 测试层: 权力
  • 停止 ID: WARNING_SYSTEM_POWER_USAGE_INCREASE
  • 停止代码: 7000005
  • 严重性: 警告
  • 一次性错误: 
  • 错误报告: 打破
  • 记录到文件: 是的
  • 创建回溯: 是的

另请参阅

应用程序验证工具 - 停止代码和定义

应用程序验证程序 - 概述

应用程序验证工具 - 功能

应用程序验证工具 - 测试应用程序

应用程序验证工具 - 应用程序验证工具中的测试

应用程序验证工具 - 调试应用程序验证工具停止

应用程序验证工具 - 常见问题解答