1.一种基于三维场景模型web端动态渲染处理方法,其特征在于,应用于Web前端,所述方法包括:在应用程序完成三维场景模型加载后,将所述三维场景模型添加到拦截器中,并响应于所述三维场景模型的渲染操作,通过所述拦截器将所述三维场景模型当前的状态切换为渲染状态;
针对所述渲染状态,创建与所述渲染操作的主线程对应的计算线程,并根据所述主线程对应的数据源和计算规则,创建副本数据;
保持运行所述主线程,并将所述副本数据发送到所述计算线程,以使得所述计算线程与所述主线程的运行并行根据所述计算规则对所述数据源进行渲染计算,得到所述三维场景模型对应的渲染计算结果;
将所述渲染计算结果返回至所述主线程,并在发送所述渲染计算结果完成后,销毁所述计算线程,将所述渲染计算结果添加至所述主线程的渲染器中,以使得所述渲染器根据所述渲染计算结果对所述三维场景模型中的帧循环进行渲染;
其中,在所述针对所述渲染状态,创建与所述渲染操作的主线程对应的计算线程,并根据所述主线程对应的数据源和计算规则,创建副本数据之前,包括:获取所述主线程在运行所述三维场景模型中的帧循环占用的最小线程数以及在所述主线程进行所述渲染计算占用的最大线程数;
预测通过所述最小线程数对应的主线程运行所述帧循环时,所述主线程中每一子主线程运行时的栈空间复杂度;
预测所述主线程在所述最大线程数的情况下,所述主线程中每一子主线程在渲染计算时,该子主线程中各编码树单元的计算深度;
根据所述主线程中各所述子主线程对应的计算深度以及所述栈空间复杂度,确定所述主线程针对所述渲染操作的渲染复杂度;
确定所述渲染复杂度大于预设复杂度阈值;
所述方法还包括:
在所述渲染复杂度小于等于所述预设复杂度阈值的情况下,通过所述主线程中的渲染器根据所述计算规则对所述数据源进行渲染计算,得到所述主线程中的渲染器针对所述三维场景模型对应的渲染计算结果。
2.根据权利要求1所述的方法,其特征在于,所述预测所述主线程在所述最大线程数的情况下,所述主线程中每一子主线程在渲染计算时,该子主线程中各编码树单元的计算深度的步骤,包括:在所述主线程以所述最大线程数进行渲染计算的情况下,预测所述主线程中各所述子主线程调用的数据源的调用数据量;
预测所述主线程中各所述子主线程在对应的调用数据量的情况下,该子主线程中各编码树单元渲染计算的编码计算时长;以及,预测所述主线程中各所述子主线程在本子主线程开始计算时等待在前的子主线程渲染计算完成的等待时长;
根据对应的所述编码计算时长以及所述等待时长,确定所述主线程中每一子主线程在渲染计算时,该子主线程中各编码树单元的计算深度。
3.根据权利要求2所述的方法,其特征在于,所述预测所述主线程中各所述子主线程在本子主线程开始计算时等待在前的子主线程渲染计算完成的等待时长的步骤,包括:针对所述主线程中各所述子主线程,预测在本子主线程执行渲染计算之前,执行渲染计算的子主线程数;
获取所述主线程中各主线程之间的平均线程通信耗时;
根据对应的所述子主线程数以及所述平均线程通信耗时,确定所述本子主线程的线程通信等待时长;
根据所述本子主线程对应的线程通信等待时长以及在本子主线程之前的子主线程的各编码树单元对应的编码计算时长,预测所述主线程中各所述子主线程在本子主线程开始计算时等待在前的子主线程渲染计算完成的等待时长。
4.根据权利要求1所述的方法,其特征在于,所述预测通过所述最小线程数对应的主线程运行所述帧循环时,所述主线程中每一子主线程运行时的栈空间复杂度的步骤,包括:预测通过所述最小线程数对应的主线程运行所述帧循环时,所述主线程中每一子主线程运行时该子主线程的剩余栈容量;
针对任一所述子主线程,将所述子主线程相邻的上一子主线程和下一子主线程中,剩余栈容量较大一者作为目标相邻的子主线程;
预测所述子主线程的剩余栈容量与所述目标相邻的子主线程的剩余栈容量相加产生的溢出值;
根据所述溢出值与预设栈容量阈值的大小关系,预测所述主线程中每一子主线程运行时的栈空间复杂度。
5.根据权利要求2-4中任一项所述的方法,其特征在于,所述根据所述主线程中各所述子主线程对应的计算深度以及所述栈空间复杂度,确定所述主线程针对所述渲染操作的渲染复杂度的步骤,包括:根据所述主线程中各所述子主线程对应的计算深度、所述栈空间复杂度以及对应的权重,加权确定所述主线程针对所述渲染操作的渲染复杂度。
6.根据权利要求1所述的方法,其特征在于,所述将所述渲染计算结果返回至所述主线程,并在发送所述渲染计算结果完成后,销毁所述计算线程的步骤,包括:在将所述渲染计算结果返回至所述主线程时,向所述拦截器发送询问请求,所述询问请求用于请求所述拦截器发送用于表征拦截到新的渲染操作的反馈信息;
在所述渲染计算结果返回至所述主线程的过程中,持续监听所述拦截器是否发送所述反馈信息;
在发送所述渲染计算结果完成后,若仍未接收到所述反馈信息,销毁所述计算线程。
7.一种基于三维场景模型web端动态渲染处理装置,其特征在于,应用于Web前端,所述装置包括:添加模块,被配置为在应用程序完成三维场景模型加载后,将所述三维场景模型添加到拦截器中,并响应于所述三维场景模型的渲染操作,通过所述拦截器将所述三维场景模型当前的状态切换为渲染状态;
创建模块,被配置为针对所述渲染状态,创建与所述渲染操作的主线程对应的计算线程,并根据所述主线程对应的数据源和计算规则,创建副本数据;
并行计算模块,被配置为保持运行所述主线程,并将所述副本数据发送到所述计算线程,以使得所述计算线程与所述主线程的运行并行根据所述计算规则对所述数据源进行渲染计算,得到所述三维场景模型对应的渲染计算结果;
渲染模块,被配置为将所述渲染计算结果返回至所述主线程,并在发送所述渲染计算结果完成后,销毁所述计算线程,将所述渲染计算结果添加至所述主线程的渲染器中,以使得所述渲染器根据所述渲染计算结果对所述三维场景模型中的帧循环进行渲染;
确定模块,被配置为:在所述针对所述渲染状态,创建与所述渲染操作的主线程对应的计算线程,并根据所述主线程对应的数据源和计算规则,创建副本数据之前,获取所述主线程在运行所述三维场景模型中的帧循环占用的最小线程数以及在所述主线程进行所述渲染计算占用的最大线程数;
预测通过所述最小线程数对应的主线程运行所述帧循环时,所述主线程中每一子主线程运行时的栈空间复杂度;
预测所述主线程在所述最大线程数的情况下,所述主线程中每一子主线程在渲染计算时,该子主线程中各编码树单元的计算深度;
根据所述主线程中各所述子主线程对应的计算深度以及所述栈空间复杂度,确定所述主线程针对所述渲染操作的渲染复杂度;
确定所述渲染复杂度大于预设复杂度阈值;
所述渲染模块,还被配置为在所述渲染复杂度小于等于所述预设复杂度阈值的情况下,通过所述主线程中的渲染器根据所述计算规则对所述数据源进行渲染计算,得到所述主线程中的渲染器针对所述三维场景模型对应的渲染计算结果。
8.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为在执行所述可执行指令时,实现权利要求1-6中任一项所述方法的步骤。