Rendering processing method, client, server and storage medium

By receiving rendering files and associated files from the client and generating rendering cache files, it solves the lag problem caused by the UE engine in the game and improves rendering efficiency and user experience.

CN119327101APending Publication Date: 2025-01-21ZHUHAI KINGSOFT ONLINE GAME TECH CO LTD +1
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202411290171.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-14
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

The UE engine uses a lot of rendering (PSO) in the game, which causes preheating and compilation during the game, causing lag and affecting the user experience.

Method used

This paper proposes a rendering processing method that receives the current rendering file sent by the client, determines the associated rendering files related to it, and parses these files to generate rendering cache files to improve rendering efficiency.

Benefits of technology

Improve rendering efficiency, reduce labor costs, optimize resource usage and improve user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119327101A_ABST
    Figure CN119327101A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a rendering processing method, a client, a server and a storage medium, and belongs to the technical field of Internet. The method comprises the following steps: receiving a current rendering file sent by a client, and determining an associated rendering file related to the current rendering file; and analyzing the current rendering file and the associated rendering file to generate a rendering cache file. According to the embodiment of the invention, the rendering efficiency can be improved, the labor cost is reduced, and the resource use and user experience are optimized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of Internet technology, and in particular to a rendering processing method, a client, a server and a storage medium. Background Art

[0002] Currently, the UE engine is widely used, and a large number of rich renderings (PSO) are used in the game. Since PSO needs to be preheated and compiled when it is used in the game, this will cause lag during the game and bring a bad experience to users.

[0003] In summary, the technical problems existing in the relevant technologies need to be improved. Summary of the invention

[0004] The main purpose of the embodiments of the present application is to propose a rendering processing method, a client, a server and a storage medium, aiming to improve rendering efficiency, reduce labor costs, optimize resource utilization and improve user experience.

[0005] To achieve the above purpose, one aspect of an embodiment of the present application provides a rendering processing method, which is applied to a server side, the server side is connected to a client side for communication, and the method includes the following steps:

[0006] Receiving a current rendering file sent by the client, and determining an associated rendering file related to the current rendering file;

[0007] The current rendering file and the associated rendering file are parsed to generate a rendering cache file.

[0008] In some embodiments, the parsing of the current rendering file and the associated rendering file to generate a rendering cache file includes:

[0009] Determining an associated rendering file related to the current rendering file;

[0010] Extracting original shader information, wherein the original shader information includes current shader information of the current rendering file and first shader information of the associated rendering file;

[0011] Deduplication of the original shader information is performed to obtain target shader information;

[0012] Generate a rendering cache file according to the target shader information.

[0013] In some embodiments, the current rendering file includes a current version, and determining an associated rendering file related to the current rendering file includes:

[0014] Get the current version from the current rendering file;

[0015] An associated rendering file corresponding to the current version is determined.

[0016] In some embodiments, the current rendering file includes a current game image quality, and determining an associated rendering file related to the current rendering file includes:

[0017] Obtain the current game image quality from the current rendering file;

[0018] Determine an associated rendering file corresponding to the current game image quality.

[0019] In some embodiments, the current rendering file includes a current device name, and determining an associated rendering file related to the current rendering file includes:

[0020] Get the current device name from the current rendering file;

[0021] An associated rendering file corresponding to the current device name is determined.

[0022] In some embodiments, the original shader information includes rendering state, vertex declaration, basic type, and rendering target pixel format, and the deduplication of the original shader information to obtain the target shader information includes at least one of the following:

[0023] Deduplication of the original shader information is performed through a hash table to obtain target shader information;

[0024] Alternatively, the original shader information is deduplicated through a collection to obtain target shader information;

[0025] Alternatively, the original shader information is deduplicated through an index structure to obtain target shader information.

[0026] In some embodiments, the method further comprises:

[0027] Add the rendering cache file to the game project;

[0028] The game project is constructed into an installation package and sent to the client.

[0029] To achieve the above object, one aspect of an embodiment of the present application provides a rendering processing method, which is applied to a client, the client is connected to a server for communication, and the method includes the following steps:

[0030] Collecting current shader information and storing the current shader information in a current rendering file;

[0031] The current rendering file is packaged, compressed and uploaded to the server.

[0032] In some embodiments, the method further comprises:

[0033] Get the current game quality and current device name;

[0034] The current rendering file is named according to the current game image quality and the current device name.

[0035] In some embodiments, the method further comprises:

[0036] Install the installation package sent by the server;

[0037] Obtain and apply the rendering cache file.

[0038] To achieve the above object, another aspect of an embodiment of the present application provides a server, wherein the server is communicatively connected to a client, and the server includes:

[0039] A file acquisition module, configured to receive a current rendering file sent by the client, and determine an associated rendering file related to the current rendering file;

[0040] The parsing module is used to parse the current rendering file and the associated rendering file to generate a rendering cache file.

[0041] To achieve the above object, another aspect of an embodiment of the present application provides a client, wherein the client is connected to a server for communication, and the client includes:

[0042] A collection module, used for collecting current shader information and storing the current shader information into a current rendering file;

[0043] The sending module is used to package and compress the current rendering file and upload it to the server.

[0044] To achieve the above objective, another aspect of an embodiment of the present application provides an electronic device, the electronic device comprising a memory and a processor, the memory storing a computer program, and the processor implementing the above-mentioned method when executing the computer program.

[0045] To achieve the above-mentioned purpose, another aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described above is implemented.

[0046] The embodiments of the present application include at least the following beneficial effects: The present application provides a rendering processing method, a client, a server and a storage medium, which receives a current rendering file sent by a client, determines an associated rendering file related to the current rendering file, parses the current rendering file and the associated rendering file, and generates a rendering cache file. The embodiments of the present application can improve rendering efficiency, reduce labor costs, optimize resource usage and improve user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] Figure 1 This is a flowchart of the rendering processing method provided in the embodiment of the present application applied to the server side;

[0048] Figure 2 is a flowchart of the rendering processing method provided in an embodiment of the present application applied to a client;

[0049] Figure 3 yes Figure 1 Flow chart of step S102 in FIG.

[0050] Figure 4 yes Figure 1 Flow chart of step S102 in FIG.

[0051] Figure 5 is a flowchart of the rendering processing method provided in the embodiment of the present application applied to the client and the server;

[0052] Figure 6 It is a schematic diagram of the rendering processing method provided in the embodiment of the present application applied to the client and the server;

[0053] Figure 7 It is a schematic diagram of the structure of the server provided in the embodiment of the present application;

[0054] Figure 8 It is a schematic diagram of the structure of the client provided in the embodiment of the present application;

[0055] Fig. 9 It is a schematic diagram of the hardware structure of the electronic device provided in the embodiment of the present application. DETAILED DESCRIPTION

[0056] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application is further described in detail below in conjunction with the accompanying drawings and examples. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the embodiments of the present application. They are only examples of devices and methods consistent with some aspects of the embodiments of the present application as detailed in the attached claims.

[0057] It is understood that the terms "first", "second", etc. used in this application can be used to describe various concepts in this article, but unless otherwise specified, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another concept. For example, without departing from the scope of the embodiment of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the words "if" and "if" as used herein can be interpreted as "at the time of" or "when" or "in response to determination".

[0058] The terms "at least one", "multiple", "each", "any", etc. used in this application, at least one includes one, two or more, multiple includes two or more, each refers to each of the corresponding multiple, and any refers to any one of the multiple.

[0059] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0060] Before describing the embodiments of the present application in detail, some nouns and terms involved in the embodiments of the present application are first described. The nouns and terms involved in the embodiments of the present application are subject to the following explanations.

[0061] 1) Pipeline State Object (PSO), which pre-configures the GPU state information. During the rendering process, the GPU needs to constantly change its state to perform different rendering tasks. The introduction of PSO can make the GPU state change faster during rendering, thereby improving rendering efficiency.

[0062] Currently, the UE engine is widely used, and a large number of rich renderings (PSO) are used in the game. Since PSO needs to be preheated and compiled when it is used in the game, this will cause lag during the game and bring a bad experience to users.

[0063] In summary, the technical problems existing in the relevant technologies need to be improved.

[0064] In view of this, the embodiments of the present application provide a rendering processing method, a client, a server and a storage medium. The scheme receives the current rendering file sent by the client, determines the associated rendering file related to the current rendering file, parses the current rendering file and the associated rendering file, and generates a rendering cache file. The embodiments of the present application can improve rendering efficiency, reduce labor costs, and optimize resource utilization and user experience.

[0065] The rendering processing method provided in the embodiment of the present application relates to the field of Internet technology. The rendering processing method provided in the embodiment of the present application can be applied to the client, can also be applied to the server, and can also be software running in the client or the server. In some embodiments, the client can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, and a car client, etc., but is not limited to this; the server side can be configured as an independent physical server, or it can be configured as a server cluster or distributed system composed of multiple physical servers, and can also be configured to provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms and other basic cloud computing services. The cloud server, the server can also be a node server in the blockchain network; the software can be an application that implements the rendering processing method, etc., but is not limited to the above forms.

[0066] The present application can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, etc. The present application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present application can also be practiced in distributed computing environments, in which tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media including storage devices.

[0067] Figure 1 is an optional flow chart of the rendering processing method provided in the embodiment of the present application applied to the server side. Figure 1 The method may include but is not limited to steps S101 to S102.

[0068] Step S101: receiving a current rendering file sent by a client, and determining an associated rendering file related to the current rendering file.

[0069] Specifically, the current rendering file includes the current shader information, the current version, the current game quality and the current device name. The current shader information includes the current rendering state, the current vertex declaration, the current basic type and the current rendering target pixel format. The associated rendering file includes the first version, the first game quality and the first device name.

[0070] In some embodiments, a current version is obtained from a current rendering file; and an associated rendering file corresponding to the current version is determined.

[0071] It is understandable that the associated rendering file may be a historical rendering file pre-stored by the server, or may be a rendering file of other clients received by the server.

[0072] The current version is obtained from the current rendering file, and the associated rendering file whose first version is the same as the current version is obtained.

[0073] Optionally, the current game image quality is obtained from the current rendering file; and an associated rendering file corresponding to the first game image quality and the current game image quality is determined.

[0074] Optionally, a current device name is obtained from a current rendering file; and an associated rendering file corresponding to the current device name is determined.

[0075] In this embodiment, the current rendering file sent by the client is received, and the associated rendering file related to the current rendering file and the first device name is determined, which is conducive to processing multiple related rendering files, improving the accuracy and versatility of the rendering cache file, and preparing for the subsequent generation of the rendering cache file.

[0076] Step S102, parsing the current rendering file and the associated rendering file to generate a rendering cache file.

[0077] In some embodiments, the current rendering file and the associated rendering file are parsed, and original shader information is extracted from the current rendering file and the associated rendering file. The original shader information includes current shader information of the current rendering file and first shader information of the associated rendering file;

[0078] Furthermore, the original shader information is deduplicated to obtain the target shader information.

[0079] Among them, the original shader information can be deduplicated through a hash table to obtain the target shader information; the original shader information can also be deduplicated through a set to obtain the target shader information; the original shader information can also be deduplicated through an index structure to obtain the target shader information.

[0080] Furthermore, a rendering cache file is generated according to the target shader information.

[0081] It is understandable that the rendering cache file is added to the game project, the game project is built into an installation package and sent to the client.

[0082] In this embodiment, the current rendering file and the associated rendering files are parsed to generate a rendering cache file, which is loaded at runtime, which is conducive to improving rendering efficiency, reducing labor costs, and optimizing resource usage and user experience.

[0083] In the steps S101 to S102 of the embodiment of the present application, by receiving the current rendering file sent by the client, determining the associated rendering file related to the current rendering file; parsing the current rendering file and the associated rendering file, and generating a rendering cache file. The embodiment of the present application can improve rendering efficiency, reduce labor costs, and optimize resource utilization and user experience.

[0084] Figure 2 is an optional flowchart of the rendering processing method provided in the embodiment of the present application applied to the client. Figure 2 The method may include but is not limited to steps S201 to S202.

[0085] Step S201, collecting current shader information and storing the current shader information into a current rendering file;

[0086] In some embodiments, the current game quality and the current device name are obtained.

[0087] Optionally, the current game image quality and the current device name are obtained through an interface provided by the operating system.

[0088] Furthermore, the current game image quality and the current device name are stored in the current rendering file.

[0089] Optionally, name the current rendering file according to the current game quality and the current device name.

[0090] In this embodiment, the current shader information is collected and stored in the current rendering file, so as to prepare for the subsequent generation of the rendering cache file.

[0091] Step S202: Pack and compress the current rendering file and upload it to the server.

[0092] In some embodiments, invalid collections are filtered out first, and then the current rendering file is packaged, compressed and uploaded to the server.

[0093] It is understood that invalid shader information in the current rendering file is filtered out.

[0094] Specifically, during the shader compilation phase, check whether there are compilation errors or warnings. Keep the shader information that has been compiled successfully; during the shader linking phase, ensure that the shader program is linked successfully and keep the valid shader information; unique identification: use a unique identifier (such as a hash value) for each shader, and filter the shader information with duplicate identifiers.

[0095] Furthermore, the files are packaged, compressed and uploaded to the resource server (ie, the server side).

[0096] Optionally, the client installs the installation package sent by the server, and obtains and applies the rendering cache file.

[0097] See also Figure 3 In some embodiments, step S102 may include but is not limited to steps S301 to S303:

[0098] Step S301, deduplicate the original shader information through a hash table to obtain target shader information.

[0099] In step S301 of some embodiments, a hash function is selected or designed, wherein the hash function is used to convert shader information into a hash value.

[0100] Furthermore, the original shader information is traversed, and the hash value of the current original shader information is calculated using a hash function. It is checked whether the same hash value already exists in the hash table. If so, it means that the current original shader information already exists and does not need to be inserted again; if not, it is inserted into the table to obtain the target shader information.

[0101] In this embodiment, the original shader information is deduplicated through a hash table to obtain target shader information, so that the target shader information does not contain duplicate shader information, which is beneficial to reducing resource consumption and improving processing efficiency.

[0102] Step S302, deduplicate the original shader information through a collection to obtain target shader information.

[0103] Specifically, a set has the property that duplicate elements are not allowed.

[0104] In step S302 of some embodiments, the original shader information is traversed, the original shader information is added to the set, and the target shader information is obtained.

[0105] It is understandable that, since the characteristic of the collection is that duplicate elements are not allowed, when an attempt is made to add an existing shader information, the collection will automatically ignore the operation and obtain the target shader information.

[0106] In this embodiment, the original shader information is deduplicated by a set to obtain the target shader information. No additional hash function or index is required, so that the target shader information does not contain duplicate shader information, which is beneficial to reducing resource consumption and improving processing efficiency.

[0107] Step S303, deduplicate the original shader information through the index structure to obtain target shader information.

[0108] In step S303 of some embodiments, an index structure is created.

[0109] Further, the original shader information is traversed to determine the current original shader information, and before inserting the current original shader information, it is searched in the index structure. If the same current original shader information is found, the insertion operation is ignored; if not found, a new entry is added to the index, and the current original shader information is saved in the data storage, thereby obtaining the target shader information.

[0110] In this embodiment, the original shader information is deduplicated through an index structure to obtain target shader information, so that the target shader information does not contain duplicate shader information, which is beneficial to reducing resource consumption and improving processing efficiency.

[0111] See also Figure 4 In some embodiments, step S102 may include but is not limited to steps S401 to S402:

[0112] Step S401, adding the rendering cache file to the game project.

[0113] In step S401 of some embodiments, when the version of the game project is built, the UE engine automatically collects configuration instructions.

[0114] The game version built through configuration will automatically generate and save the collected PSO files to the device as a cache file after each game run.

[0115] Step S402: Build the game project into an installation package and send it to the client.

[0116] In step S402 of some embodiments, the game project is constructed into an installation package and sent to the client, and the client installs the game installation package.

[0117] Furthermore, when the game is started, the PSO file in the package is loaded and preheated, thereby reducing the game's lag and making the gaming experience smoother.

[0118] Figure 5 is an optional flow chart of the rendering processing method provided in the embodiment of the present application applied to the client and the server. Figure 5 The method may include but is not limited to steps S501 to S512:

[0119] Exemplarily, the schematic diagram of the rendering processing method applied to the client and the server is as follows: Figure 6 shown.

[0120] Step 501, collecting current shader information through the client and storing the current shader information into the current rendering file.

[0121] Optionally, during version building, use the automatic collection configuration instructions provided by the UE engine:

[0122] Config / DefaultEngine.ini

[0123] [ConsoleVariables]

[0124] r.ShaderPipelineCache.Enabled=1

[0125] r.ShaderPipelineCache.LogPSO=1

[0126] r.ShaderPipelineCache.SaveBoundPSOLog=1

[0127] Furthermore, data such as rendering status, vertex declaration, primitive type, and RenderTarget pixel format are saved to a file.

[0128] Step 502, obtaining the current game image quality and the current device name through the client.

[0129] Step 503: Name the current rendering file according to the current game quality and the current device name through the client.

[0130] Furthermore, the game version built by configuration will automatically generate and save the collected PSO files to the device to generate a cache file after each game is run. The name is: image quality + device name.upipelinecache file. For example, the PSO file case is as follows:

[0131] File name: High_Xiaomi_Mi_10.upipelinecache;

[0132] File generation address: / SDCard / UE4Game / {ProjectName} / Saved / CollectedPSOs

[0133] Step 504: The client packages and compresses the current rendering file and uploads it to the server.

[0134] In some embodiments, the game installation package is distributed to different mobile devices (i.e., clients) through an automated platform, and then a device for collecting PSO options is enabled through the automated platform. The game is then run on supported platforms such as Android, iOS, and PC, and different game levels are automatically traversed.

[0135] It is understandable that in the process of automatically traversing the game through client automation, the material-dependent Shader information (i.e., shader information) used at runtime will be recorded and constructed in the PSO file (.upipelinecache). Exemplarily, the Shader information includes: rendering status, vertex declaration, Primitive type, RenderTarget pixel format and other data.

[0136] Furthermore, when the automated operation is completed, a self-developed automatic inspection and upload system will be launched to process the local directory files. Invalid collections will be filtered out first, and then the files will be packaged and compressed and uploaded to the resource server (i.e. the server side).

[0137] Step 505: Receive the current rendering file sent by the client through the server.

[0138] Step 506: Determine, through the server side, an associated rendering file related to the current rendering file.

[0139] It is understandable that a self-developed data processing system is deployed on the file server. The file system will retain PSO files for a long time, and the system will automatically extract the file list related to the current version based on the version index.

[0140] Furthermore, the PSO file list is processed again, including:

[0141] Step 1: Extract all file data, including rendering status, vertex declaration, primitive type, and RenderTarget pixel format;

[0142] Step 2: De-duplicate the data extracted above and keep only one of the data, and finally generate the PSOCash file (rendering cache file) required by the game;

[0143] Step 3: The file is added to the game project during building. When the project uses these Shaders for the first time, this list can speed up the Shader loading / compiling process and reduce game lag.

[0144] Step 507: extracting original shader information through the server.

[0145] In some embodiments, all file data is extracted, including rendering state, vertex declarations, primitive types, and RenderTarget pixel formats.

[0146] Step 508: De-duplicate the original shader information through the server to obtain the target shader information.

[0147] In some embodiments, the above extracted data is deduplicated, and only one of the data is retained, and finally the PSOCash file required for the game is generated.

[0148] Step 509: Generate a rendering cache file according to the target shader information through the server.

[0149] Step 510: Add the rendering cache file to the game project through the server.

[0150] In some embodiments, files (i.e., PSOCash files / rendering cache files) are added to the game project during build time. When the project uses these shaders for the first time, this list can speed up the shader loading / compiling process and reduce game lag.

[0151] Step 511, the game project is constructed into an installation package through the server and sent to the client.

[0152] Step 512: The installation package sent by the server is installed by the client.

[0153] See also Figure 7 The embodiment of the present application further provides a server, the server is connected to the client for communication, and the server includes:

[0154] A file acquisition module, used for receiving a current rendering file sent by a client, and determining an associated rendering file related to the current rendering file;

[0155] The parsing module is used to parse the current rendering file and the associated rendering file to generate a rendering cache file.

[0156] It can be understood that the contents of the above method embodiments are all applicable to the present server embodiment, the functions specifically implemented by the present server embodiment are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0157] See also Figure 8 The embodiment of the present application further provides a client, the client is connected to the server for communication, and the client includes:

[0158] The acquisition module is used to acquire the current shader information and store the current shader information into the current rendering file;

[0159] The sending module is used to package and compress the current rendering file and upload it to the server.

[0160] It can be understood that the contents of the above method embodiments are all applicable to the present client embodiment, the functions specifically implemented by the present client embodiment are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0161] The embodiment of the present application also provides an electronic device, the electronic device includes a memory and a processor, the memory stores a computer program, and the processor implements the above rendering processing method when executing the computer program. The electronic device can be any smart client including a tablet computer, a car computer, etc.

[0162] It can be understood that the contents of the above method embodiments are all applicable to the present device embodiments, the functions specifically implemented by the present device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0163] See also Fig. 9 , Fig. 9 The hardware structure of an electronic device of another embodiment is illustrated, and the electronic device includes:

[0164] The processor 901 may be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present application;

[0165] The memory 902 may be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 902 may store an operating system and other application programs. When the technical solution provided in the embodiment of this specification is implemented by software or firmware, the relevant program code is stored in the memory 902, and the processor 901 calls and executes the rendering processing method of the embodiment of this application;

[0166] Input / output interface 903, used to implement information input and output;

[0167] Communication interface 904, used to realize communication interaction between the device and other devices, which can be realized by wired mode (such as USB, network cable, etc.) or wireless mode (such as mobile network, WIFI, Bluetooth, etc.);

[0168] A bus 905 that transmits information between various components of the device (e.g., the processor 901, the memory 902, the input / output interface 903, and the communication interface 904);

[0169] The processor 901 , the memory 902 , the input / output interface 903 and the communication interface 904 are connected to each other in communication within the device via a bus 905 .

[0170] An embodiment of the present application further provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above-mentioned rendering processing method is implemented.

[0171] It can be understood that the contents of the above method embodiments are all applicable to the present storage medium embodiments, the functions specifically implemented by the present storage medium embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0172] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely disposed relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0173] The rendering processing method, rendering processing device, electronic device and storage medium provided in the embodiments of the present application receive the current rendering file sent by the client, determine the associated rendering file related to the current rendering file, parse the current rendering file and the associated rendering file, and generate a rendering cache file. The embodiments of the present application can improve rendering efficiency, reduce labor costs, and optimize resource utilization and user experience.

[0174] The embodiments described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Those skilled in the art will appreciate that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0175] Those skilled in the art will appreciate that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and may include more or fewer steps than shown in the figures, or a combination of certain steps, or different steps.

[0176] The device embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separated, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0177] Those skilled in the art will appreciate that all or some of the steps in the methods disclosed above, and the functional modules / units in the systems and devices may be implemented as software, firmware, hardware, or a suitable combination thereof.

[0178] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0179] It should be understood that in the present application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0180] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the above units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0181] The units described above as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0182] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0183] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including multiple instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, referred to as ROM), random access memory (Random Access Memory, referred to as RAM), disk or optical disk and other media that can store programs.

[0184] The preferred embodiments of the present application are described above with reference to the accompanying drawings, but the scope of the rights of the present application is not limited thereto. Any modification, equivalent substitution and improvement made by a person skilled in the art without departing from the scope and essence of the present application should be within the scope of the rights of the present application.

Claims

1. A rendering processing method, characterized in that: Applied to a server side, the server side is connected to a client side for communication, and the method comprises the following steps: Receiving a current rendering file sent by the client, and determining an associated rendering file related to the current rendering file; The current rendering file and the associated rendering file are parsed to generate a rendering cache file.

2. The method according to claim 1, characterized in that The step of parsing the current rendering file and the associated rendering file to generate a rendering cache file includes: Determining an associated rendering file related to the current rendering file; Extracting original shader information, wherein the original shader information includes current shader information of the current rendering file and first shader information of the associated rendering file; Deduplication of the original shader information is performed to obtain target shader information; Generate a rendering cache file according to the target shader information.

3. The method according to claim 1, characterized in that The current rendering file includes a current version, and determining an associated rendering file related to the current rendering file includes: Get the current version from the current rendering file; An associated rendering file corresponding to the current version is determined.

4. The method according to claim 1, characterized in that: The current rendering file includes the current game image quality, and the determining of the associated rendering file related to the current rendering file includes: Obtain the current game image quality from the current rendering file; Determine an associated rendering file corresponding to the current game image quality.

5. The method according to claim 1, characterized in that The current rendering file includes a current device name, and determining an associated rendering file related to the current rendering file includes: Get the current device name from the current rendering file; An associated rendering file corresponding to the current device name is determined.

6. The method according to claim 2, characterized in that The original shader information includes rendering state, vertex declaration, basic type, and rendering target pixel format, and the deduplication of the original shader information to obtain the target shader information includes at least one of the following: Deduplication of the original shader information is performed through a hash table to obtain target shader information; Alternatively, the original shader information is deduplicated through a collection to obtain target shader information; Alternatively, the original shader information is deduplicated through an index structure to obtain target shader information.

7. The method according to claim 1, characterized in that The method further comprises: Add the rendering cache file to the game project; The game project is constructed into an installation package and sent to the client.

8. A rendering processing method, characterized in that: Applied to a client, the client is connected to a server for communication, and the method comprises the following steps: Collecting current shader information and storing the current shader information in a current rendering file; The current rendering file is packaged, compressed and uploaded to the server.

9. The method according to claim 8, characterized in that The method further comprises: Get the current game quality and current device name; The current rendering file is named according to the current game image quality and the current device name.

10. The method according to claim 8, characterized in that The method further comprises: Install the installation package sent by the server; Obtain and apply the rendering cache file.

11. A server, characterized in that: The server is connected to the client for communication, and the server includes: A file acquisition module, configured to receive a current rendering file sent by the client, and determine an associated rendering file related to the current rendering file; The parsing module is used to parse the current rendering file and the associated rendering file to generate a rendering cache file.

12. A client, characterized in that: The client is connected to the server for communication, and the client includes: A collection module, used for collecting current shader information and storing the current shader information into a current rendering file; The sending module is used to package and compress the current rendering file and upload it to the server.

13. An electronic device, characterized in that: It includes at least one control processor and a memory for communicating with the at least one control processor; the memory stores instructions that can be executed by the at least one control processor, and the instructions are executed by the at least one control processor to enable the at least one control processor to execute the rendering processing method as described in any one of claims 1 to 7, or execute the rendering processing method as described in any one of claims 8 to 10.

14. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute the rendering processing method according to any one of claims 1 to 7, or to execute the rendering processing method according to any one of claims 8 to 10.

Citation Information

Cited By

  • Geometric processing method, graphics processor and computer equipment

    CN120725853A

  • Geometric processing method, graphics processor and computer device

    CN120725853B