Data processing method, device and equipment, readable storage medium and program product

By obtaining the global status information of the game screen and re-arranging the assembly instructions of the game application, the problem of low instruction optimization efficiency under the general optimization method of the compiler is solved, and the smoothness of the game screen is improved.

CN120631360APending Publication Date: 2025-09-12TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410276212.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-03-11
Publication Date
2025-09-12

AI Technical Summary

Technical Problem

In the prior art, during the compilation process, the game installation package performs instruction optimization using a common compiler optimization method, resulting in low instruction optimization efficiency and low smoothness of the game screen operation.

Method used

By obtaining the global status information of the game screen, the target statistical file is determined, and based on the global status information and the preset static library, the assembly instructions of the game application are rearranged, and the target statistical file is used to guide the compiler to perform targeted optimization.

Benefits of technology

Improved the efficiency of command optimization and enhanced the smoothness of the game screen.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120631360A_ABST
    Figure CN120631360A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data processing method and device, equipment, a readable storage medium and a program product, and relates to the fields of artificial intelligence, maps, instruction optimization and the like, and application scenes include but are not limited to game fluency improvement scenes. The method is executed by a target client and comprises the steps that a state information playback file is obtained, and the state information playback file comprises global state information of an object set of game playing pictures in the running process of an original game application program loaded on the target client; determining a target program based on the original game application program and a preset static library; reading global state information from the state information playback file through the target program, and determining a target statistical file based on the read global state information; determining a target game application program based on the original game application program and the target statistical file, the target game application program being used for instruction rearrangement of the at least two clients; therefore, the instruction optimization efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of instruction optimization, and in particular, to a data processing method, apparatus, device, readable storage medium, and program product. Background Art

[0002] In the prior art, when a game installation package is compiled by a compiler, it often uses the compiler's common optimization methods to optimize instructions. These methods typically set the compiler's instruction optimization operation level, such as O1-O3, where O0 represents no optimization, O1 is the default value, and O3 represents the most efficient instruction optimization. However, using only the compiler's common optimization methods for instruction optimization often results in low instruction optimization efficiency and poor game performance. Summary of the Invention

[0003] In response to the shortcomings of existing methods, the present disclosure proposes a data processing method, device, equipment, computer-readable storage medium and computer program product to solve the problem of how to improve the efficiency of instruction optimization.

[0004] In a first aspect, the present disclosure provides a data processing method, which is executed by a target client and includes:

[0005] Obtaining a state information playback file, the state information playback file including global state information of a set of objects representing a game session screen during execution of an original game application loaded on a target client, the global state information being used to characterize relevant game attributes of each object in the set of objects, the game session screen being used to characterize a game session screen between the original game applications loaded on at least two clients, the at least two clients including the target client;

[0006] Determine the target program based on the original game application and the preset static library;

[0007] Reading global state information from the state information playback file through the target program, and determining a target statistical file based on the read global state information, the target statistical file including the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application;

[0008] Based on the original game application and the target statistics file, a target game application is determined, and the target game application is used for instruction reordering of at least two clients.

[0009] In one embodiment, obtaining a state information playback file includes:

[0010] Acquiring first information by recording a game screen during the execution of the original game application, the first information including a game stream level, objects within a field of view of a game camera, newly created objects in the game screen, and attribute change values ​​of the newly created objects;

[0011] Receive a data packet sent by the game server, and determine second information based on the data packet, the second information including private state information of objects corresponding to clients other than the target client among at least two clients, state change information of objects corresponding to at least two clients, attribute change information of at least one object in the object set, and attribute change value of at least one object;

[0012] determining global state information based on the first information and the second information;

[0013] Based on the global state information, a state information playback file is constructed.

[0014] In one embodiment, the target client runs on the target terminal and determines the target program based on the original game application and the preset static library, including:

[0015] The preset static library is sent to the linker of the target terminal through the compiler of the target terminal, and the static library is used to count the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application;

[0016] Through the linker, link the original game application and static library into a target program.

[0017] In one embodiment, the target program reads global state information from the state information playback file, including:

[0018] Through the demonstration playback function in the target program, the state information of the objects in each frame of the game screen is read from the state information playback file in the order of each frame of the game screen. The global state information includes the state information of the objects in each frame of the game screen. The state information of the objects in each frame of the game screen is used to represent the relevant game attributes of the objects in each frame of the game screen.

[0019] In one embodiment, determining a target statistics file based on the read global status information by the target program includes:

[0020] Determine the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application program based on the read global state information using a counter of static library calls in the target program;

[0021] Based on the usage frequency of each assembly instruction, the target statistics file is determined.

[0022] In one embodiment, determining a target statistics file based on the usage frequency of each assembly instruction includes:

[0023] The usage frequency of each assembly instruction is written into the original statistical file, and the original statistical file after writing is determined. The original statistical file is a file written by the static library to the hard disk of the target terminal;

[0024] The file conversion tool is called through the compiler of the target terminal to convert the written original statistical file into a target statistical file.

[0025] In one embodiment, determining a target game application based on the original game application and the target statistics file includes:

[0026] The target statistical file is checked into the original game application to obtain the target game application. The target game application includes the original game application and the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application.

[0027] In one embodiment, after determining the target game application based on the original game application and the target statistics file, the method further includes:

[0028] converting the original game application program in the target game application program into an assembly instruction set through a compiler of the target terminal;

[0029] Based on the usage frequency of each assembly instruction in the target game application program, each assembly instruction in the assembly instruction set is reordered.

[0030] In one embodiment, based on the usage frequency of each assembly instruction in the target game application, each assembly instruction in the assembly instruction set is reordered, including:

[0031] The frequency of use of each assembly instruction in the target game application is sorted from large to small, and the assembly instructions with the highest frequency of use are saved in the cache of the target terminal.

[0032] In a second aspect, the present disclosure provides a data processing device, applied to a target client, comprising:

[0033] A first processing module is configured to obtain a state information playback file, the state information playback file including global state information of a set of objects in a game game screen during execution of an original game application loaded on a target client, the global state information being used to represent relevant game attributes of each object in the set of objects, the game game screen being used to represent a screen of a game game between the original game applications loaded on at least two clients, the at least two clients including the target client;

[0034] A second processing module is used to determine a target program based on the original game application and a preset static library;

[0035] a third processing module, configured to read global state information from the state information playback file through the target program, and determine a target statistical file based on the read global state information, the target statistical file including a usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application;

[0036] The fourth processing module is used to determine a target game application based on the original game application and the target statistical file, where the target game application is used for reordering instructions of at least two clients.

[0037] In a third aspect, the present disclosure provides an electronic device, comprising: a processor, a memory, and a bus;

[0038] Bus, used to connect the processor and memory;

[0039] A memory, for storing operation instructions;

[0040] The processor is used to execute the data processing method of the first aspect of the present disclosure by calling an operation instruction.

[0041] In a fourth aspect, the present disclosure provides a computer-readable storage medium storing a computer program, which is used to execute the data processing method of the first aspect of the present disclosure.

[0042] In a fifth aspect, the present disclosure provides a computer program product, comprising a computer program, which implements the steps of the data processing method in the first aspect of the present disclosure when the computer program is executed by a processor.

[0043] The technical solutions provided by the embodiments of the present disclosure have at least the following beneficial effects:

[0044] The target client obtains a state information playback file, which includes global state information of an object set of a game game screen during the operation of an original game application loaded on the target client. The global state information is used to characterize relevant game attributes of each object in the object set. The game game screen is used to characterize a screen of a game game between original game applications loaded on at least two clients, and the at least two clients include the target client. The target client determines a target program based on the original game application and a preset static library. The target client reads the global state information from the state information playback file through the target program, and determines a target statistical file based on the read global state information. The target statistical file includes the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application. The target client determines a target game application based on the original game application and the target statistical file. The target game application is used for instruction reordering of at least two clients. In this way, based on the global status information during game operation, the target statistical file (such as the profile.profdata file) is determined; based on the original game application (such as the game installation package) and the target statistical file, the target game application (such as a new game installation package) is constructed; thereby, when the compiler compiles the target game application, the target statistical file in the target game application is used to guide the compiler to re-arrange instructions, so that the compiler can perform targeted optimization based on the game characteristics, thereby improving the efficiency of instruction optimization and the smoothness of the game screen operation. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, the following briefly introduces the drawings required for describing the embodiments of the present disclosure.

[0046] Figure 1 A schematic diagram of the architecture of a data processing system provided in an embodiment of the present disclosure;

[0047] Figure 2 A flowchart of a data processing method provided in an embodiment of the present disclosure;

[0048] Figure 3 A schematic diagram of a game screen provided by an embodiment of the present disclosure;

[0049] Figure 4 A schematic diagram of a game recording provided in an embodiment of the present disclosure;

[0050] Figure 5 A schematic diagram of a game replay provided in an embodiment of the present disclosure;

[0051] Figure 6 A flowchart of a data processing method provided in an embodiment of the present disclosure;

[0052] Figure 7 A schematic structural diagram of a data processing device provided in an embodiment of the present disclosure;

[0053] Figure 8 A schematic structural diagram of an electronic device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0054] The following describes embodiments of the present disclosure in conjunction with the accompanying drawings. It should be understood that the embodiments described below in conjunction with the accompanying drawings are exemplary descriptions for explaining the technical solutions of the embodiments of the present disclosure and do not constitute a limitation on the technical solutions of the embodiments of the present disclosure.

[0055] Those skilled in the art will understand that, unless otherwise stated, the singular forms "a", "an", "said", and "the" used herein may also include plural forms. It should be further understood that the terms "including" and "comprising" used in the embodiments of the present disclosure mean that the corresponding features can be implemented as the presented features, information, data, steps, operations, elements, and / or components, but do not exclude implementation as other features, information, data, steps, operations, elements, components, and / or combinations thereof supported by the present technical field. It should be understood that when we say that an element is "connected" or "coupled" to another element, the element can be directly connected or coupled to the other element, or it can refer to the connection relationship between the element and the other element established through an intermediate element. In addition, the "connection" or "coupling" used here can include wireless connection or wireless coupling. The term "and / or" used here indicates at least one of the items defined by the term, for example, "A and / or B" indicates implementation as "A", or implementation as "B", or implementation as "A and B".

[0056] It is understandable that in the specific implementation of the present disclosure, when data related to data processing is involved, when the above embodiments of the present disclosure are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards of relevant countries and regions.

[0057] In order to make the objectives, technical solutions and advantages of the present disclosure more clear, the embodiments of the present disclosure will be further described in detail below with reference to the accompanying drawings.

[0058] The embodiment of the present disclosure is a data processing method provided by an identification system, which relates to fields such as artificial intelligence, maps, and instruction optimization.

[0059] Artificial Intelligence (AI) refers to the theories, methods, techniques, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, to perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that seeks to understand the essence of intelligence and produce new intelligent machines that can respond in a manner similar to human intelligence. AI also studies the design principles and implementation methods of various intelligent machines, enabling them to possess the capabilities of perception, reasoning, and decision-making.

[0060] Artificial intelligence (AI) technology is a comprehensive discipline encompassing a wide range of fields, encompassing both hardware and software technologies. Foundational AI technologies generally include sensors, specialized AI chips, cloud computing, distributed storage, big data processing, operating / interaction systems, and mechatronics. AI software technologies primarily encompass computer vision, speech processing, natural language processing, as well as machine learning / deep learning, autonomous driving, and smart transportation.

[0061] Intelligent Traffic System (ITS), also known as Intelligent Transportation System, effectively integrates advanced science and technology (information technology, computer technology, data communication technology, sensor technology, electronic control technology, automatic control theory, operations research, artificial intelligence, etc.) into transportation, service control and vehicle manufacturing, strengthens the connection between vehicles, roads and users, and thus forms a comprehensive transportation system that ensures safety, improves efficiency, improves the environment and saves energy.

[0062] In order to better understand and illustrate the solutions of the embodiments of the present disclosure, some technical terms involved in the embodiments of the present disclosure are briefly explained below.

[0063] Clang: Clang is a lightweight compiler for languages ​​such as C, C++, and Objective-C.

[0064] Assembly instructions: Assembly instructions are some operators and mnemonics used in assembly language. Assembly instructions also include some pseudo-instructions. Assembly instructions correspond one-to-one with machine instructions.

[0065] IR: Intermediate Representation (IR) is a low-level coding language that is closer to machine code. IR is language-independent, compressed, and concise. IR contains control flow information and is the basis for static analysis. IR is platform-independent and does not correspond to any specific hardware CPU (Central Processing Unit) architecture. However, it still needs to define basic memory data load / store, register addressing, branch jumps, and stack operations.

[0066] -fprofile-generate option: The -fprofile-generate option enables IR-based instrumentation configuration; with the -fprofile-generate option, the backend of the compiler can use the weighted minimum spanning tree method to reduce the number of instrumentation points and optimize the placement of instrumentation points on low-weight edges.

[0067] -gline-tables-only option: The -gline-tables-only option is used to generate concise debugging information.

[0068] Static library: For example, the C language standard library is also provided in the form of a static library, which contains the implementation code of the standard library functions and types; the static library is linked with the application at compile time, allowing the application to call the functions provided by the standard library.

[0069] The solutions provided by the embodiments of this disclosure relate to instruction optimization technology. The technical solutions of this disclosure are described in detail below using specific embodiments. The following specific embodiments may be combined with each other, and identical or similar concepts or processes may not be described in detail in some embodiments. The embodiments of this disclosure will be described below with reference to the accompanying drawings.

[0070] In order to better understand the solution provided by the embodiment of the present disclosure, the solution is described below in conjunction with a specific application scenario.

[0071] In one embodiment, Figure 1 FIG. 1 shows a schematic diagram of the architecture of a data processing system applicable to an embodiment of the present disclosure. It can be understood that the data processing method provided by the embodiment of the present disclosure can be applied to, but not limited to, Figure 1 In the application scenario shown.

[0072] In this example, Figure 1 As shown, the architecture of the data processing system in this example may include but is not limited to a server 10, a terminal 20 and a database 30. The server 10, the terminal 20 and the database 30 may interact with each other via a network 40.

[0073] A target client on one of the at least two terminals 20 obtains a state information playback file, the state information playback file includes global state information of an object set of a game game screen during the operation of an original game application loaded on the target client, the global state information is used to characterize relevant game attributes of each object in the object set, the game game screen is used to characterize a screen of a game game between the original game applications loaded on the clients of at least two terminals 20, and the clients on at least two terminals 20 include the target client; the target client determines a target program based on the original game application and a preset static library; the target client reads the global state information from the state information playback file through the target program, and determines a target statistical file based on the read global state information, the target statistical file including the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application; the target client determines a target game application based on the original game application and the target statistical file, and the target game application is used for instruction reordering of the clients on at least two terminals 20.

[0074] The target client obtains first information by recording the game match screen during the operation of the original game application. The first information includes the game stream level, objects within the field of view of the game camera, newly created objects in the game match screen, and attribute change values ​​of the newly created objects. The target client receives a data packet sent by a server 10 (such as a game server) and determines second information based on the data packet. The second information includes private state information of objects corresponding to clients other than the target client on at least two terminals 20, state change information of objects corresponding to clients on at least two terminals 20, attribute change information of at least one object in the object set, and attribute change value of at least one object. The target client determines global state information based on the first and second information. The target client constructs a state information playback file based on the global state information. The target client stores the state information playback file in a database 30.

[0075] It is understood that the above is only an example and is not limited to this embodiment.

[0076] Among them, terminals include but are not limited to smartphones (such as Android phones, iOS phones, etc.), mobile phone simulators, tablet computers, laptops, digital broadcast receivers, MIDs (Mobile Internet Devices), PDAs (Personal Digital Assistants), intelligent voice interaction devices, smart home appliances, car terminals, etc.

[0077] The server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server or server cluster that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), as well as big data and artificial intelligence platforms.

[0078] Cloud computing is a computing model that distributes computing tasks across a resource pool consisting of a large number of computers, enabling various application systems to access computing power, storage space, and information services as needed. The network that provides these resources is called the "cloud." To users, these resources appear infinitely scalable and can be accessed at any time, used on demand, expanded at any time, and paid for on a per-use basis.

[0079] As a provider of cloud computing infrastructure, a cloud computing resource pool (referred to as a cloud platform, generally referred to as an IaaS (Infrastructure as a Service) platform) is established. Various types of virtual resources are deployed in the resource pool for external customers to choose and use. The cloud computing resource pool mainly includes: computing devices (virtualized machines, including operating systems), storage devices, and network devices.

[0080] Based on logical functional divisions, the PaaS (Platform as a Service) layer can be deployed on top of the IaaS (Infrastructure as a Service) layer, and the SaaS (Software as a Service) layer can be deployed on top of the PaaS layer. SaaS can also be deployed directly on top of IaaS. PaaS is a platform for software execution, such as databases and web containers. SaaS is a variety of business software, such as web portals and text messaging apps. Generally speaking, SaaS and PaaS are upper layers relative to IaaS.

[0081] Artificial intelligence cloud services, also known as AIaaS (AI as a Service), are a mainstream AI platform offering. Specifically, AIaaS platforms break down several common AI services and provide them as standalone or packaged services in the cloud. This service model is similar to an AI-themed marketplace: all developers can access one or more of the platform's AI services through APIs. Experienced developers can also use the platform's AI framework and infrastructure to deploy and maintain their own cloud AI services.

[0082] The aforementioned networks may include, but are not limited to, wired networks and wireless networks. Wired networks include local area networks, metropolitan area networks, and wide area networks, and wireless networks include Bluetooth, Wi-Fi, and other wireless communication networks. The specific network type may be determined based on actual application scenarios and is not limited here.

[0083] See also Figure 2 , Figure 2 The flowchart of a data processing method provided by an embodiment of the present disclosure is shown, wherein the method can be executed by any electronic device, such as a terminal; as an optional implementation, the method can be executed by a terminal. For the convenience of description, in the description of some optional embodiments below, the target client on the target terminal will be used as the execution subject of the method. Figure 2 As shown, the data processing method provided by the embodiment of the present disclosure includes the following steps:

[0084] S201, obtaining a state information playback file, where the state information playback file includes global state information of a set of objects in a game game screen during the running of an original game application loaded on a target client, where the global state information is used to characterize relevant game attributes of each object in the object set, and the game game screen is used to characterize a screen of a game game between original game applications loaded on at least two clients, where the at least two clients include a target client.

[0085] Specifically, the original game application is such as a game installation package, at least two users run the game installation package through the client on their respective terminals to play a game, one user is selected from the at least two users, and the client on the user's terminal (target terminal) is used as the target client. The target client records the game game, and the complete path of the game logic operation can be obtained, and the status information playback file is obtained accordingly; among which, the complete path of the game logic operation is such as a complete game, and the complete game is such as a complete battle on an island in the game.

[0086] The global state information can reflect the various performances (related game attributes) of all objects (object collections) in the game screen. The various performances of all objects are used to represent game characteristics, such as game types, such as gun battles, casual games, etc. An object can be a single game object instance; an object, for example, Figure 3 The character objects, obstacle objects, etc. shown in the figure; the relevant game attributes of the objects such as the blood volume, ammunition volume, etc.

[0087] S202: Determine a target program based on the original game application and a preset static library.

[0088] Specifically, the static library is used to count the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application. The static library is, for example, libclang_rt.profile-arch-android.a. The original game application and the static library can be linked into a target program through a linker.

[0089] S203, reading global state information from the state information playback file through the target program, and determining a target statistical file based on the read global state information, the target statistical file including the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application.

[0090] Specifically, the target client reads global state information, i.e., a replay of the game, from the state information replay file. The target statistics file, such as the profile.profdata file, contains the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application, which can be used to guide the compiler in instruction reordering.

[0091] S204: Determine a target game application based on the original game application and the target statistics file, where the target game application is used for reordering instructions of at least two clients.

[0092] Specifically, based on the original game application (such as a game installation package) and the target statistical file (such as a profile.profdata file), a target game application (such as a new game installation package) is constructed; thereby, when the compiler compiles the target game application, the target statistical file in the target game application is used to guide the compiler to reorder instructions. While taking into account the overall optimization, the instruction optimization also takes into account the game characteristics, thereby improving the efficiency of instruction optimization and enhancing the smoothness of the game screen operation.

[0093] The target game application is a new game installation package. For example, multiple users run the new game installation package through the client on their respective terminals, and the multiple users can experience a significant improvement in the smoothness of the game screen.

[0094] In an embodiment of the present disclosure, a target client obtains a state information playback file, the state information playback file includes global state information of an object set of a game game screen during the operation of an original game application loaded on the target client, the global state information is used to characterize relevant game attributes of each object in the object set, the game game screen is used to characterize a screen of a game game between original game applications loaded on at least two clients, the at least two clients including the target client; the target client determines a target program based on the original game application and a preset static library; the target client reads the global state information from the state information playback file through the target program, and determines a target statistical file based on the read global state information, the target statistical file including the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application; the target client determines a target game application based on the original game application and the target statistical file, and the target game application is used for instruction reordering of at least two clients. In this way, based on the global status information during game operation, the target statistical file (such as the profile.profdata file) is determined; based on the original game application (such as the game installation package) and the target statistical file, the target game application (such as a new game installation package) is constructed; thereby, when the compiler compiles the target game application, the target statistical file in the target game application is used to guide the compiler to re-arrange instructions, so that the compiler can perform targeted optimization based on the game characteristics, thereby improving the efficiency of instruction optimization and the smoothness of the game screen operation.

[0095] In one embodiment, obtaining a state information playback file includes steps A1-A4:

[0096] Step A1, obtaining first information by recording the game game screen during the operation of the original game application, the first information including the game flow level, objects within the field of view of the game camera, newly created objects in the game game screen and attribute change values ​​of the newly created objects.

[0097] Specifically, for example, Figure 4As shown, the TickDemoRecord function is mainly used to record each frame of the game screen. The first information is obtained by recording the game screen during the running of the original game application through the TickDemoRecord function; the first information includes the game streaming level (StreamingLevels), the object in the field of view of the game camera (PrioritizedActors), the newly created object in the game screen (ReplicateAcor), the property change value of the newly created object (RepDeltaProperties), etc.; StreamingLevels is the level with streaming loading, for example, the various levels loaded in the world manager World are traversed through the entire world manager World to view the loaded levels, such as the level The island map of PUBG; PrioritizedActors are objects within the field of view of the game camera. For example, whether an object is within the field of view of the game camera is determined by judging whether it is related to all observers (game cameras). For example, an object within six hundred meters of a certain game camera is related to the game camera; ReplicateActors are newly created objects in the game match screen; RepDeltaProperties are the property change values ​​of the newly created object. For example, if a newly created object stands and shoots, the number of bullets drops from 100 to 80, and the property change value of the newly created object is -20; for example, the current object list is compared with the pre-cached object list, and the newly created object is copied and added in the pre-cached object list, and RepDeltaProperties is modified.

[0098] Step A2, receiving a data packet sent by the game server, and determining second information based on the data packet, the second information including private status information of objects corresponding to at least two clients except the target client, status change information of objects corresponding to at least two clients, attribute change information of at least one object in the object set, and attribute change value of at least one object.

[0099] Specifically, the game server can realize information exchange between multiple terminals; the game server sends a data packet to the target client on the target terminal, which includes the ReplicateActor function for copying all objects, the ResendAllData function for saving all status data, the object's property change information SendProperties, and other auxiliary information strings SendBunch, etc.

[0100] For example, Figure 4As shown, the target client calls the TickChekPoint function, based on ReplicateActor, and uses LimitMaxFrameTime (the interval time for object collection recording, for example, recording a complete snapshot of a game every 60 seconds) to periodically record the private state information of objects corresponding to at least two clients other than the target client. For example, there are 100 terminals, each running a client, that is, 100 clients. Among these 100 clients, client A (the target client) sends a request message to the game server every 60 seconds. The game server sends a data packet to client A, and client A obtains the data of the other 99 clients through the ReplicateActor in the data packet; the data of the other 99 clients, for example, the private state information of the objects corresponding to the other 99 clients; the private state information of the objects, for example, 4 clients (4 users) among the other 99 clients form a team, and the team's internal flag information belongs to the private state information of the objects corresponding to these 4 clients.

[0101] For example, Figure 4 As shown, the target client calls the TickChekPoint function, based on ResendAllData, using LimitMaxFrameTime to periodically record the state change information of objects corresponding to at least two clients. For example, there are 100 terminals, each running a client, that is, 100 clients. Among these 100 clients, client A (the target client) sends a request message to the game server every 60 seconds. The game server sends a data packet to client A. Client A obtains the state change information of the objects corresponding to these 100 clients through the ResendAllData in the data packet. For example, if four clients (four users) form a team, the team's evacuation signal is the state change information of the objects corresponding to these four clients.

[0102] A complete snapshot of a game is completed through the TickChekPoint function. For example, a game is played between original game applications loaded on 100 clients. Accordingly, the complete snapshot includes the game between the original game applications loaded on these 100 clients.

[0103] For example, Figure 4As shown, the target client calls ProcessRemoteFunction to record the object property change information (SendProperties) and other auxiliary information strings (SendBunch) in the data packet sent by the server. SendProperties contains the property change information of at least one object in the object collection, and SendBunch contains the property change value of at least one object. For example, if the game server sends a property change instruction that instructs all clients to lose 50 health points for their corresponding objects, SendProperties will indicate the object's health loss, and SendBunch will indicate the object's health loss of 50.

[0104] Step A3: Determine global state information based on the first information and the second information.

[0105] Specifically, the first information and the second information are constructed into global state information, and the global state information includes the first information and the second information.

[0106] Step A4: construct a state information playback file based on the global state information.

[0107] Specifically, the state information playback file includes global state information, and the state information playback file is used for replaying a game match, that is, the target client reads the global state information from the state information playback file.

[0108] In one embodiment, the target client runs on the target terminal and determines the target program based on the original game application and the preset static library, including:

[0109] The preset static library is sent to the linker of the target terminal through the compiler of the target terminal, and the static library is used to count the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application;

[0110] Through the linker, link the original game application and static library into a target program.

[0111] Specifically, the compiler of the target terminal is set through the -fprofile-generate option, the -gline-tables-only option, etc.; the -fprofile-generate option is used to instruct the compiler to count the usage frequency of assembly instructions; the -gline-tables-only option is used to generate concise debugging information, that is, to instruct the compiler to only collect the usage frequency of assembly instructions, and other information such as symbol names is not collected, thereby reducing the redundancy of collection.

[0112] After setting up the compiler, the driver of the compiler (for example, Clang) will automatically pass the static library (for example, libclang_rt.profile-arch-android.a) to the linker of the target terminal. The linker will link (merge) the original game application and the static library into a target program, and use the code of the static library in the target program to count the frequency of assembly instruction usage of the code of the original game application in the target program.

[0113] For example, when the game program exits, the code of the static library in the target program writes the original statistical file to the hard disk of the target terminal. The original statistical file is, for example, a .profraw file. The .profraw file is a file written by the static library to the hard disk of the target terminal.

[0114] In one embodiment, the target program reads global state information from the state information playback file, including:

[0115] Through the demonstration playback function in the target program, the state information of the objects in each frame of the game screen is read from the state information playback file in the order of each frame of the game screen. The global state information includes the state information of the objects in each frame of the game screen. The state information of the objects in each frame of the game screen is used to represent the relevant game attributes of the objects in each frame of the game screen.

[0116] Specifically, the target client reads the global state information from the state information replay file, that is, the replay of the game.

[0117] The target program demonstrates the playback function, for example Figure 5 The TickDemoPlayback function shown in the , through the TickDemoPlayback function, reads the state information of the objects in each frame of the game screen from the state information playback file. For example, first read the state information of the objects in the first frame of the game screen, and then read the state information of the objects in the second frame (the next frame of the first frame) of the game screen. The state information of the objects in the second frame of the game screen is the new global state information relative to the state information of the objects in the first frame of the game screen; through Figure 5 The ProcessPackets function shown in the figure saves the new global state information as a data packet; there are 1000 objects in the first frame of the game screen, and there are 50 objects in the second frame of the game screen. The attribute values ​​of these 50 objects have changed. Figure 5The FinalizeFastForward function shown in the figure performs a retention update on the 50 objects in the second frame of the game game screen (for example, the attribute values ​​of these 50 objects are changed), or performs corresponding destruction operations on other objects (for example, 950 of the 1000 objects in the first frame of the game game screen are destroyed in the second frame of the game game screen), thereby completing the object status information update, that is, the second frame of the game game screen replaces the first frame of the game game screen.

[0118] After the object's status information is updated, Figure 5 The calibration setting camera browser SetCameraViewer and the calibration setting playback controller SetReplayController shown in can complete the update of the status information of the image (game game screen) rendering. The global status information includes the status information of the image rendering.

[0119] When the status information playback file is read, it will be recorded Figure 5 The performance data shown in RecordPerfData includes game performance data, such as FPS (Frames Per Second).

[0120] It should be noted that the acceptance of game features and the collection of various terminal performance data are all based on automated game replay. RecordPerfData can record the performance before and after instruction reordering for performance comparison.

[0121] In one embodiment, determining a target statistics file based on the read global status information by the target program includes:

[0122] Determine the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application program based on the read global state information using a counter of static library calls in the target program;

[0123] Based on the usage frequency of each assembly instruction, the target statistics file is determined.

[0124] Specifically, for example, all counters (such as instruction statistics counters) are reset to 0 through the Android system function PGO_ResetCounters to calibrate the counters during the game replay; the frequency of use of each assembly instruction in the assembly instruction set corresponding to the original game application is determined based on the read global state information through the counter called by the static library in the target program; after the game replay is completed, the statistical values ​​of all counters (the frequency of use of each assembly instruction) are written to the .profraw file (instruction count statistics file, i.e., the original statistics file) by calling the Android system function PGO_WriteFile.

[0125] For example, a configuration file named default_unique_id_0.profraw is generated in / data / local / tmp. This configuration file is a .profraw file, where unique_id is a digital hash value that uniquely corresponds to the .profraw file. The storage path of the .profraw file is / storage / emulated / 0 / Android / data / packagename / files. The .profraw file records the count value of the instruction statistics counter ___profc_xxx. When the C program is just started, the value of the ___profc_xxx counter is zero. Every time the corresponding code is executed once, the value of the ___profc_xxx counter is increased by one, thereby obtaining the usage frequency of each assembly instruction.

[0126] For example, if the .profraw file already exists, when writing the statistical values ​​of all counters (the usage frequency of each assembly instruction) to the .profraw file (new .profraw file) by calling the Android system function PGO_WriteFile, the new .profraw file and the existing .profraw file are merged.

[0127] For example, using the llvm-profdata utility through the compiler, the .profraw file is converted to a profile.profdata file (target statistics file) as follows:

[0128] llvm-profdata merge-output=profile.profdata

[0129] It should be noted that the profile.profdata file corresponding to the .profraw file is checked into the source code tree (game code package, ie the original game application) to obtain the target game application (new game installation package).

[0130] In one embodiment, determining a target statistical file based on the usage frequency of each assembly instruction includes steps B1 and B2:

[0131] Step B1, write the usage frequency of each assembly instruction into the original statistical file, and determine the original statistical file after writing. The original statistical file is a file written by the static library to the hard disk of the target terminal.

[0132] Specifically, after the game replay is completed, the statistical values ​​of all counters (the usage frequency of each assembly instruction) are written to the .profraw file (instruction count statistics file, i.e., the original statistics file) by calling the Android system function PGO_WriteFile to obtain the original statistics file after writing; the original statistics file after writing includes the usage frequency of each assembly instruction.

[0133] For example, when the game program exits, the code of the static library in the target program writes the original statistical file to the hard disk of the target terminal. The original statistical file is, for example, a .profraw file. The .profraw file is a file written by the static library to the hard disk of the target terminal.

[0134] Step B2: calling a file conversion tool through the compiler of the target terminal to convert the written original statistical file into a target statistical file.

[0135] Specifically, a file conversion tool such as the llvm-profdata utility can be used to convert a .profraw file (the raw statistics file after writing) into a profile.profdata file (the target statistics file) using the llvm-profdata utility through the compiler of the target terminal. The conversion method is as follows:

[0136] llvm-profdata merge-output=profile.profdata

[0137] It should be noted that the profile.profdata file corresponding to the .profraw file is checked into the source code tree (game installation package, ie, the original game application) to obtain the target game application (new game installation package).

[0138] In one embodiment, determining a target game application based on the original game application and the target statistics file includes:

[0139] The target statistical file is checked into the original game application to obtain the target game application. The target game application includes the original game application and the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application.

[0140] Specifically, the target statistical file, such as the profile.profdata file, is checked into the original game application (game installation package) to obtain the target game application (new game installation package).

[0141] In one embodiment, after determining the target game application based on the original game application and the target statistics file, the method further includes:

[0142] converting the original game application program in the target game application program into an assembly instruction set through a compiler of the target terminal;

[0143] Based on the usage frequency of each assembly instruction in the target game application program, each assembly instruction in the assembly instruction set is reordered.

[0144] Specifically, a target game application (new game installation package) is obtained through the target client, and the target game application can be loaded into the target client and other clients.

[0145] For example, the target client or other client is client B, the target game application is loaded into client B, and client B runs on terminal C; the optimization option LinkEnvironment.bPGOOptimize flag position of the compiler of terminal C is set to True, so that when the compiler compiles the target game application, the target statistics file in the target game application can be provided to the compiler for reference, thereby guiding the compiler to reorder instructions; client B converts the original game application in the target game application into an assembly instruction set through the compiler of terminal C, and client B reorders each assembly instruction in the assembly instruction set based on the usage frequency of each assembly instruction in the target game application; thereby, when the compiler compiles the target game application, the target statistics file in the target game application is used to guide the compiler to reorder instructions, so that the compiler can perform targeted optimization based on the characteristics of the game, thereby improving the efficiency of instruction optimization and improving the smoothness of the game screen operation of client B.

[0146] In one embodiment, based on the usage frequency of each assembly instruction in the target game application, each assembly instruction in the assembly instruction set is reordered, including:

[0147] The frequency of use of each assembly instruction in the target game application is sorted from large to small, and the assembly instructions with the highest frequency of use are saved in the cache of the target terminal.

[0148] Specifically, assembly instructions with high usage frequency are preferentially saved in the cache of the target terminal, thereby improving the efficiency of instruction reordering.

[0149] The application of the embodiments of the present disclosure has at least the following beneficial effects:

[0150] Based on the global status information during game operation, the target statistical file (such as the profile.profdata file) is determined; based on the original game application (such as the game installation package) and the target statistical file, the target game application (such as a new game installation package) is constructed; thereby, when the compiler compiles the target game application, the target statistical file in the target game application is used to guide the compiler to reorder instructions, so that the compiler can perform targeted optimization based on the game characteristics, thereby improving the efficiency of instruction optimization and the smoothness of game screen operation.

[0151] In order to better understand the method provided by the embodiment of the present disclosure, the solution of the embodiment of the present disclosure is further described below with reference to examples of specific application scenarios.

[0152] In one embodiment, for example, in a game, by optimizing instructions using the method provided in the embodiments of the present disclosure, the FPS corresponding to various types of terminals are improved to varying degrees, as shown in Table 1.

[0153] Table 1: Instruction optimization effects

[0154]

[0155]

[0156] In a specific application scenario, such as improving the game fluency, see Figure 6 , shows a processing flow of a data processing method, such as Figure 6 As shown, the processing flow of the data processing method provided by the embodiment of the present disclosure includes the following steps:

[0157] S601: The target client on the target terminal obtains a status information playback file through game game recording.

[0158] Specifically, the state information playback file includes global state information of a set of objects in a game game screen during the running of the original game application loaded on the target client. The global state information is used to characterize relevant game attributes of each object in the object set.

[0159] S602: The target client sets the compiler of the target terminal.

[0160] Specifically, the target client sets the compiler of the target terminal through the -fprofile-generate option and the -gline-tables-only option. The -fprofile-generate option is used to instruct the compiler to count the usage frequency of assembly instructions. The -gline-tables-only option is used to generate concise debugging information, that is, to instruct the compiler to only collect the usage frequency of assembly instructions, and not collect other information such as symbol names, thereby reducing the redundancy of collection.

[0161] S603: The target client determines the target program based on the original game application and the preset static library.

[0162] Specifically, the target client sends a preset static library to the linker of the target terminal through the compiler of the target terminal. The static library is used to count the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application; the target client links the original game application and the static library into a target program through the linker.

[0163] S604: The target client reads global state information from the state information playback file through the replay of the game based on the target program, and determines a target statistics file based on the read global state information.

[0164] Specifically, the target statistics file includes the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application, such as the profile.profdata file. The target client reads the global state information from the state information playback file, that is, the playback of the game game.

[0165] S605: The target client determines a target game application based on the original game application and the target statistics file.

[0166] Specifically, the target statistical file is checked into the original game application to obtain the target game application, which includes the original game application and the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application.

[0167] S606, the target client converts the original game application in the target game application into an assembly instruction set through the compiler of the target terminal, and reorders the assembly instructions in the assembly instruction set based on the usage frequency of each assembly instruction in the target game application.

[0168] Specifically, for example, the target client is client B, the target game application is loaded into client B, and client B runs on terminal C; the optimization option LinkEnvironment.bPGOOptimize flag position of the compiler of terminal C is set to True, so that when the compiler compiles the target game application, the target statistics file in the target game application can be provided to the compiler for reference, thereby guiding the compiler to rearrange instructions; client B converts the original game application in the target game application into an assembly instruction set through the compiler of terminal C, and client B rearranges each assembly instruction in the assembly instruction set based on the frequency of use of each assembly instruction in the target game application; thereby, when the compiler compiles the target game application, the target statistics file in the target game application is used to guide the compiler to rearrange instructions, so that the compiler can perform targeted optimization based on the characteristics of the game, thereby improving the efficiency of instruction optimization and improving the smoothness of the game screen operation of client B.

[0169] S607 , based on the assembly instructions after the instructions are rearranged, the target client displays the corresponding game screen.

[0170] Specifically, assembly instructions with high usage frequency are preferentially saved in the cache of the target terminal, and the target terminal preferentially calls the assembly instructions in the cache to improve the smoothness of the game screen running in the target client.

[0171] The application of the embodiments of the present disclosure has at least the following beneficial effects:

[0172] The target client determines the target statistical file (such as the profile.profdata file) based on the global status information during game operation; and builds the target game application (such as a new game installation package) based on the original game application (such as a game installation package) and the target statistical file; thereby, when the compiler compiles the target game application, the target statistical file in the target game application is used to guide the compiler to re-arrange instructions, so that the compiler can perform targeted optimization based on the game characteristics, thereby improving the efficiency of instruction optimization and the smoothness of game screen operation.

[0173] The embodiment of the present disclosure further provides a data processing device applied to a target client. The structural diagram of the data processing device is shown in FIG. Figure 7 As shown, the data processing device 60 includes a first processing module 601 , a second processing module 602 , a third processing module 603 and a fourth processing module 604 .

[0174] A first processing module 601 is configured to obtain a state information playback file, the state information playback file including global state information of a set of objects in a game game screen during the execution of an original game application loaded on a target client. The global state information is used to represent relevant game attributes of each object in the set of objects. The game game screen is used to represent a screen of a game game between the original game applications loaded on at least two clients, including the target client.

[0175] The second processing module 602 is used to determine a target program based on the original game application and a preset static library;

[0176] The third processing module 603 is configured to read global state information from the state information playback file through the target program, and determine a target statistical file based on the read global state information, where the target statistical file includes the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application program;

[0177] The fourth processing module 604 is configured to determine a target game application based on the original game application and the target statistical file, where the target game application is used for reordering instructions of at least two clients.

[0178] In one embodiment, the first processing module 601 is specifically configured to:

[0179] Acquiring first information by recording a game screen during the execution of the original game application, the first information including a game stream level, objects within a field of view of a game camera, newly created objects in the game screen, and attribute change values ​​of the newly created objects;

[0180] Receive a data packet sent by the game server, and determine second information based on the data packet, the second information including private state information of objects corresponding to clients other than the target client among at least two clients, state change information of objects corresponding to at least two clients, attribute change information of at least one object in the object set, and attribute change value of at least one object;

[0181] determining global state information based on the first information and the second information;

[0182] Based on the global state information, a state information playback file is constructed.

[0183] In one embodiment, the target client runs on the target terminal, and the second processing module 602 is specifically configured to:

[0184] The preset static library is sent to the linker of the target terminal through the compiler of the target terminal, and the static library is used to count the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application;

[0185] Through the linker, link the original game application and static library into a target program.

[0186] In one embodiment, the third processing module 603 is specifically configured to:

[0187] Through the demonstration playback function in the target program, the state information of the objects in each frame of the game screen is read from the state information playback file in the order of each frame of the game screen. The global state information includes the state information of the objects in each frame of the game screen. The state information of the objects in each frame of the game screen is used to represent the relevant game attributes of the objects in each frame of the game screen.

[0188] In one embodiment, the third processing module 603 is specifically configured to:

[0189] Determine the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application program based on the read global state information using a counter of static library calls in the target program;

[0190] Based on the usage frequency of each assembly instruction, the target statistics file is determined.

[0191] In one embodiment, the third processing module 603 is specifically configured to:

[0192] The usage frequency of each assembly instruction is written into the original statistical file, and the original statistical file after writing is determined. The original statistical file is a file written by the static library to the hard disk of the target terminal;

[0193] The file conversion tool is called through the compiler of the target terminal to convert the written original statistical file into a target statistical file.

[0194] In one embodiment, the fourth processing module 604 is specifically configured to:

[0195] The target statistical file is checked into the original game application to obtain the target game application. The target game application includes the original game application and the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application.

[0196] In one embodiment, the fourth processing module 604 is further configured to:

[0197] converting the original game application program in the target game application program into an assembly instruction set through a compiler of the target terminal;

[0198] Based on the usage frequency of each assembly instruction in the target game application program, each assembly instruction in the assembly instruction set is reordered.

[0199] In one embodiment, the fourth processing module 604 is specifically configured to:

[0200] The frequency of use of each assembly instruction in the target game application is sorted from large to small, and the assembly instructions with the highest frequency of use are saved in the cache of the target terminal.

[0201] The application of the embodiments of the present disclosure has at least the following beneficial effects:

[0202] The target client obtains a state information playback file, which includes global state information of an object set of a game game screen during the operation of an original game application loaded on the target client. The global state information is used to characterize relevant game attributes of each object in the object set. The game game screen is used to characterize a screen of a game game between original game applications loaded on at least two clients, and the at least two clients include the target client. The target client determines a target program based on the original game application and a preset static library. The target client reads the global state information from the state information playback file through the target program, and determines a target statistical file based on the read global state information. The target statistical file includes the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application. The target client determines a target game application based on the original game application and the target statistical file. The target game application is used for instruction reordering of at least two clients. In this way, based on the global status information during game operation, the target statistical file (such as the profile.profdata file) is determined; based on the original game application (such as the game installation package) and the target statistical file, the target game application (such as a new game installation package) is constructed; thereby, when the compiler compiles the target game application, the target statistical file in the target game application is used to guide the compiler to re-arrange instructions, so that the compiler can perform targeted optimization based on the game characteristics, thereby improving the efficiency of instruction optimization and the smoothness of the game screen operation.

[0203] The present disclosure also provides an electronic device. The structural diagram of the electronic device is as follows: Figure 8 As shown, Figure 8 The electronic device 4000 shown includes: a processor 4001 and a memory 4003. The processor 4001 and the memory 4003 are connected, for example, via a bus 4002. Optionally, the electronic device 4000 may further include a transceiver 4004, which may be used for data exchange between the electronic device and other electronic devices, such as data transmission and / or data reception. It should be noted that in actual applications, the number of transceivers 4004 is not limited to one, and the structure of the electronic device 4000 does not constitute a limitation on the embodiments of the present disclosure.

[0204] Processor 4001 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the present disclosure. Processor 4001 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.

[0205] Bus 4002 may include a path for transmitting information between the above components. Bus 4002 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus. Bus 4002 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 8 Only one thick line is used in the diagram, but this does not mean that there is only one bus or one type of bus.

[0206] The memory 4003 can be a ROM (Read Only Memory) or other types of static storage devices that can store static information and instructions, a RAM (Random Access Memory) or other types of dynamic storage devices that can store information and instructions, or an EEPROM (Electrically Erasable Programmable Read Only Memory), a CD-ROM (Compact Disc Read Only Memory) or other optical disk storage, optical disk storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media, other magnetic storage devices, or any other medium that can be used to carry or store computer programs and can be read by a computer, without limitation here.

[0207] The memory 4003 is used to store the computer program for executing the embodiments of the present disclosure, and the execution is controlled by the processor 4001. The processor 4001 is used to execute the computer program stored in the memory 4003 to implement the steps shown in the above method embodiments.

[0208] Among them, electronic equipment includes but is not limited to: terminals, etc.

[0209] The application of the embodiments of the present disclosure has at least the following beneficial effects:

[0210] The target client obtains a state information playback file, which includes global state information of an object set of a game game screen during the operation of an original game application loaded on the target client. The global state information is used to characterize relevant game attributes of each object in the object set. The game game screen is used to characterize a screen of a game game between original game applications loaded on at least two clients, and the at least two clients include the target client. The target client determines a target program based on the original game application and a preset static library. The target client reads the global state information from the state information playback file through the target program, and determines a target statistical file based on the read global state information. The target statistical file includes the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application. The target client determines a target game application based on the original game application and the target statistical file. The target game application is used for instruction reordering of at least two clients. In this way, based on the global status information during game operation, the target statistical file (such as the profile.profdata file) is determined; based on the original game application (such as the game installation package) and the target statistical file, the target game application (such as a new game installation package) is constructed; thereby, when the compiler compiles the target game application, the target statistical file in the target game application is used to guide the compiler to re-arrange instructions, so that the compiler can perform targeted optimization based on the game characteristics, thereby improving the efficiency of instruction optimization and the smoothness of the game screen operation.

[0211] An embodiment of the present disclosure provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the steps and corresponding contents of the aforementioned method embodiment can be implemented.

[0212] The embodiments of the present disclosure further provide a computer program product, including a computer program, which can implement the steps and corresponding contents of the aforementioned method embodiments when executed by a processor.

[0213] It should be understood that, although the flowcharts of the embodiments of the present disclosure indicate the various operation steps by arrows, the order of implementation of these steps is not limited to the order indicated by the arrows. Unless otherwise clearly stated herein, in some implementation scenarios of the embodiments of the present disclosure, the implementation steps in each flowchart can be performed in other orders as required. In addition, some or all of the steps in each flowchart may include multiple sub-steps or multiple stages based on the actual implementation scenario. Some or all of these sub-steps or stages can be executed at the same time, and each sub-step or stage in these sub-steps or stages can also be executed at different times. In scenarios where the execution times are different, the order of execution of these sub-steps or stages can be flexibly configured as required, and the embodiments of the present disclosure do not limit this.

[0214] The above description is only an optional implementation method for some implementation scenarios of the present disclosure. It should be pointed out that for ordinary technicians in this technical field, without departing from the technical concept of the solution of the present disclosure, other similar implementation methods based on the technical ideas of the present disclosure also fall within the protection scope of the embodiments of the present disclosure.

Claims

1. A data processing method, executed by a target client, characterized in that: include: Obtaining a state information playback file, the state information playback file including global state information of a set of objects in a game game screen during execution of an original game application loaded on the target client, the global state information being used to characterize relevant game attributes of each object in the set of objects, the game game screen being used to characterize a screen of a game game between original game applications loaded on at least two clients, the at least two clients including the target client; Determining a target program based on the original game application and a preset static library; Reading the global state information from the state information playback file by the target program, and determining a target statistical file based on the read global state information, wherein the target statistical file includes the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application; A target game application is determined based on the original game application and the target statistics file, and the target game application is used for reordering instructions of the at least two clients.

2. The method according to claim 1, characterized in that The acquisition of the status information playback file includes: Acquiring first information by recording a game screen during the execution of the original game application, the first information including a game stream level, objects within a field of view of a game camera, newly created objects in the game screen, and attribute change values ​​of the newly created objects; receiving a data packet sent by the game server, and determining second information based on the data packet, the second information including private state information of objects corresponding to clients other than the target client among the at least two clients, state change information of objects corresponding to the at least two clients, attribute change information of at least one object in the object set, and attribute change value of the at least one object; determining the global state information based on the first information and the second information; Based on the global state information, a state information playback file is constructed.

3. The method according to claim 1, characterized in that The target client is run on a target terminal, and determining the target program based on the original game application and a preset static library includes: Sending a preset static library to a linker of the target terminal through a compiler of the target terminal, wherein the static library is used to count the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application; The original game application and the static library are linked into a target program through the linker.

4. The method according to claim 1, wherein The step of reading the global state information from the state information playback file through the target program includes: By demonstrating the playback function in the target program, the state information of the objects in each frame of the game game screen is read from the state information playback file in the order of each frame of the game game screen. The global state information includes the state information of the objects in each frame of the game game screen. The state information of the objects in each frame of the game game screen is used to characterize the relevant game attributes of the objects in each frame of the game game screen.

5. The method according to claim 1, wherein The step of determining a target statistical file based on the read global status information by the target program includes: Determining, by using a counter of the static library call in the target program and based on the read global state information, a usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application; Based on the usage frequency of each assembly instruction, the target statistics file is determined.

6. The method according to claim 5, characterized in that The target statistical file is determined based on the usage frequency of each assembly instruction, including: Writing the usage frequency of each assembly instruction into an original statistical file, and determining the original statistical file after writing, wherein the original statistical file is a file written by the static library to the hard disk of the target terminal; The compiler of the target terminal is used to call a file conversion tool to convert the written original statistical file into a target statistical file.

7. The method according to claim 1, characterized in that The determining of the target game application based on the original game application and the target statistical file includes: The target statistical file is checked into the original game application to obtain a target game application, wherein the target game application includes the original game application and the usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application.

8. The method according to claim 7, characterized in that After determining the target game application based on the original game application and the target statistical file, the method further includes: converting the original game application in the target game application into the assembly instruction set by a compiler of the target terminal; Based on the usage frequency of each assembly instruction in the target game application, each assembly instruction in the assembly instruction set is reordered.

9. The method according to claim 8, characterized in that The step of reordering the assembly instructions in the assembly instruction set based on the usage frequency of the assembly instructions in the target game application program includes: The usage frequencies of the assembly instructions in the target game application are sorted from largest to smallest, and the assembly instructions ranked first in usage frequency are saved in the cache of the target terminal.

10. A data processing device, applied to a target client, characterized in that: include: a first processing module configured to obtain a state information playback file, the state information playback file including global state information of a set of objects in a game game screen during execution of an original game application loaded on the target client, the global state information being used to characterize relevant game attributes of each object in the set of objects, the game game screen being used to characterize a game game screen between original game applications loaded on at least two clients, the at least two clients including the target client; A second processing module is configured to determine a target program based on the original game application and a preset static library; a third processing module, configured to read, by the target program, the global state information from the state information playback file, and determine, based on the read global state information, a target statistical file, wherein the target statistical file includes a usage frequency of each assembly instruction in the assembly instruction set corresponding to the original game application; The fourth processing module is used to determine a target game application based on the original game application and the target statistical file, where the target game application is used for reordering instructions of the at least two clients.

11. An electronic device comprising a memory, a processor, and a computer program stored in the memory, wherein: The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 9.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 9 are implemented.

13. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 9 are implemented.