Data processing method, device and system

By dividing the application's call instructions and using the graphics card of the second device for remote rendering, the problem of lack of graphics cards or insufficient functions on the device is solved, ensuring that the application runs normally on the first device and improving the user experience.

CN113763227BActive Publication Date: 2025-03-14RUIJIE NETWORK SUZHOU CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110815679.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-07-19
Publication Date
2025-03-14
Estimated Expiration
2041-07-19

AI Technical Summary

Technical Problem

In the prior art, there is a lack of graphics cards on some devices or the graphics cards cannot provide all the graphics processing functions required for the application to run, resulting in the application not being able to run normally and affecting the user experience.

Method used

By dividing the multiple calling instructions generated by the application into at least one first type of calling instructions and at least one second type of calling instructions, and sending the first type of calling instructions to the second device, remotely rendering is used to obtain the first rendered graphics, and then the first device performs corresponding processing operations in response to the second type of calling instructions.

Benefits of technology

It realizes the remote rendering of the graphics card on the second device, provides the graphics processing functions required for the application to run, solves the problem of the application not being able to run normally due to the lack of graphics card or insufficient functions, and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113763227B_ABST
    Figure CN113763227B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a data processing method, apparatus and system. Determine multiple call instructions generated by an application, which runs on a first device; divide the multiple call instructions into at least one first-category call instruction and at least one second-category call instruction according to a preset division rule; send at least one first-category call instruction to a second device, and the second device responds to at least one first-category call instruction and calls the graphics card on the second device to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic; obtain the first rendered graphic sent by the second device; respond to at least one second-category call instruction and perform corresponding processing operations in combination with the first rendered graphic. The technical solution provided by the embodiments of the present application solves the problem that when the graphics card on the first device lacks or cannot provide certain graphics processing functions, the application on the device cannot run normally.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computer application technology, and in particular, to a data processing method, device and system. Background Art

[0002] In actual applications, when some applications are running on a device, such as a graphics processing program, it is usually necessary to call the graphics card on the device to perform corresponding graphics processing operations, such as rendering operations, etc. Specifically, the graphics processing program can generate different calling instructions based on different application programming interfaces (Application Programming Interface, referred to as API, which is a collection of a series of function specifications), referred to as interfaces. When calling the graphics card based on different calling instructions, the dynamic library (Dynamic Link Library, abbreviated as DLL, is a way to implement the concept of shared function library, containing one or more functions that have been compiled, linked and stored separately from the applications that use them) and the graphics card driver (a special program that enables the graphics card and the device's operating system to communicate with each other) running on the device will process the interface corresponding to the calling instruction, obtain the graphics processing instructions that the graphics card can recognize, and the graphics card will then perform the corresponding graphics processing operations based on the graphics processing instructions.

[0003] However, some current devices have a problem that the graphics card is insufficient or cannot provide all the graphics processing functions required for the application to run, so the device cannot perform corresponding graphics processing, resulting in the application being unable to run normally on the device, affecting the user experience. Summary of the invention

[0004] The embodiments of the present application provide a data processing method, apparatus and system for solving the problem in the prior art that an application on a device cannot run normally when a graphics card on the device lacks or cannot provide all the graphics processing functions required for the application to run.

[0005] In a first aspect, an embodiment of the present application provides a data processing method, comprising:

[0006] determining a plurality of call instructions generated by an application program, the application program being executed on a first device;

[0007] According to a preset division rule, the plurality of call instructions are divided into at least one first-category call instruction and at least one second-category call instruction;

[0008] Sending the at least one first-type calling instruction to a second device, and the second device responding to the at least one first-type calling instruction to call a graphics card on the second device to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic;

[0009] Acquire the first rendered graphic sent by the second device;

[0010] In response to the at least one second-type calling instruction, a corresponding processing operation is performed in combination with the first rendered graphic.

[0011] In a second aspect, an embodiment of the present application provides a data processing method, including:

[0012] receiving at least one first-category calling instruction sent by a first device, where the at least one first-category calling instruction is obtained by dividing a plurality of calling instructions generated by an application program by the first device, and the application program is run on the first device;

[0013] In response to the at least one first-type calling instruction, calling a graphics card on the second device to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic;

[0014] The first rendered graphic is sent to the first device so that the first device responds to at least one second-class calling instruction and performs corresponding processing operations in combination with the first rendered graphic. The at least one second-class calling instruction is obtained by the first device by dividing multiple calling instructions generated by the application and is different from the at least one first-class calling instruction.

[0015] In a third aspect, an embodiment of the present application provides a data processing device, including:

[0016] A division module, configured to determine a plurality of call instructions generated by an application program, the application program being run on a first device; and to divide the plurality of call instructions into at least one first-category call instruction and at least one second-category call instruction according to a preset division rule;

[0017] A first communication module is configured to send the at least one first-type calling instruction to a second device, so that the second device responds to the at least one first-type calling instruction to call a graphics card on the second device to perform a first rendering operation on the data to be rendered to obtain a first rendering graphic; and obtain the first rendering graphic sent by the second device;

[0018] A processing module is used to respond to the at least one second-type calling instruction and perform corresponding processing operations in combination with the first rendering graphic.

[0019] In a fourth aspect, an embodiment of the present application provides a data processing device, including:

[0020] A second communication module, configured to receive at least one first-category calling instruction sent by a first device, wherein the at least one first-category calling instruction is obtained by dividing a plurality of calling instructions generated by an application program by the first device, and the application program is run on the first device;

[0021] A rendering module, configured to, in response to the at least one first-type calling instruction, call a graphics card on the second device to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic;

[0022] The second communication module is also used to send the first rendered graphic to the first device so that the first device responds to at least one second-class calling instruction and performs corresponding processing operations in combination with the first rendered graphic. The at least one second-class calling instruction is obtained by the first device by dividing multiple calling instructions generated by the application and is different from the at least one first-class calling instruction.

[0023] In a fifth aspect, an embodiment of the present application provides a data processing system, including a first device and a second device;

[0024] The first device is used to determine multiple call instructions generated by an application program, the application program is running on the first device; divide the multiple call instructions into at least one first-category call instruction and at least one second-category call instruction according to a preset division rule; send the at least one first-category call instruction to the second device, and the second device responds to the at least one first-category call instruction to call a graphics card on the second device to perform a first rendering operation on the rendering data to obtain a first rendering graphic; obtain the first rendering graphic sent by the second device; respond to the at least one second-category call instruction, and perform corresponding processing operations in combination with the first rendering graphic;

[0025] The second device is used to receive at least one first-category calling instruction sent by the first device, wherein the at least one first-category calling instruction is obtained by the first device dividing multiple calling instructions generated by an application, and the application runs on the first device; in response to the at least one first-category calling instruction, call the graphics card on the second device to perform a first rendering operation on the rendering data to obtain a first rendering graphic; and send the first rendering graphic to the first device, so that the first device responds to at least one second-category calling instruction and performs corresponding processing operations in combination with the first rendering graphic, wherein the at least one second-category calling instruction is obtained by the first device dividing multiple calling instructions generated by the application, and is different from the at least one first-category calling instruction.

[0026] In the embodiment of the present application, the multiple call instructions generated by the application are divided into at least one first-class call instruction and at least one second-class call instruction, and at least one first-class call instruction is sent to the second device, and the second device responds to the at least one first-class call instruction. Since the second device has a graphics card, and the graphics card can provide the graphics processing function required for the application to run, the graphics card on the second device can be called to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic, and the first device can respond to at least one second-class call instruction and perform corresponding processing operations in combination with the first rendered graphic. By calling the graphics card on the second device that can provide the graphics processing function required for the application to run to perform a first rendering operation on the data to be rendered to obtain the first rendered graphic, and the first device performs corresponding processing operations in combination with the first rendered graphic, remote rendering is achieved by using the graphics card on the second device, and corresponding graphics processing functions are provided, which solves the problem that the application on the first device cannot run normally due to the lack of the graphics card on the first device or the inability of the graphics card to provide all the graphics processing functions required for the application to run, thereby improving the user experience.

[0027] These and other aspects of the present application will become more clearly understood in the description of the following embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0029] Figure 1 A flow chart showing an embodiment of a data processing method provided by the present application is shown;

[0030] Figure 2 A flowchart showing another embodiment of a data processing method provided by the present application is shown;

[0031] Figure 3 A schematic diagram showing the structure of an embodiment of a data processing device provided by the present application is shown;

[0032] Figure 4 A schematic diagram showing the structure of another embodiment of a data processing device provided by the present application is shown;

[0033] Figure 5 A schematic diagram showing the structure of an embodiment of a data processing system provided by the present application is shown;

[0034] Figure 6A structural schematic diagram of another embodiment of a data processing system provided by the present application is shown. DETAILED DESCRIPTION

[0035] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.

[0036] In some of the processes described in the specification and claims of this application and the above-mentioned figures, multiple operations that appear in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this article or executed in parallel. The serial numbers of the operations, such as 101, 102, etc., are only used to distinguish between different operations, and the serial numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel. It should be noted that the descriptions of "first", "second", etc. in this article are used to distinguish different messages, devices, modules, etc., do not represent the order of precedence, and do not limit the "first" and "second" to be different types.

[0037] The embodiment of the present application is applicable to the scenario where some applications need to call the graphics card for data processing when running. In practical applications, when some applications are running on a device, such as a graphics processing program, it is usually necessary to call the graphics card on the device to perform corresponding graphics processing operations, such as rendering operations. Specifically, the graphics processing program can generate different calling instructions based on different application programming interfaces (Application Programming Interface, referred to as API, which is a collection of a series of function specifications), referred to as interfaces. When calling the graphics card based on different calling instructions, the dynamic library (Dynamic Link Library, abbreviated as DLL, is a way to implement the concept of shared function library, containing one or more functions that have been compiled, linked and stored separately from the applications that use them) and the graphics card driver (a special program that enables the graphics card and the operating system of the device to communicate with each other) running on the device will process the interface corresponding to the calling instruction, obtain the graphics processing instruction that the graphics card can recognize, and the graphics card will then perform the corresponding graphics processing operation based on the graphics processing instruction.

[0038] However, some current devices have a problem that the graphics card is insufficient or cannot provide all the graphics processing functions required for the application to run, so the device cannot perform corresponding graphics processing, resulting in the application being unable to run normally on the device, affecting the user experience.

[0039] In order to solve the problem that the above application cannot run normally on the device, the inventors think that if the current device where the application runs does not have a graphics card, or the graphics card cannot provide all the graphics processing functions required for the application to run, the graphics card in other devices can be called for remote processing, wherein the graphics card in the other device can provide the graphics processing functions required for the application to run. At this time, the current device is combined with the graphics processing functions provided by other devices to jointly process, which can ensure the normal operation of the application. Therefore, after a series of thinking and experiments, the inventors proposed the technical solution of the present application, that is, determining multiple call instructions generated by the application, the application runs on the first device; according to the preset division rule, the multiple call instructions are divided into at least one first-class call instruction and at least one second-class call instruction; the at least one first-class call instruction is sent to the second device, and the second device responds to the at least one first-class call instruction and calls the graphics card on the second device to perform a first rendering operation on the data to be rendered to obtain a first rendering graphic; obtain the first rendering graphic sent by the second device; respond to the at least one second-class call instruction, and perform corresponding processing operations in combination with the first rendering graphic.

[0040] By calling a graphics card on the second device that can provide the graphics processing functions required for the application to run, performing a first rendering operation on the rendering data to obtain a first rendered graphic, and the first device performing corresponding processing operations based on the first rendered graphic, remote rendering is achieved by using the graphics card on the second device to provide corresponding graphics processing functions, thereby solving the problem that the application on the first device cannot run normally due to the lack of a graphics card on the first device or the graphics card cannot provide all the graphics processing functions required for the application to run, thereby improving the user experience.

[0041] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.

[0042] like Figure 1 FIG. 1 is a flowchart of an embodiment of a data processing method provided by the present application. The method may include the following steps:

[0043] 101: Identify multiple call instructions generated by the application.

[0044] The application is run on the first device.

[0045] In this embodiment, the method can be applied to a first device. The first device may include a client, a virtual machine, and other devices. An application program, such as a graphics processing program, may be running on the first device. When the application program is running, it is necessary to call a graphics card to perform data processing calculations. Taking a graphics processing program as an example, when the graphics processing program is running, it is necessary to call a rendering resource to perform a graphics rendering operation, wherein the rendering resource may refer to a graphics processing unit (GPU), which may be implemented as a graphics card.

[0046] For example, if the application program running on the device is a graphics processing program, when the graphics processing program is running, it needs to render the data to be rendered to obtain the rendered graphics. At this time, the graphics card can be called through a call instruction including a rendering instruction to use the rendering resources of the graphics card for rendering. Specifically, the call instruction can be generated based on the interface used by the graphics processing program. Among them, the interface may include an open graphics library interface (Open Graphics Library, referred to as OpenGL, a cross-language, cross-platform interface for rendering 2D and 3D vector graphics), a Direct3D interface (a 3D graphics interface based on Microsoft's Common Object Mode (COM)), etc. For example, OpenGL may include multiple different interfaces such as glBufferData (a data storage interface for creating and initializing buffer objects), wglCreateContext (an interface for creating a rendering context), etc.

[0047] In this embodiment, the graphics card on the first device is lacking, or the graphics card provided cannot provide all the graphics processing functions required for the application to run, such as rendering functions, etc. Therefore, the first device cannot fully respond to multiple call instructions in the running of the application, and thus cannot fully provide the functions corresponding to the multiple call instructions.

[0048] 102: Divide a plurality of call instructions into at least one first-category call instruction and at least one second-category call instruction according to a preset division rule.

[0049] After determining the above-mentioned multiple call instructions, since the first device cannot fully respond to the multiple call instructions, it can only respond to part of the call instructions. Therefore, the multiple call instructions can be divided according to the preset division rule, so that the multiple call instructions are divided into at least one first-category call instruction and at least one second-category call instruction. The preset division rule can include multiple implementation methods, which will be described in detail in the subsequent embodiments and will not be repeated here.

[0050] Due to the lack of a graphics card on the first device or insufficient graphics card function, the first type of call instruction is a partial call instruction, and its corresponding data processing function may not be provided by the first device. Therefore, it can be provided by the graphics card on other devices, and the other devices respond to the first type of call instruction. Correspondingly, the data processing function corresponding to the second type of call instruction can be provided by the first device, and the first device responds to the second type of call instruction. Alternatively, the first type of call instruction can also be responded to by the first device, and the second type of call instruction can be responded to by other devices, which can be set according to actual conditions.

[0051] In this embodiment, the first type of calling instructions are responded to by other devices, and the second type of calling instructions are responded to by the current first device.

[0052] 103: Send at least one first-type calling instruction to the second device, and the second device responds to the at least one first-type calling instruction and calls a graphics card on the second device to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic.

[0053] The second device may be another device different from the first device. Taking the first device as a client as an example, the second device may be a server that manages the client. The server has a graphics card, and the graphics card can provide graphics processing functions required for the application to run, such as rendering functions. Therefore, the server may respond to the at least one first-class call instruction, wherein the first-class call instruction may specifically refer to a rendering instruction, and call the graphics card on the server to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic.

[0054] 104: Obtain a first rendered graphic sent by the second device.

[0055] After the second device renders and obtains the first rendering graphic, the first device may obtain the first rendering graphic. Specifically, the first device may send a read instruction to the second device to obtain the first rendering graphic from the second device.

[0056] 105: In response to at least one second-type calling instruction, perform corresponding processing operations in combination with the first rendering graphic.

[0057] After the first device obtains the first rendered graphic, it can respond to at least one second-type call instruction and perform corresponding processing operations in combination with the first rendered graphic. Since the first device may not have a graphics card, or the graphics card it has can only provide partial graphics processing functions, such as display functions, etc., the central processing unit (CPU) on the first device or the graphics card that can only provide partial graphics processing functions can perform corresponding processing operations in combination with the first rendered graphic, such as displaying.

[0058] In this embodiment, the multiple call instructions generated by the application are divided into at least one first-category call instruction and at least one second-category call instruction, and at least one first-category call instruction is sent to the second device, and the second device responds to the at least one first-category call instruction. Since the second device has a graphics card, and the graphics card can provide the graphics processing function required for the application to run, the graphics card on the second device can be called to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic, and the first device can respond to at least one second-category call instruction and perform corresponding processing operations in combination with the first rendered graphic. By calling the graphics card on the second device that can provide the graphics processing function required for the application to run to perform a first rendering operation on the data to be rendered to obtain the first rendered graphic, and the first device performs corresponding processing operations in combination with the first rendered graphic, remote rendering is achieved using the graphics card on the second device, and corresponding graphics processing functions are provided, which solves the problem that the application on the first device cannot run normally due to the lack of the graphics card on the first device or the graphics card cannot provide all the graphics processing functions required for the application to run, thereby improving the user experience.

[0059] In actual applications, the first device does not have a graphics card, or the graphics card provided does not provide comprehensive graphics processing functions, such as rendering functions. In this case, the first device cannot perform the rendering operation required for the application to run well. In this case, the call instruction related to the rendering operation can be sent to other devices for processing. Therefore, in some embodiments, according to a preset division rule, the method of dividing multiple call instructions into at least one first-category call instruction and at least one second-category call instruction may include:

[0060] According to whether the multiple call instructions are related to the rendering operation, the multiple call instructions are divided into at least one first-category call instruction related to the rendering operation and at least one second-category call instruction unrelated to the rendering operation;

[0061] At this time, in response to at least one second-type calling instruction, the method of performing a corresponding processing operation in combination with the first rendered graphic may include:

[0062] In response to at least one second-type calling instruction, the first rendering graphic is processed.

[0063] In this embodiment, the rendering operation may refer to a graphics drawing operation, which is related to specific model rendering. For example, it may be drawing specific graphics such as points, lines, and surfaces. At this time, the preset classification rule may be to determine that the call instructions related to the rendering operation are the first type of call instructions, and the call instructions unrelated to the rendering operation are the second type of call instructions.

[0064] Specifically, it can be determined whether the calling instruction is related to the rendering operation according to the function corresponding to the calling instruction. For example, if the calling instruction corresponds to the function of drawing points, lines, surfaces and other graphics, it can be determined that the implementation of the function is related to the rendering operation; if the calling instruction corresponds to the function of displaying the graphics in a window, it can be determined that the implementation of the function is not related to the rendering operation.

[0065] In actual applications, since the calling instruction is generated by the interface when the application is running, different calling instructions correspond to different interfaces. According to the existing interface naming specifications, the name of the interface usually includes the function corresponding to the interface call. Taking OpenGL as an example, the function corresponding to wglGetPixelFormat (get pixel format interface) is to get the pixel format, and the function corresponding to glBufferData (create and initialize the data storage interface of the buffer object) is to create and initialize the data storage of the buffer object, etc. Therefore, as a more intuitive judgment method, it is possible to judge whether the calling instruction is related to the rendering operation based on the name of the interface corresponding to the calling instruction.

[0066] Further, according to whether the multiple call instructions are related to the rendering operation, the multiple call instructions can be divided into at least one first-category call instruction related to the rendering operation and at least one second-category call instruction unrelated to the rendering operation, wherein the first-category call instruction is a rendering instruction, and the second-category call instruction is a processing instruction, such as a display instruction, a user setting instruction, etc.

[0067] For at least one first-category calling instruction, since it is related to a rendering operation, the first device cannot provide a corresponding rendering function, and the second device may respond by calling the graphics card on the second device to perform a first rendering operation on the rendering data to obtain a first rendered graphic.

[0068] For at least one second-type calling instruction, since it is not related to the rendering operation, the first device can provide a corresponding processing function, such as display processing, etc. Therefore, the first device responds to the first-type calling instruction to perform display processing, etc. on the first rendered graphics generated by the second device.

[0069] In actual applications, the first device may be equipped with a graphics card, and the graphics card may provide some graphics processing functions, such as some rendering functions. In this case, the first device may provide some rendering processing functions required for the application to run. Therefore, in some embodiments, at least one second-category calling instruction may include at least one rendering instruction and at least one processing instruction.

[0070] At this time, in response to at least one second-type calling instruction, the method of performing a corresponding processing operation in combination with the first rendered graphic may include:

[0071] In response to at least one rendering instruction, a second rendering operation is performed on the data to be rendered to obtain a second rendering graphic; and in response to at least one processing instruction, corresponding processing operations are performed on the first rendering graphic and the second rendering graphic.

[0072] By sending rendering instructions related to the rendering operation to the second device, the second device responds, and calls the graphics card on the second device to perform a first rendering operation on the rendering data to obtain a first rendered graphic, the first device does not need to perform a rendering operation, but only needs to perform display processing and other operations on the first rendered graphic obtained by the second device. This achieves remote rendering operations with the help of the second device when the first device cannot provide rendering functions, thereby ensuring that the application can run normally on the first device.

[0073] In this embodiment, the first type of call instruction is a partial rendering instruction, which can be a rendering instruction for which the first device cannot provide a corresponding rendering function. Since the graphics card on the second device can provide the rendering function, the second device still responds to the first type of call instruction, calling the graphics card to perform a first rendering operation on the data to be rendered, and obtains a first rendered graphic.

[0074] The second type of call instructions may include rendering instructions and processing instructions. Among them, the processing instructions may include display instructions, user setting instructions, etc. In order to distinguish from the rendering instructions in the first type of call instructions mentioned above, the rendering instructions in the first type of call instructions may be referred to as first rendering instructions, and the rendering instructions in the second type of call instructions may be referred to as second rendering instructions. The rendering functions and processing functions corresponding to the second rendering instructions and processing instructions may be provided by the first device. Specifically, the first device may respond to at least one second rendering instruction to perform a second rendering operation on the data to be rendered to obtain a second rendered graphic; and respond to at least one processing instruction, such as a display instruction, to perform display processing on the first rendered graphic and the second rendered graphic.

[0075] At this time, the preset division rule may be to determine that the call instructions related to the rendering operation and not supported by the rendering resources on the first device are the first category call instructions, and the call instructions related to the rendering operation but supported by the rendering resources on the first device are the second category call instructions. Optionally, according to the preset division rule, the method of dividing the multiple call instructions into at least one first category call instruction and at least one second category call instruction may include:

[0076] According to the rendering operation and the rendering resources on the first device, the multiple calling instructions are divided into at least one first-category calling instruction related to the rendering operation and not supported by the rendering resources on the first device, and at least one second-category calling instruction related to the rendering operation but supported by the rendering resources on the first device.

[0077] Specifically, it can be determined whether the calling instruction is related to the rendering operation and whether the rendering resources on the first device support the calling instruction according to the function corresponding to the calling instruction. For example, in the rendering process, a simple rendering function can be determined as a function that the rendering resources on the first device can support and provide, such as drawing points, lines, and surfaces; and a complex rendering function can be determined as a function that the rendering resources on the first device cannot support and cannot provide, such as overall drawing. This can be set according to actual conditions and there is no specific restriction on this.

[0078] By sending some rendering instructions related to the rendering operation and not supported by the rendering resources on the first device to the second device, the second device responds and calls the graphics card on the second device to perform a first rendering operation on the rendering data to obtain a first rendered graphic. The first device only needs to respond to another part of the rendering instructions and processing instructions that can be supported by its own rendering resources, perform a second rendering operation, obtain a second rendered graphic, and display the first rendered graphic and the second rendered graphic. This allows partial remote rendering operations to be performed with the help of the second device when the first device cannot provide all rendering functions, thereby ensuring that the application can run normally on the first device.

[0079] In actual applications, different calling instructions correspond to different functions, and different functions provided by a device usually have different requirements on the operating system of the device. Therefore, in some embodiments, according to a preset classification rule, a method for classifying multiple calling instructions into at least one first-category calling instruction and at least one second-category calling instruction may include:

[0080] According to whether the multiple call instructions are related to the operating system, the multiple call instructions are divided into a first category of call instructions that are irrelevant to the operating system and a second category of call instructions that are related to the operating system.

[0081] In this embodiment, the operating system may include a Windows operating system, a Linux operating system, etc. Taking multiple call instructions of a graphics processing program as an example, the graphics processing function corresponding to some of the call instructions may be to perform a rendering operation to obtain a rendered graphic, which is irrelevant to the operating system of the device, and the graphics card on other devices may be used for rendering processing. The graphics processing function corresponding to other part of the call instructions may be to display the rendered graphic in the window of the current interface, adjust the window size, or manage user input, etc. At this time, the implementation of this part of the processing function is related to the operating system of the current device, and needs to be processed by the graphics card on the current device, etc.

[0082] At this time, the preset classification rule may be to determine that the call instructions that are not related to the operating system are the first type of call instructions, and the calls that are related to the operating system are the second type of call instructions.

[0083] Specifically, according to the existing interface naming conventions, the name of the interface will usually also contain the operating system identifier related to the interface. Taking OpenGL as an example, the name of OpenGL related to the Windows operating system can have a wgl function prefix, such as wglCreateContext (create context interface), wglGetPixelFormat (get pixel format interface), etc.; OpenGL related to the Linux operating system can have a glx function prefix, such as glxCreateContext (create context interface), glxMakeCurrent (switch context interface), etc.; OpenGL that is not related to the operating system will not have an operating system name prefix, such as glBufferData (create and initialize the data storage interface of the buffer object), etc. Therefore, it is possible to determine whether the calling instruction is related to the operating system based on whether the name of the interface corresponding to the calling instruction has a function prefix identified by the operating system.

[0084] In actual applications, judgment can also be made based on the definition of the interface corresponding to the calling instruction. If the data types of the input parameters and return values ​​of the interface are specific to a certain operating system, it can be determined that the interface is related to the operating system and can be set according to actual conditions. No specific restrictions are made here.

[0085] For at least one first-category calling instruction, since it is independent of the operating system, it does not need to be responded by the current device, i.e., the first device, but can be responded by the second device, calling the graphics card on the second device to perform a first rendering operation on the rendering data to obtain a first rendered graphic.

[0086] For at least one second-type calling instruction, since it is related to the operating system, the first device needs to respond. Therefore, the first device responds to the first-type calling instruction to perform corresponding processing operations on the first rendering graphics generated by the second device.

[0087] By sending a call instruction that is not related to the operating system to the second device, the second device responds and calls the graphics card on the second device to perform a first rendering operation on the data to be rendered, obtaining a first rendered graphic, and implementing cross-platform rendering processing with the help of the remote rendering operation of the second device. The operating system on the first device is not restricted, ensuring that the application can run normally on any operating system of the first device.

[0088] In actual applications, in addition to being able to divide multiple call instructions according to the above rendering operations, operating system relevance, etc., the preset division rule also includes the number of call instructions, etc. For example, 80% of the call instructions can be divided into the first category of call instructions, and 20% of the call instructions can be divided into the second category of call instructions, etc. The second device responds to the first category of call instructions, thereby reducing the processing intensity of the first device and helping to achieve the normal operation of the application on the first device. It can be implemented according to actual conditions and is not specifically limited here.

[0089] After dividing the multiple call instructions into at least one first-class call instruction and at least one second-class call instruction, the at least one first-class call instruction can be sent to the second device. In some embodiments, the at least one first-class call instruction can be encoded to obtain an encoding result. At this time, the method of sending the at least one first-class call instruction to the second device, and the second device responding to the at least one first-class call instruction and calling the graphics card on the second device to perform a first rendering operation on the rendering data to obtain a first rendered graphic may include:

[0090] The encoding result and the identification information of the first device are sent to the second device. The second device establishes a communication connection with the first device based on the identification information of the first device, decodes the encoding result to obtain at least one first-type calling instruction, responds to the first-type calling instruction, and calls the graphics card on the second device to perform a first rendering operation on the rendering data to obtain a first rendered graphic.

[0091] The at least one first-category calling instruction may be encoded to obtain an encoding result, and the encoding result may be sent to the second device. Specifically, the encoding result may be assembled into a data frame and sent to the second device.

[0092] In practical applications, taking the first device as a client and the second device as a server as an example, the server can manage multiple clients and provide data processing functions for multiple clients. Therefore, when the above encoding result is sent to the second device, the identification information of the first device can also be sent to the second device. Specifically, the data frame can carry the identification information. At this time, the second device can establish a communication connection with the first device according to the identification information. Among them, the way in which the first device and the second device establish a communication connection can include multiple, as an optional implementation method, a communication connection can be established through the Transmission Control Protocol / Internet Protocol (TCP / IP), as another optional implementation method, a communication connection can be established through the User Datagram Protocol (UDP), as another optional implementation method, a communication connection can also be established through shared memory, etc. If the first device is a virtual machine and the second device is a host machine running the virtual machine, a communication connection can also be established through the communication method of virtio (a general I / O virtualization framework), etc., which can be set according to actual conditions, and no specific restrictions are made here.

[0093] Furthermore, the second device may decode the encoding result to obtain at least one first-type call instruction, and respond to the first-type call instruction and call the graphics card on the second device to perform a first rendering operation on the rendering data to obtain a first rendering graphic. Optionally, the second device may preferentially create a rendering context for the first device, that is, create a drawing window for the first rendering graphic. The first rendering graphic is then sent to the first device via the communication connection established between the first device and the second device.

[0094] The first device responds to at least one second-type calling instruction and performs corresponding processing operations in combination with the first rendered graphic.

[0095] In practical applications, the above process of responding to the call instruction and calling the graphics card or CPU on the device to perform data processing can be implemented through a dynamic library on the device. A dynamic library (Dynamic Link Library, abbreviated as DLL) is a way to implement the concept of a shared function library, which contains one or more functions that have been compiled, linked, and stored separately from the application that uses them.

[0096] In some embodiments, the first device may include a first dynamic library; and the second device may include a second dynamic library.

[0097] The method of sending at least one first-type calling instruction to a second device, and having the second device respond to the at least one first-type calling instruction and call a graphics card on the second device to perform a first rendering operation on rendering data to obtain a first rendered graphic may include:

[0098] Sending at least one first-class calling instruction to a second device, the second device responding to the at least one first-class calling instruction, and using a second dynamic library and a graphics driver on the second device to process at least one interface corresponding to the at least one first-class calling instruction to obtain at least one first processing instruction, and controlling the graphics card on the second device to execute the at least one first processing instruction;

[0099] In response to at least one second-type calling instruction, the method of performing a corresponding processing operation in combination with the first rendered graphic may include:

[0100] In response to at least one second type calling instruction, at least one interface corresponding to the at least one second type calling instruction is processed using the first dynamic library to obtain at least one second processing instruction, and a corresponding processing operation is performed in combination with the first rendered image.

[0101] The setting of the dynamic library is related to the operating system of the device. For example, if the application running on the device is a graphics processing program, and the graphics processing program uses OpenGL to generate call instructions, if the operating system of the device is a Windows operating system, the dynamic library on the device can be implemented as libopengl32.dll, and if the operating system of the device is a Linux operating system, the dynamic library on the device can be implemented as libGL.so, etc.

[0102] The second device responds to at least one first-class calling instruction, processes the interface corresponding to the at least one first-class calling instruction using a second dynamic library and a graphics card driver on the second device to obtain at least one first processing instruction, and controls the graphics card on the second device to execute the at least one first processing instruction to render the data to be rendered and obtain a first rendered graphic.

[0103] The first device responds to at least one second-class calling instruction, and based on the interface corresponding to the at least one second-class calling instruction, uses the first dynamic library to process the interface to obtain at least one second processing instruction, and the CPU on the first device or the graphics card that can only provide partial graphics processing functions executes the at least one second processing instruction, and performs corresponding processing operations in combination with the first rendered graphics.

[0104] like Figure 2 FIG. 1 is a flowchart of another embodiment of a data processing method provided by the present application. The method may include the following steps:

[0105] 201: Receive at least one first-type calling instruction sent by a first device.

[0106] The at least one first-category calling instruction is obtained by dividing a plurality of calling instructions generated by the application program by the first device, and the application program runs on the first device.

[0107] In this embodiment, it can be applied to the second device. Taking the first device as a terminal as an example, the second device can be a server that manages the terminal.

[0108] The above application is run on the first device, and multiple call instructions of the application are divided into a first type of call instructions and a second type of call instructions, and the first type of call instructions are sent to the second device. The first type of call instructions may refer to rendering instructions. The division method and sending process of the first type of call instructions have been described in detail in the previous embodiment, and will not be repeated here.

[0109] 202: In response to at least one first-type calling instruction, call a graphics card on a second device to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic.

[0110] The second device has a graphics card, and the graphics card can provide graphics processing functions required for the application to run, such as rendering functions, etc. Therefore, in response to the first type of call instruction, the graphics card can be called to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic.

[0111] In response to the first type of call instruction, the second device can determine the interface corresponding to the first type of call instruction, and based on the corresponding interface, can call the graphics card to perform a corresponding first rendering operation on the rendering data to obtain a first rendering graphic. The specific implementation has been described in detail in the previous embodiment and will not be repeated here.

[0112] 203: Send the first rendered graphic to the first device, so that the first device responds to at least one second-type calling instruction and performs corresponding processing operations in combination with the first rendered graphic.

[0113] The at least one second-category calling instruction is obtained by dividing a plurality of calling instructions generated by the application by the first device, and is different from the at least one first-category calling instruction.

[0114] In this embodiment, the second device has a graphics card that can provide graphics processing functions required for the operation of the application, such as a rendering function. Therefore, based on at least one first-class call instruction sent by the first device, specifically a rendering instruction, a first rendering operation can be performed on the rendering data to obtain a first rendered graphic. By performing a remote rendering operation, graphics processing functions required for the operation of the application that the first device cannot provide, such as a rendering function, are provided. This solves the problem that the application on the first device cannot run normally due to the lack of a graphics card on the first device or the graphics card cannot provide all the graphics processing functions required for the operation of the application, thereby ensuring that the application can run on the first device and improving the user experience.

[0115] In actual applications, when the first device sends at least one first-class call instruction to the second device, the first-class call instruction is usually encoded and the encoding result is sent. Therefore, in some embodiments, the second device can receive the encoding result sent by the first device and the identification information of the first device; the encoding result is obtained by the first device encoding at least one first-class call instruction;

[0116] Establishing a communication connection with the first device based on the identification information;

[0117] The encoding result is decoded to obtain at least one first-category calling instruction.

[0118] Among them, since the second device can manage multiple first devices, in actual applications, the first device usually sends its own identification information and encoding results together, and assembles the encoding results into a data frame. Therefore, the second device can determine the first device to establish a communication connection based on the identification information, and establish a communication connection with the first device.

[0119] Furthermore, the encoding result may be obtained from the data frame, and the encoding result may be decoded to obtain at least one first-category calling instruction, and then subsequent processing operations may be performed.

[0120] like Figure 3 FIG. 1 is a schematic diagram of a structure of an embodiment of a data processing device provided by the present application. The device may include the following modules:

[0121] The division module 301 is used to determine a plurality of call instructions generated by an application program, the application program being run on a first device; and divide the plurality of call instructions into at least one first-category call instruction and at least one second-category call instruction according to a preset division rule;

[0122] The first communication module 302 is used to send at least one first-type calling instruction to the second device, and the second device responds to the at least one first-type calling instruction to call the graphics card on the second device to perform a first rendering operation on the rendering data to obtain a first rendering graphic; and obtain the first rendering graphic sent by the second device;

[0123] The processing module 303 is used to respond to at least one second-type calling instruction and perform corresponding processing operations in combination with the first rendering graphic.

[0124] Figure 3 The data processing device shown is used to implement Figure 1 The data processing method in the illustrated embodiment performs a first rendering operation on the data to be rendered by calling a graphics card on the second device that can provide the graphics processing functions required for the application to run, to obtain a first rendered graphic, and the first device performs corresponding processing operations based on the first rendered graphic, thereby realizing remote rendering using the graphics card on the second device and providing the corresponding graphics processing functions, thereby solving the problem that the application on the first device cannot run normally due to the lack of a graphics card on the first device or the graphics card cannot provide all the graphics processing functions required for the application to run, thereby improving the user experience.

[0125] In some embodiments, the division module 301 may be specifically configured to divide the multiple call instructions into at least one first-category call instruction related to the rendering operation and at least one second-category call instruction unrelated to the rendering operation, according to whether the multiple call instructions are related to the rendering operation.

[0126] The processing module 303 may be specifically configured to process the first rendering graphic in response to at least one second-type calling instruction.

[0127] In some embodiments, the processing module 303 may be specifically configured to perform a second rendering operation on the data to be rendered to obtain a second rendered graphic in response to at least one rendering instruction; and process the first rendered graphic and the second rendered graphic in response to at least one processing instruction.

[0128] In some embodiments, the division module 301 can be specifically used to divide multiple call instructions into at least one first-category call instruction related to the rendering operation and not supported by the rendering resources on the first device, and at least one second-category call instruction related to the rendering operation but supported by the rendering resources on the first device, according to the rendering operation and the rendering resources.

[0129] In some embodiments, the division module 301 may be specifically configured to divide the multiple call instructions into a first category of call instructions that are irrelevant to the operating system and a second category of call instructions that are relevant to the operating system, based on whether the multiple call instructions are relevant to the operating system.

[0130] In some embodiments, the device may further include an encoding module, configured to encode at least one first-category calling instruction to obtain an encoding result.

[0131] like Figure 4 FIG. 1 is a schematic diagram of the structure of another embodiment of a data processing device provided by the present application. The device may include the following modules:

[0132] The second communication module 401 is used to receive at least one first-category calling instruction sent by the first device, where the at least one first-category calling instruction is obtained by dividing a plurality of calling instructions generated by the application program by the first device, and the application program is running on the first device;

[0133] A rendering module 402, configured to, in response to at least one first-type calling instruction, call a graphics card on a second device to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic;

[0134] The second communication module 401 is also used to send the first rendered graphic to the first device so that the first device responds to at least one second-class calling instruction and performs corresponding processing operations in combination with the first rendered graphic. The at least one second-class calling instruction is obtained by the first device by dividing multiple calling instructions generated by the application and is different from at least one first-class calling instruction.

[0135] Figure 4 The data processing device of the embodiment can be used to implement Figure 2 In the data processing method of the illustrated embodiment, the second device has a graphics card that can provide graphics processing functions required for the operation of the application, such as a rendering function. Therefore, based on at least one first-class call instruction sent by the first device, specifically a rendering instruction, a first rendering operation can be performed on the rendering data to obtain a first rendered graphic. By performing a remote rendering operation, graphics processing functions required for the operation of the application that the first device cannot provide, such as a rendering function, are provided. This solves the problem that the application on the first device cannot run normally due to the lack of a graphics card on the first device or the graphics card cannot provide all the graphics processing functions required for the operation of the application, thereby ensuring that the application can run on the first device and improving the user experience.

[0136] like Figure 5 , which is a schematic diagram of a structure of an embodiment of a data processing system provided by the present application, including a first device 501 and a second device 502;

[0137] The first device 501 is used to determine multiple call instructions generated by an application program, which is running on the first device; divide the multiple call instructions into at least one first-category call instruction and at least one second-category call instruction according to a preset division rule; send the at least one first-category call instruction to the second device, and the second device responds to the at least one first-category call instruction to call the graphics card on the second device to perform a first rendering operation on the rendering data to obtain a first rendering graphic; obtain the first rendering graphic sent by the second device; respond to the at least one second-category call instruction, and perform corresponding processing operations in combination with the first rendering graphic;

[0138] The second device 502 is used to receive at least one first-category calling instruction sent by the first device, where the at least one first-category calling instruction is obtained by the first device dividing multiple calling instructions generated by an application, and the application is running on the first device; in response to at least one first-category calling instruction, call the graphics card on the second device to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic; and send the first rendered graphic to the first device so that the first device responds to at least one second-category calling instruction and performs corresponding processing operations in combination with the first rendered graphic, where the at least one second-category calling instruction is obtained by the first device dividing multiple calling instructions generated by the application, and is different from the at least one first-category calling instruction.

[0139] By calling a graphics card on the second device that can provide the graphics processing functions required for the application to run, performing a first rendering operation on the rendering data to obtain a first rendered graphic, and the first device performing corresponding processing operations based on the first rendered graphic, remote rendering is achieved by using the graphics card on the second device to provide corresponding graphics processing functions, thereby solving the problem that the application on the first device cannot run normally due to the lack of a graphics card on the first device or the graphics card cannot provide all the graphics processing functions required for the application to run, thereby improving the user experience.

[0140] like Figure 6 , which is a structural diagram of another embodiment of a data processing system provided by the present application, includes a first device and a second device; an application 601 is running on the first device;

[0141] The first device includes a division module 301, a processing module 303, an encoding module 602 and a first communication module 302;

[0142] The division module 301 is used to determine a plurality of call instructions generated by an application 601, the application being run on a first device; and divide the plurality of call instructions into at least one first-category call instruction and at least one second-category call instruction according to a preset division rule;

[0143] The encoding module 602 is used to encode at least one first-category calling instruction to obtain an encoding result;

[0144] The first communication module 302 is used to send the encoding result and the identification information of the first device to the second device, and the second device decodes the encoding result to obtain at least one first-type calling instruction, and responds to the at least one first-type calling instruction to call the graphics card on the second device to perform a first rendering operation on the to-be-rendered data to obtain a first rendering graphic; and obtain the first rendering graphic sent by the second device;

[0145] The processing module 303 is used to respond to at least one second-type calling instruction and perform corresponding processing operations in combination with the first rendering graphic.

[0146] The second device includes a second communication module 401, a management module 603, a decoding module 604 and a rendering module 402;

[0147] The second communication module 401 is used to receive the encoding result sent by the first device and the identification information of the first device, the encoding result is obtained by the first device encoding at least one first-class calling instruction, the at least one first-class calling instruction is obtained by the first device dividing multiple calling instructions generated by the application, and the application runs on the first device; and send the first rendering graphic to the first device, so that the first device responds to at least one second-class calling instruction and performs corresponding processing operations in combination with the first rendering graphic, the at least one second-class calling instruction is obtained by the first device dividing multiple calling instructions generated by the application, and is different from the at least one first-class calling instruction.

[0148] A management module 603 is used to establish a communication connection with the first device and create a rendering context for the first device based on the identification information;

[0149] A decoding module 604, configured to decode the encoding result to obtain at least one first-category calling instruction;

[0150] The rendering module 402 is used to respond to at least one first-type calling instruction and call the graphics card on the second device to perform a first rendering operation on the rendering data based on the rendering context to obtain a first rendered graphic.

[0151] By calling a graphics card on the second device that can provide the graphics processing functions required for the application to run, performing a first rendering operation on the rendering data to obtain a first rendered graphic, and the first device performing corresponding processing operations based on the first rendered graphic, remote rendering is achieved by using the graphics card on the second device to provide corresponding graphics processing functions, thereby solving the problem that the application on the first device cannot run normally due to the lack of a graphics card on the first device or the graphics card cannot provide all the graphics processing functions required for the application to run, thereby improving the user experience.

[0152] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0153] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0154] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the traditional solution can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiment.

[0155] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A data processing method, characterized in that: Applied to a first device, comprising: determining a plurality of call instructions generated by an application program, the application program being executed on the first device; According to a preset division rule, the plurality of call instructions are divided into at least one first-category call instruction and at least one second-category call instruction; Sending the at least one first-type calling instruction to a second device, and the second device responding to the at least one first-type calling instruction to call a graphics card on the second device to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic; Acquire the first rendered graphic sent by the second device; In response to the at least one second-type calling instruction, performing a corresponding processing operation in combination with the first rendered graphic; According to a preset division rule, the plurality of call instructions are divided into at least one first-category call instruction and at least one second-category call instruction, including: Determining whether the multiple calling instructions are related to the operating system according to whether the names of the interfaces corresponding to the multiple calling instructions contain a function prefix identified by the operating system or according to the definitions of the interfaces corresponding to the multiple calling instructions; The calling instructions that are not related to the operating system are determined as the first type of calling instructions, and the calling instructions that are related to the operating system are determined as the second type of calling instructions.

2. The method according to claim 1, characterized in that The dividing the plurality of call instructions into at least one first-category call instruction and at least one second-category call instruction according to a preset dividing rule comprises: According to whether the multiple call instructions are related to the rendering operation, the multiple call instructions are divided into at least one first-category call instruction related to the rendering operation and at least one second-category call instruction unrelated to the rendering operation; The performing corresponding processing operations in combination with the first rendered graphics in response to the at least one second-type calling instruction includes: In response to the at least one second-type calling instruction, a corresponding processing operation is performed on the first rendering graphic.

3. The method according to claim 1, characterized in that The at least one second-category calling instruction includes at least one rendering instruction and at least one processing instruction; The performing corresponding processing operations in combination with the first rendered graphics in response to the at least one second-type calling instruction includes: In response to the at least one rendering instruction, performing a second rendering operation on the data to be rendered to obtain a second rendering graphic; And in response to the at least one processing instruction, performing corresponding processing operations on the first rendering graphic and the second rendering graphic.

4. The method according to claim 3, characterized in that The dividing the plurality of call instructions into at least one first-category call instruction and at least one second-category call instruction according to a preset dividing rule comprises: According to the rendering operation and the rendering resources on the first device, the multiple calling instructions are divided into at least one first-category calling instruction related to the rendering operation and not supported by the rendering resources on the first device, and at least one second-category calling instruction related to the rendering operation but supported by the rendering resources on the first device.

5. The method according to claim 1, characterized in that The dividing the plurality of call instructions into at least one first-category call instruction and at least one second-category call instruction according to a preset dividing rule comprises: According to whether the multiple call instructions are related to the operating system, the multiple call instructions are divided into a first category of call instructions that are irrelevant to the operating system and a second category of call instructions that are related to the operating system.

6. The method according to claim 1, characterized in that The method further comprises: Encoding the at least one first-category calling instruction to obtain an encoding result; The sending of the at least one first-type calling instruction to the second device, and the second device responding to the at least one first-type calling instruction to call a graphics card on the second device to perform a first rendering operation on the rendering data to obtain a first rendering graphic, comprises: The encoding result and the identification information of the first device are sent to a second device, and the second device establishes a communication connection with the first device based on the identification information of the first device, decodes the encoding result to obtain the at least one first-type calling instruction, and responds to the at least one first-type calling instruction to call the graphics card on the second device to perform a first rendering operation on the rendering data to obtain a first rendered graphic.

7. The method according to claim 1, characterized in that The first device includes a first dynamic library; the second device includes a second dynamic library; The sending of the at least one first-type calling instruction to the second device, and the second device responding to the at least one first-type calling instruction to call a graphics card on the second device to perform a first rendering operation on the rendering data to obtain a first rendering graphic, comprises: Sending the at least one first-class calling instruction to the second device, the second device responding to the at least one first-class calling instruction, and using the second dynamic library and the graphics card driver on the second device to process at least one interface corresponding to the at least one first-class calling instruction to obtain at least one first processing instruction, and controlling the graphics card on the second device to execute the at least one first processing instruction; The performing corresponding processing operations in combination with the first rendered graphics in response to the at least one second-type calling instruction includes: In response to the at least one second-type calling instruction, the first dynamic library is used to process at least one interface corresponding to the at least one second-type calling instruction to obtain at least one second processing instruction, and the second processing instruction is executed.

8. A data processing method, characterized in that: Applied to the second device, comprising: receiving at least one first-category calling instruction sent by a first device, the at least one first-category calling instruction being obtained by dividing a plurality of calling instructions generated by an application program by the first device, the first-category calling instruction being determined to be independent of the operating system based on whether the name of the interface corresponding to the calling instruction carries a function prefix identified by the operating system or based on the definition of the interface corresponding to the calling instruction, and the application program running on the first device; In response to the at least one first-type calling instruction, calling a graphics card on the second device to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic; The first rendering graphic is sent to the first device so that the first device responds to at least one second-category calling instruction and performs corresponding processing operations in combination with the first rendering graphic. The at least one second-category calling instruction is obtained by dividing a plurality of calling instructions generated by the application by the first device, and is different from the at least one first-category calling instruction. The second-category calling instruction determines whether the calling instruction is related to the operating system based on whether the name of the interface corresponding to the calling instruction carries a function prefix identified by the operating system or based on the definition of the interface corresponding to the calling instruction.

9. The method according to claim 8, characterized in that The receiving at least one first-type calling instruction sent by the first device includes: Receiving an encoding result sent by a first device and identification information of the first device; the encoding result is obtained by the first device encoding at least one first-category calling instruction; Based on the identification information, establishing a communication connection with the first device; The encoding result is decoded to obtain the at least one first-category calling instruction.

10. A data processing device, characterized in that: include: a partitioning module, configured to determine a plurality of call instructions generated by an application program, the application program being executed on a first device; And according to a preset division rule, the multiple call instructions are divided into at least one first-category call instruction and at least one second-category call instruction; wherein, according to the preset division rule, the multiple call instructions are divided into at least one first-category call instruction and at least one second-category call instruction, including: determining whether the multiple call instructions are related to the operating system according to whether the names of the interfaces corresponding to the multiple call instructions contain a function prefix identified by the operating system or according to the definitions of the interfaces corresponding to the multiple call instructions; determining the call instructions that are not related to the operating system as the first-category call instructions, and determining the call instructions related to the operating system as the second-category call instructions; A first communication module is configured to send the at least one first-type calling instruction to a second device, so that the second device responds to the at least one first-type calling instruction to call a graphics card on the second device to perform a first rendering operation on the data to be rendered to obtain a first rendering graphic; and obtain the first rendering graphic sent by the second device; A processing module is used to respond to the at least one second-type calling instruction and perform corresponding processing operations in combination with the first rendering graphic.

11. A data processing device, characterized in that: include: A second communication module is used to receive at least one first-category calling instruction sent by a first device, wherein the at least one first-category calling instruction is obtained by dividing a plurality of calling instructions generated by an application program by the first device, and the application program runs on the first device, and the first-category calling instruction is determined to be independent of the operating system based on whether the name of the interface corresponding to the calling instruction carries a function prefix identified by the operating system or based on the definition of the interface corresponding to the calling instruction; A rendering module, configured to, in response to the at least one first-type calling instruction, call a graphics card on the second device to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic; The second communication module is also used to send the first rendering graphic to the first device, so that the first device responds to at least one second-category calling instruction and performs corresponding processing operations in combination with the first rendering graphic. The at least one second-category calling instruction is obtained by the first device by dividing multiple calling instructions generated by the application, and is different from the at least one first-category calling instruction. The second-category calling instruction determines whether the calling instruction is related to the operating system based on whether the name of the interface corresponding to the calling instruction carries a function prefix identified by the operating system or based on the definition of the interface corresponding to the calling instruction.

12. A data processing system, characterized in that: comprising a first device and a second device; The first device is used to determine a plurality of call instructions generated by an application program, the application program being run on the first device; divide the plurality of call instructions into at least one first-category call instruction and at least one second-category call instruction according to a preset division rule; send the at least one first-category call instruction to the second device, and the second device responds to the at least one first-category call instruction to call a graphics card on the second device to perform a first rendering operation on the rendering data to obtain a first rendered graphic; Acquire the first rendered graphic sent by the second device; In response to the at least one second-type calling instruction, performing a corresponding processing operation in combination with the first rendered graphic; The second device is configured to receive at least one first-category calling instruction sent by the first device, the at least one first-category calling instruction being obtained by dividing a plurality of calling instructions generated by an application program, the application program being run on the first device; in response to the at least one first-category calling instruction, calling a graphics card on the second device to perform a first rendering operation on the data to be rendered to obtain a first rendered graphic; sending the first rendering graphic to the first device, so that the first device performs corresponding processing operations in combination with the first rendering graphic in response to at least one second-category calling instruction, where the at least one second-category calling instruction is obtained by dividing a plurality of calling instructions generated by the application program by the first device and is different from the at least one first-category calling instruction; Among them, according to a preset classification rule, the multiple call instructions are divided into at least one first-category call instruction and at least one second-category call instruction, including: determining whether the multiple call instructions are related to the operating system according to whether the name of the interface corresponding to the multiple call instructions carries a function prefix identified by the operating system or according to the definition of the interface corresponding to the multiple call instructions; determining the call instructions that are not related to the operating system as the first-category call instructions, and determining the call instructions related to the operating system as the second-category call instructions.

Citation Information

Patent Citations

  • GUI rendering display method, terminal, server, electronic equipment and storage medium

    CN112614202A