【技术实现步骤摘要】
命令的执行方法和装置、存储介质及电子装置
[0001]本专利技术涉及计算机领域,具体而言,涉及一种命令的执行方法和装置、存储介质及电子装置。
技术介绍
[0002]在相关技术中,开放式图形库OpenGL,用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口。Web图像库WebGL是一种JavaScript应用程序接口(Application Program Interface,简称为API),用于在Web浏览器中呈现交互式2D、3D图形。WebGL的接口设计几乎是和OpenGL ES的接口一一对应的。而OpenGL ES又是延续了OpenGL本身复杂而冗余的API设计。在传统的原生OpenGL开发中,由于面向对象C++的高性能,这样的API设计不会造成性能瓶颈。但是在使用WebGL开发时,大量频繁且冗余的API调用,将触发大量的JavaScript和C++的跨语言调用,大量的数据需要在两种执行环境间传输,从而造成了极为可观的性能损耗。
[0003]针对上述的问题,目前尚未提出有效的解决方案。
专利技术 ...
【技术保护点】
【技术特征摘要】
1.一种命令的执行方法,其特征在于,包括:在调用基于第一程序语言的第一接口函数时,对所述第一接口函数进行拦截,以取消调用基于第二程序语言的第一处理函数,其中,所述第一接口函数用于在被调用时需要调用所述第一处理函数;将拦截到的所述第一接口函数的调用信息写入共享命令队列中,其中,所述调用信息包括所述第一接口函数的标识、所述第一接口函数的调用参数;在所述共享命令队列中包括了一组拦截到的基于所述第一程序语言的接口函数的调用信息的情况下,调用对应的基于所述第二程序语言的处理函数对所述一组拦截到的基于所述第一程序语言的接口函数的调用信息进行解析,得到一组目标命令,其中,所述一组拦截到的基于所述第一程序语言的接口函数的调用信息包括所述第一接口函数的调用信息,所述基于所述第二程序语言的处理函数包括所述第一处理函数;执行所述一组目标命令。2.根据权利要求1所述的方法,其特征在于,在调用基于第一程序语言的第一接口函数时,对所述第一接口函数进行拦截,以取消调用基于第二程序语言的第一处理函数包括:在调用第一绘图协议WebGL函数时,在脚本语言JavaScript层拦截所述第一WebGL函数,以取消调用C++层的第一OpenGL处理函数,其中,所述第一WebGL函数用于在被调用时需要调用所述C++层的第一OpenGL处理函数;将拦截到的所述第一接口函数的调用信息写入共享命令队列中包括:将拦截到的所述第一WebGL函数的调用信息写入所述共享命令队列中,其中,所述第一WebGL函数的调用信息包括所述第一WebGL函数的标识、所述第一WebGL函数的调用参数;在所述共享命令队列中包括了一组拦截到的基于所述第一程序语言的接口函数的调用信息的情况下,调用对应的基于所述第二程序语言的处理函数对所述一组拦截到的基于所述第一程序语言的接口函数的调用信息进行解析,得到一组目标命令包括:在所述共享命令队列中包括了一组拦截到的WebGL函数的调用信息情况下,调用所述C++层的对应OpenGL处理函数对所述一组拦截到的WebGL函数的调用信息进行解析,得到一组目标命令,其中,所述一组拦截到的WebGL函数的调用信息包括所述第一WebGL函数的调用信息,所述C++层的对应OpenGL处理函数包括所述第一OpenGL处理函数。3.根据权利要求2所述的方法,其特征在于,在所述JavaScript层拦截所述第一WebGL函数,包括:在所述JavaScript层拦截对象获取函数,并返回包装后的WebGL描述对象,其中,所述对象获取函数用于从画布元素Canvas对象中获取WebGL描述对象,所述第一WebGL函数用于在被调用时需要先调用所述对象获取函数以从所述画布元素Canvas对象中获取WebGL描述对象。4.根据权利要求1所述的方法,其特征在于,所述将拦截到的所述第一接口函数的调用信息写入共享命令队列中,包括:按照预定格式将所述第一接口函数的调用信息写入所述共享命令队列中,其中,所述共享命令队列被设置为在所述第一接口函数所在的层和所述第一处理函数所在的层之间进行共享,所述一组拦截到的基于所述第一程序语言的接口函数的调用信息在所述共享命令队列中具有相同的所述预定格式。
5....
【专利技术属性】
技术研发人员:张长荣,王召伟,雷丹雄,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。