一种显卡分级异常预警方法与流程

摘要: 本发明涉及显卡异常预警,特别是涉及一种显卡分级异常预警方法。背景技术:1、显卡在游戏、三维建模、视频渲染以及图形设计等场景中通常会长时间处于较高负载状态,运行过...
一种显卡分级异常预警方法与流程

本发明涉及显卡异常预警,特别是涉及一种显卡分级异常预警方法。

背景技术:

1、显卡在游戏、三维建模、视频渲染以及图形设计等场景中通常会长时间处于较高负载状态,运行过程中可能出现温度偏高、显存校验异常、总线传输异常、运算错误或功耗波动等情况。为了避免异常进一步影响画面输出、任务执行或硬件稳定性,现有显卡管理软件通常会在检测到异常后,通过弹窗、托盘提示或通知消息的方式提醒用户查看异常情况。

2、但是,在上述高负载使用场景中,用户往往处于全屏游戏画面、渲染窗口或设计软件前台操作状态,普通弹窗或通知提示容易被前台画面遮挡,也容易被用户快速关闭。即使用户已经看到提示,现有方式通常也只是给出一条异常提醒,后续是否查看处理建议、是否按照建议进行处理,以及同一类异常后续是否仍在出现,往往缺少连续承接。这样一来,同一显卡异常可能反复以相似方式提醒用户,用户难以判断该异常是否已经处理,也难以及时区分只是偶发提示还是需要继续关注的异常情况。为此提出一种显卡分级异常预警方法。

技术实现思路

1、本发明的目的在于提供一种显卡分级异常预警方法,以解决上述背景技术中提出的问题。

2、为实现上述目的,本发明提供如下技术方案:一种显卡分级异常预警方法,包括如下步骤:

3、步骤1、接收显卡异常事件包及其初始预警级别,生成显卡异常预警处置项,所述显卡异常预警处置项至少包含触达通道字段、处置状态和故障引导标记;

4、步骤2、获取当前前台显示占用状态和预警通道可用状态,根据初始预警级别及前台显示占用状态确定第一触达通道,并通过第一触达通道形成预警占位;

5、步骤3、读取第一触达通道的通道回执状态,若在预设时间内未形成回执,则保持同一显卡异常预警处置项,并将当前触达通道迁移至备用触达通道;

6、步骤4、当任一触达通道形成回执时,根据异常事件包和初始预警级别绑定对应的故障引导,并更新故障引导进入状态;

7、步骤5、根据故障引导进入状态和异常持续状态判断显卡异常预警处置项是否完成处理,未完成处理时将显卡异常预警处置项重新置为待触达状态;

8、步骤6、根据显卡异常预警处置项的完成处理结果生成显卡分级异常预警结果。

9、优选的,所述步骤2中确定第一触达通道包括:

10、读取当前调用显卡输出画面的前台进程、显示模式和输入焦点位置,并根据显示模式和输入焦点位置判断当前画面主体区域是否处于可覆盖状态;

11、当前台进程处于全屏独占、高负载渲染窗口前台运行或持续占用输入焦点的状态时,将当前画面主体区域标记为避让显示区域,并根据避让显示区域与可用的预警通道生成预警可见性状态;

12、根据预警可见性状态对初始预警级别对应的预警内容进行触达限制,使初始预警级别未达到预设强提示级别的预警内容进入不覆盖避让显示区域的触达通道,使初始预警级别达到预设强提示级别的预警内容保留覆盖提示通道;

13、将符合触达限制且能够形成预警占位的触达通道确定为第一触达通道。

14、优选的,所述步骤3中若在预设时间内未形成回执,则保持同一显卡异常预警处置项,并将当前触达通道迁移至备用触达通道包括:

15、在第一触达通道形成预警占位时,为显卡异常预警处置项生成预警编号,并将第一触达通道、初始预警级别和故障引导标记与所述预警编号关联;

16、当第一触达通道在预设时间内未形成回执时,保持所述预警编号不变,并将备用触达通道写入同一显卡异常预警处置项;

17、在备用触达通道显示期间,若显卡异常事件包继续更新,则将更新内容追加至同一显卡异常预警处置项,而不重新生成新的显卡异常预警处置项;

18、当第一触达通道或备用触达通道中的任一通道形成回执时,将该回执作为所述预警编号对应的有效回执,并停止其他触达通道继续显示同一预警内容。

19、优选的,所述步骤4中根据异常事件包和初始预警级别绑定对应的故障引导包括:

20、从异常事件包中提取显卡异常来源标记,并根据显卡异常来源标记和初始预警级别确定对应的故障引导标记;

21、将所述故障引导标记写入已形成回执的显卡异常预警处置项,使故障引导标记与对应的预警编号保持关联;

22、当已形成回执的触达通道被操作进入故障引导时,根据所述故障引导标记调用对应的显卡异常处理提示内容;

23、若未进入故障引导,则保留所述故障引导标记,并将所述故障引导标记作为步骤5中判断显卡异常预警处置项是否完成处理的依据。

24、优选的,所述步骤5中根据故障引导进入状态和异常持续状态判断显卡异常预警处置项是否完成处理包括:

25、在故障引导被进入后,读取与故障引导标记对应的显卡异常来源标记;

26、将故障引导被进入后接收到的显卡异常事件包与所述显卡异常来源标记进行匹配;

27、若后续显卡异常事件包包含与所述显卡异常来源标记相同或关联的异常来源,则判定原显卡异常事件包仍处于持续状态,并保留对应预警编号,使显卡异常预警处置项重新进入待触达状态;

28、若后续显卡异常事件包不包含与所述显卡异常来源标记相同或关联的异常来源,则不将该后续显卡异常事件包作为所述显卡异常预警处置项未完成处理的依据;

29、当故障引导已被进入,且未出现与所述显卡异常来源标记相同或关联的后续显卡异常事件包时,确定所述显卡异常预警处置项完成处理。

30、优选的,所述步骤1中显卡异常事件包的形成包括:

31、接收由显卡驱动层或硬件监控层输出的异常条目,所述异常条目包括温度异常条目、显存校验异常条目、总线重传异常条目、流处理器运算异常条目和功耗波动异常条目中的至少一种;

32、根据异常条目的输出来源生成显卡异常来源标记,并将显卡异常来源标记写入对应异常条目;

33、将写入显卡异常来源标记后的异常条目进行封装,形成显卡异常事件包。

34、优选的,所述步骤2中预警通道可用状态的形成包括:

35、获取本机弹窗通道、悬浮提示通道、系统托盘通道和外部终端通道的启用状态;

36、当本机弹窗通道受到前台显示占用状态限制时,将悬浮提示通道或系统托盘通道标记为本机备用触达通道;

37、当本机备用触达通道不可用,或者显卡异常预警处置项已发生未回执迁移时,将外部终端通道标记为备用触达通道;

38、根据各触达通道的启用状态和标记结果,形成预警通道可用状态。

39、优选的,所述步骤6中生成显卡分级异常预警结果包括:

40、读取同一显卡异常来源标记在历史触达记录中的未完成处理次数和重复触达次数;

41、当所述未完成处理次数或重复触达次数达到设定次数时,将对应的显卡异常预警处置项标记为重复未处理项;

42、对于重复未处理项,在生成显卡分级异常预警结果时保留其故障引导标记,并提高该显卡异常预警处置项在备用触达通道中的触达优先级;

43、当重复未处理项对应的故障引导被进入,且后续显卡异常事件包不再包含相同或关联的显卡异常来源标记时,解除所述重复未处理项的标记。

44、优选的,所述历史触达记录的更新包括:

45、在显卡异常预警处置项完成处理、重新进入待触达状态或被标记为重复未处理项时,记录对应的显卡异常来源标记、初始预警级别、触达通道和处理结果;

46、将属于同一显卡异常来源标记的历史触达记录按生成时间顺序排列,形成历史触达序列;

47、当新的显卡异常事件包包含与历史触达序列相同或关联的显卡异常来源标记时,读取该历史触达序列中的最近处理结果,并根据最近处理结果确定是否优先采用备用触达通道或保留原故障引导标记。

48、优选的,所述根据最近处理结果确定是否优先采用备用触达通道或保留原故障引导标记包括:

49、当最近处理结果为未完成处理或重复未处理时,在新的显卡异常预警处置项中保留最近一次对应的故障引导标记,并将外部终端通道或最近一次形成有效回执的触达通道作为候选备用触达通道;

50、当最近处理结果为已完成处理时,按照步骤2重新确定第一触达通道,并在新的显卡异常预警处置项中重新绑定故障引导标记;

51、当候选备用触达通道与步骤2确定的第一触达通道不一致时,优先通过第一触达通道形成预警占位,并将候选备用触达通道作为未回执后的备用迁移通道。

52、本发明的技术效果和优点:

53、1、本发明通过在接收显卡异常事件包后建立显卡异常预警处置项,并结合当前前台显示占用状态和预警通道可用状态确定第一触达通道,使显卡异常预警不再仅依赖固定弹窗或单一通知方式输出。在用户处于全屏游戏、渲染窗口或图形设计软件等画面占用较强的场景下,预警内容能够根据当前画面占用情况选择较合适的触达方式,减少普通提示被前台画面遮挡、被忽略或被用户快速关闭后直接结束预警的情况,使显卡异常提示更容易在实际使用过程中被用户接收到;

54、2、本发明通过在未形成回执时保持同一显卡异常预警处置项,并将当前触达通道迁移至备用触达通道,使同一显卡异常在本机弹窗、悬浮提示、系统托盘或外部终端之间切换时仍然归属于同一条预警处理过程。这样,同一异常不会因为提示位置变化而反复生成多条互不关联的预警记录,不同触达通道中形成的回执也能够归到同一预警编号下,便于后续继续判断该异常是否已经被用户确认和处理;

55、3、本发明通过将显卡异常来源标记、初始预警级别与故障引导标记进行关联,并在用户形成回执后继续判断故障引导是否被进入以及同源或关联异常是否仍然出现,使用户确认预警后能够继续承接到对应的处理建议,而不是在关闭提示后直接结束处理。对于同类异常后续仍持续出现的情况,原显卡异常预警处置项可以重新进入待触达状态;对于无关异常,则不会简单并入原预警处理过程,从而便于区分原异常是否仍需继续关注。