Rendering effect comparison method and device, computer program product and electronic equipment
By displaying and defining the display area and priority of rendering tasks in a visual user interface, the problem of difficulty in comparing and adjusting effects during rendering parameter debugging is solved, improving the efficiency and accuracy of rendering parameter debugging and avoiding computer lag.
Patent Information
- Application Number
- CN202511660454.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-12
- Publication Date
- 2026-02-10
AI Technical Summary
During the rendering parameter debugging process, the rendering effects of different rendering parameters affect each other, making it difficult to compare and adjust the rendering effects, and making it difficult to efficiently and accurately determine the best rendering parameters.
By defining the display area and rendering priority of rendering tasks within a visual user interface, multiple rendering tasks can be displayed simultaneously, and the rendering results can be shown. The optimal rendering effect can be determined by combining candidate rendering tasks and their rendering priorities.
It improves the efficiency and accuracy of debugging rendering parameters, avoids computer lag during multitasking, and helps relevant personnel quickly and accurately determine the rendering parameters corresponding to the best rendering effect.
Smart Images

Figure CN121490375A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of computer, and in particular, to a rendering effect comparison method, a rendering effect comparison device, a computer program product and an electronic device. BACKGROUND
[0002] Nowadays, with the increasing number of stylized games, game developers continuously improve the quality of game pictures of stylized games in order to occupy a competitive advantage, and pay more attention to rendering details of stylized games. The improvement of rendering effect requires continuous debugging of rendering parameters.
[0003] However, in the process of debugging rendering parameters, there may be mutual influence between rendering effects of different rendering parameters, resulting in great difficulty in comparing and adjusting rendering effects. Therefore, there is an urgent need for a method that can compare rendering effects of multi-dimensional rendering parameters to assist relevant personnel in more efficiently and accurately comparing comprehensive rendering effects of parameter values of rendering parameters in different dimensions.
[0004] It should be noted that the information disclosed in the above background section is only used to strengthen the understanding of the background of the present disclosure, and therefore can include information that does not constitute prior art known to those of ordinary skill in the art. SUMMARY
[0005] The purpose of the present disclosure is to provide a rendering effect comparison method, a rendering effect comparison device, a computer program product and an electronic device, thereby at least to some extent improving the debugging efficiency and accuracy of rendering parameters.
[0006] Other characteristics and advantages of the present disclosure will become apparent from the following detailed description, or will be learned by practice of the present disclosure.
[0007] According to a first aspect of the present disclosure, a rendering effect comparison method is provided, comprising: determining a candidate rendering task according to a rendering parameter to be compared; obtaining a display mode of a rendering result, determining a visible area of a visual user interface carrier corresponding to the display mode, and determining a current rendering task from the candidate rendering task according to the visible area; determining a display area of a rendering result of the current rendering task in the visual user interface carrier, and determining a rendering priority of the current rendering task according to a position of the display area in the visual user interface carrier; rendering the current rendering task based on the rendering priority, and displaying the rendering result of the current rendering task in the display area of the rendering result of each current rendering task.
[0008] According to a second aspect of the present disclosure, a rendering effect comparison device is provided, comprising: a candidate rendering task determination module configured to determine candidate rendering tasks according to rendering parameters to be compared; a current rendering task determination module configured to obtain a display mode of a rendering result, determine a visual area of a visual user interface carrier corresponding to the display mode, and determine a current rendering task from the candidate rendering tasks according to the visual area; a rendering priority determination module configured to determine a display area of a rendering result of the current rendering task in the visual user interface carrier, and determine a rendering priority of the current rendering task according to a position of the display area in the visual user interface carrier; and a rendering result comparison display module configured to render the current rendering task based on the rendering priority, and display the rendering result of the current rendering task in the display area of the rendering result of each current rendering task.
[0009] According to a third aspect of the present disclosure, a computer program product containing instructions, which, when executed on a computer, causes the computer to perform the steps of the rendering effect comparison method according to the first aspect.
[0010] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, which stores a computer program, and the program, when executed by a processor, implements the rendering effect comparison method according to the first aspect of the above-mentioned embodiments.
[0011] According to a fifth aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a storage device for storing one or more programs, which, when executed by the one or more processors, cause the one or more processors to implement the rendering effect comparison method according to the first aspect of the above-mentioned embodiments.
[0012] According to the above technical solutions, the rendering effect comparison method, the rendering effect comparison device, and the computer program product and the electronic device implementing the rendering effect comparison method according to the exemplary embodiments of the present disclosure have at least the following advantages and positive effects: In the technical solutions provided by some embodiments of the present disclosure, on the one hand, the visual area of the visual user interface carrier can be used to simultaneously display the rendering results of multiple rendering tasks, so that relevant personnel can simultaneously observe the rendering effects of multiple rendering tasks, thereby assisting the relevant personnel to quickly and accurately determine the rendering parameters corresponding to the best rendering effect, and improving the debugging efficiency and accuracy of the rendering parameters; on the other hand, by determining the rendering priority, the problem of computer freezing caused by simultaneously processing multiple rendering tasks can be avoided in the case of simultaneously displaying as many rendering effects as possible.
[0013] The present disclosure should be understood to address and meet the needs stated herein as well as other needs, which will become apparent in light of the disclosure. BRIEF DESCRIPTION OF DRAWINGS
[0014] The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate embodiments consistent with the present disclosure and, together with the description, further serve to explain the principles of the disclosure. It is to be expressly understood that the drawings are only for purposes of illustration and are not to be construed as limiting the present disclosure.
[0015] Figure 1 A schematic diagram showing an exemplary system architecture to which embodiments of the present disclosure can be applied; Figure 2 A flowchart showing a rendering effect comparison method in an exemplary embodiment of the present disclosure; Figure 3 A graphical user interface diagram showing a table form of rendering result display in a graphical user interface in an exemplary embodiment of the present disclosure; Figure 4 A flowchart showing a method for determining a current rendering task in an exemplary embodiment of the present disclosure; Figure 5 A graphical user interface diagram showing a scene billboard in a rendering scene in an exemplary embodiment of the present disclosure; Figure 6 A diagram showing grouping of scene billboards in a rendering scene in an exemplary embodiment of the present disclosure; Figure 7 A diagram showing a viewable area in a scene billboard display mode in an exemplary embodiment of the present disclosure; Figure 8 A flowchart showing another method for determining a current rendering task in an exemplary embodiment of the present disclosure; Figure 9 A flowchart showing a method for determining a rendering priority in an exemplary embodiment of the present disclosure; Figure 10 A flowchart showing a method for rendering effect comparison based on multi-threading in an exemplary embodiment of the present disclosure; Figure 11 A composition diagram of a rendering effect comparison device in an exemplary embodiment of the present disclosure; Figure 12 A structure diagram of an electronic device in an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0016] Example implementations are now described with reference to the drawings. Example implementations can, however, be implemented in many different forms and should not be construed as limited to the examples set forth herein; rather, these implementations are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the example implementations to those skilled in the art. The features, structures, or characteristics described can be combined in one or more implementations. In the following description, numerous specific details are recited to provide a full understanding of the example implementations. One skilled in the relevant art will recognize, however, that the principles of the present disclosure can be practiced without one or more of the specific details, or indeed, with other methods, components, materials, and / or apparatus. In other instances, well-known structures have not been described in detail in order to avoid obscuring the aspects of the present disclosure.
[0017] The use of the terms "one" and "the" and "said" in this specification are used to mean that "one or more", "at least one", or "one or more than one" of the enumerated items can be present; the use of the term "includes" and "including" means "including, but not limited to"; the use of the term "based on" means "based at least in part on".
[0018] In addition, the accompanying drawings are included to provide a further understanding of the present disclosure and are incorporated in and constitute a part of this specification. The drawings illustrate examples of the present disclosure and, together with the description, serve to explain principles of the present disclosure. In the drawings:
[0019] LookDev (Look Development) is a key process and tool in the field of real-time rendering and visual development. Its core is to establish a unified visual verification environment for digital assets (models, materials, lights, etc.), to ensure that their performance under different lighting and scenes meets the artistic standards.
[0020] Currently, the mainstream LookDev process is based on PBR (Physically Based Rendering), which mainly creates a standard lighting scene to check whether the model's texture and rendering effect are correct. Even the stylized LookDev is currently only a simple modification of PBR LookDev, that is, replacing the standard scene in PBR LookDev with a stylized rendering scene to check whether the stylized rendering texture and rendering effect meet the expectations.
[0021] Traditional LookDev mainly corrects the brightness of PBR map and exposure, because the main map and material comply with the physical rules, so it is correct in other rendering factors, such as day and night cycle, weather, atmosphere.
[0022] Unlike PBR rendering, stylized rendering generally does not comply with the law of conservation of energy, so it is difficult to ensure the final rendering effect by only checking the map and material of a few scenes, especially in the case of day and night cycle, weather, atmosphere and other factors. It is very difficult for artists to ensure that all types of scenes, such as open grassland, cave, high mountain and indoor scenes with different exposure and global light intensity, look good in various weather conditions. If all time periods and other rendering factors are added, the difficulty will increase exponentially.
[0023] To solve the above problems, the present disclosure provides a rendering effect comparison method and device, which can be applied to Figure 1 the system architecture of the exemplary application environment shown.
[0024] As Figure 1 shown, the system architecture 100 can include a terminal device 110 and a server 120. The terminal device 110 can be a smartphone, a tablet computer, a desktop computer, a notebook computer, a smart wearable device, etc. The server 120 generally refers to a background system that provides services related to the rendering effect comparison method in the present exemplary embodiment, and can be a server or a cluster formed by multiple servers. The terminal device 110 and the server 120 can be connected through wired or wireless communication links to interact with each other.
[0025] In an exemplary embodiment, the rendering effect comparison method described above can be executed by the terminal device 110. Correspondingly, the rendering effect comparison device can be arranged in the terminal device 110 to realize the corresponding module functions. For example, a user uses the graphical user interface in the terminal device 110 to set the rendering parameters to be compared and the comparison values of the rendering parameters to be compared, and the terminal device 110 can respond to the user's confirmation operation to determine the candidate rendering tasks according to the rendering parameters to be compared; obtain the user's selected display mode of the rendering result, determine the visible area of the visual user interface carrier corresponding to the display mode, and determine the current rendering task from the candidate rendering tasks according to the visible area; determine the display area of the rendering result of the current rendering task in the visual user interface carrier, and determine the rendering priority of the current rendering task according to the position of the display area in the visual user interface carrier; render the current rendering task based on the rendering priority, and display the rendering result of the current rendering task in the display area of the rendering result of each current rendering task.
[0026] In an exemplary embodiment, the rendering result comparison method described above can be performed by the server 120. Correspondingly, a rendering result comparison device can be provided in the server 120 to realize the corresponding module functions. For example, a user sets the rendering parameters to be compared and the comparison values of the rendering parameters to be compared using the graphical user interface in the terminal device 110, and the terminal device 110 uploads the data to the server 120, which determines the candidate rendering tasks according to the rendering parameters to be compared; acquires the display mode of the rendering result selected by the user, determines the visual area of the visual user interface carrier corresponding to the display mode, and determines the current rendering task from the candidate rendering tasks according to the visual area; determines the display area of the rendering result of the current rendering task in the visual user interface carrier, and determines the rendering priority of the current rendering task according to the position of the display area in the visual user interface carrier; renders the current rendering task based on the rendering priority, and then sends the rendering result to the terminal device 110, so that the terminal device 110 displays the rendering result of the current rendering task in the display area of the rendering result of each current rendering task.
[0027] It should be understood that Figure 1 The number of terminal devices and servers in the above description is only exemplary. According to the needs of implementation, there can be any number of terminal devices and servers. For example, the server 120 can be a standalone physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs, and basic cloud computing services such as big data and artificial intelligence platforms.
[0028] Figure 2 A flowchart of a rendering result comparison method in an exemplary embodiment of the present disclosure is shown. Referring to Figure 2 , the method comprises: Step S210, determining candidate rendering tasks according to rendering parameters to be compared; Step S220, acquiring a display mode of a rendering result, determining a visual area of a visual user interface carrier corresponding to the display mode, and determining a current rendering task from the candidate rendering tasks according to the visual area; Step S230, determining a display area of a rendering result of the current rendering task in the visual user interface carrier, and determining a rendering priority of the current rendering task according to the position of the display area in the visual user interface carrier; Step S240, rendering the current rendering task based on the rendering priority, and displaying the rendering result of the current rendering task in the display area of the rendering result of each current rendering task.
[0029] In Figure 2 In the technical solution provided by the embodiment, on one hand, the rendering results of multiple rendering tasks can be simultaneously displayed in the visual area of the visual user interface carrier, so that relevant personnel can simultaneously observe the rendering effects of the multiple rendering tasks, thereby assisting the relevant personnel in quickly and accurately determining the rendering parameters corresponding to the best rendering effect, and improving the debugging efficiency and accuracy of the rendering parameters.
[0030] Next, the specific implementation of "Step S210, determining the candidate rendering task according to the rendering parameters to be compared" will be described in detail.
[0031] In an exemplary embodiment, the rendering parameters to be compared include rendering parameters to be compared for the same rendering scene. The same rendering scene can include a target stylized scene selected from a pre-constructed stylized scene.
[0032] For example, a standard stylized scene can be pre-constructed in Lookdev and a preset rendering effect can be achieved using a commonly used plug-in (i.e., a default plug-in), such as a day-night cycle and weather effect. These standard stylized scenes can be used as templates for objects for rendering (such as an Actor for rendering) in the virtual engine to be called for rendering. For example, a user can select a stylized scene for which the user needs to compare the rendering effects from the standard stylized scenes, and then render the stylized scene selected by the user according to the rendering parameters to be compared.
[0033] For example, before determining the candidate rendering task according to the rendering parameters to be compared, the rendering properties of the objects for rendering in the virtual engine can be bound in advance by the reflection system of the base object of the virtual engine, so as to call the rendering function corresponding to the selected rendering function plug-in through a unified interface, thereby rendering the rendering scene selected by the user based on the rendering function corresponding to the rendering function plug-in and the values of the rendering parameters to be compared, to obtain the rendering result.
[0034] For example, the rendering properties of the Actors that control the day and night cycle, weather, atmosphere, etc. can be bound through the reflection system of the base object in UnrealEngine (software for making various games, film and television works). For example, a management class can be pre-built to uniformly manage the attribute difference of all rendering Actors and rendering control, an array for monitoring Actor attributes is defined in the built management class, the attributes that need to be monitored are managed through the array in the header file of the management class, and then the properties of the rendering effect Actor are bound to the corresponding rendering effect display mode, so that the specified properties of any Actor can be bound through the reflection system, so that the specified rendering parameters of a certain Actor in the specified Lookdev stylized scene can be obtained and changed. In this way, no matter which rendering function plug-in the user uses, such as using other rendering function plug-ins instead of the default plug-in in the standard stylized scene, the rendering function plug-in can be called through a unified interface, improving the universality.
[0035] In an example embodiment, the rendering parameters to be compared include first type rendering parameters to be compared and second type rendering parameters to be compared, and the update frequency of the first type rendering parameters is higher than that of the second type rendering parameters.
[0036] For example, the second type rendering parameters can include low-frequency rendering parameters, i.e. rendering parameters with low frequency of change in the rendering scene, such as weather, and the first type rendering parameters can include high-frequency rendering parameters, i.e. rendering parameters with high frequency of change in the rendering scene, such as time of day and night cycle. The values of low-frequency rendering parameters are relatively few, such as weather values of fixed sunny, cloudy, rainy, snowy, etc., and the values of high-frequency parameters are relatively many, such as time of day and night cycle, which has 24 values even if it is rendered once an hour.
[0037] Based on this, an example embodiment of step S210 can include determining a candidate rendering task according to the combination result between the first comparison value of the first type rendering parameters and the second comparison value of the second type rendering parameters, wherein the number of candidate rendering tasks is the same as the number of combination results, and the candidate rendering parameters of a candidate rendering task correspond to one combination result.
[0038] For example, the rendering parameters to be compared can be determined according to the selection of the user. For example, the user can configure the rendering parameters to be compared through configuration controls or selection controls in the graphical user interface, and obtain the rendering parameters to be compared. The user can configure specific values for each rendering parameter to be compared, so as to obtain the comparison values. The user can also give the value range and value step of the rendering parameters to be compared, so as to obtain the comparison values of the rendering parameters to be compared according to the value range and value step. The user can also only give the value range of each rendering parameter to be compared, and obtain the comparison values of the rendering parameters to be compared according to the default step. For example, the user determines that the rendering parameters to be compared include the day-night cycle time, gives the value range of the day-night cycle time as 0-24 hours, and the step is 1 hour. Each whole point is the comparison value of the day-night cycle time, that is, the rendering parameter of the day-night cycle time has 24 comparison values. Taking the comparison values of the first type of rendering parameters as 100 and the comparison values of the second type of rendering parameters as 5 as examples, there are 500 candidate rendering tasks.
[0039] Next, the specific implementation of "step S220, obtaining the display mode of the rendering result, determining the visible area of the visual user interface carrier corresponding to the display mode, and determining the current rendering task to be rendered from the candidate rendering tasks according to the visible area" will be described in detail.
[0040] For example, an exemplary embodiment of step S220 can include determining the current rendering task to be rendered from the candidate rendering tasks based on the overlapping relationship between the visible area and the display area of the rendering result of the candidate rendering task.
[0041] In an exemplary embodiment, the display mode of the rendering result includes display in the form of a table in the graphical user interface and display in the scene billboard of the rendering scene. The user can select a specific display mode according to his own needs.
[0042] For example, in the case where the display mode includes display in the form of a table in the graphical user interface, the visual user interface carrier includes the graphical user interface, and the display area of the rendering result of one candidate rendering task corresponds to one cell in the table, and the visible area of the visual user interface carrier is the visible area of the graphical user interface.
[0043] For example, Figure 3 A graphical user interface schematic diagram for displaying the rendering result in the form of a table in the graphical user interface is shown in an exemplary embodiment of the present disclosure, with reference to Figure 3In this display mode, the rendering effects of different rendering parameter values are mainly displayed in a table form. The rows of the table correspond to the second type of rendering parameters, i.e., the values of the low-frequency rendering parameters, and the columns of the table correspond to the first type of rendering parameters, i.e., the values of the high-frequency rendering parameters. The row header displays the rendering parameter name and the specific value, and the column header displays the specific parameter value. As shown in Figure 3 , the rendering task in each cell can also display the rendering status, such as rendering, waiting for rendering, etc., before the rendering is completed. After the rendering is completed, the rendering result corresponding to the parameter value can be directly displayed in the corresponding cell.
[0044] In the case where the display mode includes displaying in a table form in the graphical user interface, the number of cells displayed in the visual area of the graphical user interface can be adjusted by zooming in or out. The smaller the zoom value is, the more cells can be seen. When the zoom value is small, only low-resolution rendering result thumbnails can be displayed, and when the zoom value is large, high-resolution rendering result images can be seen.
[0045] In an exemplary embodiment, in the case where the number of candidate rendering tasks is greater than the first preset number, the cells corresponding to the display areas of the candidate rendering tasks are grouped, so that the cells corresponding to the display areas of the candidate rendering tasks in the same group form a browsing block configured with an index value.
[0046] For example, in the case where the number of candidate rendering tasks is greater than the first preset number, the block division reference amount can be determined according to the zoom value, and then the cells are divided into blocks, i.e., each block includes the same number (this same number is the block division reference amount) of cells, thereby obtaining a plurality of browsing blocks configured with index values. The smaller the zoom value is, i.e., the more cells in the visual area, the larger the block division reference amount is, and the larger the zoom value is, i.e., the fewer cells in the visual area, the smaller the block division reference amount is.
[0047] It should be noted that the display area in the present disclosure refers to the display area of the rendering result of the rendering task, such as the display area of the candidate rendering task, which refers to the display area of the rendering result of the candidate rendering task. As described above, before the rendering task is successfully rendered, the state of the rendering task and the rendering parameter information can be displayed in the display area, and after the rendering task is successfully rendered, the rendering result image can be displayed in the display area.
[0048] In the case where the display mode is to display in a table form in the graphical user interface, the method for determining the current rendering task can refer to Figure 4 . Exemplarily, Figure 4 A flowchart of a method for determining a current rendering task in an exemplary embodiment of the present disclosure is shown. Referring to Figure 4The method can include steps S410 to S430. Wherein: In step S410, a current browsing block is determined according to the degree of overlap of each browsing block and the visual area of the graphical user interface.
[0049] For example, the browsing block with the largest degree of overlap with the visual area of the graphical user interface can be determined as the current browsing block.
[0050] In step S420, the second index values of the second preset number of surrounding browsing blocks adjacent to the current browsing block are calculated according to the first index value of the current browsing block, so as to determine the second preset number of surrounding browsing blocks based on the second index values.
[0051] Wherein, the second preset number can be determined according to requirements, and the present exemplary embodiment does not make special limitations thereon.
[0052] For example, taking the second preset number as 8, the 8 blocks around the current browsing block can be determined as surrounding browsing blocks. In the case of knowing the index value of the current browsing block, the index values of the 8 browsing blocks adjacent to the current browsing block can be calculated, so as to obtain the 8 surrounding browsing blocks.
[0053] In step S430, the candidate rendering tasks indicated by the cells in the current browsing block and the surrounding browsing blocks are determined as the current rendering tasks.
[0054] For example, the candidate rendering tasks in all cells in the current browsing block and the surrounding browsing blocks can be determined as the current rendering tasks.
[0055] In the case that the display mode includes displaying in the scene billboards of the rendering scene, the visual user interface carrier includes the rendering scene displayed in the graphical user interface, and the display area of the rendering result of one candidate rendering task corresponds to one scene billboard, and the visual area of the visual user interface carrier is the area indicated by the field of view of the virtual camera of the rendering scene.
[0056] Exemplarily, Figure 5 A graphical user interface schematic diagram of a scene billboard in a rendering scene in an exemplary embodiment of the present disclosure is shown. Referring to Figure 5 , Figure 5Each black square represents a scene billboard, and a 3D scene billboard in the rendering scene is used to display the rendering result and the rendering state, which is similar to the form of a table in the graphical user interface, and the rows are used to define the low-frequency rendering parameters, and the TextRenderComponent in each Actor is used to display the rendering parameter name, specific value, and rendering state; the columns are used to define the high-frequency rendering parameters. The number of 3D billboard Actors also corresponds to the candidate rendering tasks one by one.
[0057] For example, when the number of candidate rendering tasks is greater than the first preset number, the scene billboards corresponding to the display areas of the candidate rendering tasks are grouped, so that the scene billboards corresponding to the display areas of the candidate rendering tasks in the same group form a browsing block configured with an index value.
[0058] For example, similar to the display mode in the form of a table in the graphical user interface, when the number of candidate rendering tasks is greater than the first preset number, the scene billboards can also be divided into blocks according to the scaling value. The division result can be as shown in Figure 6 The way of dividing the scene billboards into blocks according to the scaling value is the same as the way of dividing the cells into blocks according to the scaling value described above, and will not be described here.
[0059] It should be noted that, regardless of the display mode, the block division refers to virtual division, that is, virtual division for subsequent processing, and the block division line as shown in Figure 6 will not be displayed in practice.
[0060] For example, Figure 7 shows a schematic diagram of a visual area in a scene billboard display mode in an example embodiment of the present disclosure. As shown in Figure 7 , in the scene billboard display mode, the visual area of the visual user interface carrier can be understood as an area within a hexahedron constructed according to the projection matrix of the virtual camera in the rendering scene.
[0061] When the display mode is to display in the scene billboards of the rendering scene, the method for determining the current rendering task can refer to Figure 8 . For example, Figure 8 shows a flowchart of another method for determining the current rendering task in an example embodiment of the present disclosure. As shown in Figure 8As shown, the method can include steps S810 to S830. Among them: in step S810, according to the degree of overlap of each browsing block and the area indicated by the field of view range of the virtual camera of the rendering scene, determine the current browsing block; in step S820, according to the first index value of the current browsing block, calculate the second index value of the second preset number of surrounding browsing blocks adjacent to the current browsing block, so as to determine the second preset number of surrounding browsing blocks based on the second index value; in step S830, the candidate rendering task indicated by the scene billboard in the current browsing block and the surrounding browsing block is determined as the current rendering task.
[0062] Among them, the specific implementation of steps S810 to S830 can refer to the specific implementation of steps S410 to S430, and the visual area is replaced accordingly, so this will not be repeated here.
[0063] For example, if the number of candidate rendering tasks is less than or equal to the first preset number, the candidate rendering task in the visual user interface carrier can be directly visualized as the current rendering task, that is, without block division. When determining the rendering priority, the distance between the display area of the rendering result of each current rendering task and the center coordinate of the visual user interface carrier can be directly used to determine the rendering priority of each current rendering task. The closer the distance, the higher the priority.
[0064] Next, the specific implementation of "step S230, determining the display area of the rendering result of the current rendering task in the visual user interface carrier, and determining the rendering priority of the current rendering task according to the position of the display area in the visual user interface carrier" will be described in detail.
[0065] For example, the display area of the current rendering task in the visual user interface carrier can be determined according to the row and column to which the rendering parameter value of the current rendering task belongs. For example, for the form of a table displayed in the graphical user interface, the display area of the rendering result of the current rendering task can be determined according to the cell indicated by the row and column to which the rendering parameter value of the current rendering task belongs. For example, if the rendering parameter value of a certain current rendering task corresponds to the rendering parameter value in the 3rd row and 4th column of the table, the display area of the rendering result of the current rendering task is the cell corresponding to the 3rd row and 4th column of the table. Similarly, for the form displayed in the scene billboard of the rendering scene, if the rendering parameter value of a certain current rendering task is the rendering parameter value in the 4th row and 5th column of the matrix, the scene billboard corresponding to the 4th row and 5th column of the matrix is the display area of the rendering result of the current rendering task.
[0066] Exemplarily, Figure 9 A flowchart of a method for determining rendering priority in an exemplary embodiment of the present disclosure is shown. Referring to Figure 9 The method can include steps S910 to S940. Wherein: In step S910, for a current browsing block, a current to-be-rendered task corresponding to a display region in the current browsing block and within the visual region is added to a first priority rendering queue corresponding to the current browsing block, and a current to-be-rendered task corresponding to a display region in the current browsing block and outside the visual region is added to a first secondary rendering queue corresponding to the current browsing block.
[0067] Exemplarily, as mentioned above, for the display manner in the form of a table in the graphical user interface, the visual region of the visual user interface carrier can be understood as the visual region of the graphical user interface. Based on this, in the case of the display manner being the display in the form of a table in the graphical user interface, the display region within the visual region includes the display region located within the visual region of the graphical user interface, and the display region outside the visual region includes the display region located outside the visual region of the graphical user interface.
[0068] Exemplarily, for the display manner in the form of a scene billboard in the rendering scene, the visual region of the visual user interface carrier can be understood as the region within the field of view of the virtual camera in the rendering scene. And the field of view of the virtual camera can be determined according to the hexahedron corresponding to the projection matrix of the virtual camera. Based on this, in the case of the display manner being the display in the form of a matrix arranged scene billboard in the rendering scene, the display region within the visual region includes the display region located within the hexahedron constructed based on the projection matrix of the virtual camera, and the display region outside the visual region includes the display region located outside the hexahedron constructed based on the projection matrix of the virtual camera.
[0069] For example, the current to-be-rendered task in the current browsing block corresponds to a first priority rendering queue and a first secondary rendering queue. For the way of display in the form of a matrix in the graphical user interface, the current to-be-rendered task in the cell in the current browsing block which is in the visual area of the graphical user interface can be added to the first priority rendering queue corresponding to the current browsing block, and the current to-be-rendered task in the cell in the current browsing block which is out of the visual area of the graphical user interface can be added to the first secondary rendering queue corresponding to the current browsing block. For the way of display in the scene billboard of the rendering scene, the current to-be-rendered task in the scene billboard in the current browsing block which is in the field of view of the camera can be added to the first priority rendering queue corresponding to the current browsing block, and the current to-be-rendered task in the scene billboard in the current browsing block which is out of the field of view of the virtual camera can be added to the first secondary rendering queue corresponding to the current browsing block.
[0070] For example, for any current browsing block in any display mode, the priority of the first priority rendering queue is higher than the priority of the first secondary rendering queue.
[0071] In step S920, for each surrounding browsing block, the current to-be-rendered task in the display area in the surrounding browsing block which is in the visual area is added to the second priority rendering queue corresponding to the surrounding browsing block, and the current to-be-rendered task in the display area in the surrounding browsing block which is out of the visual area is added to the second secondary rendering queue corresponding to the surrounding browsing block.
[0072] For example, each surrounding browsing block also corresponds to a priority rendering queue and a secondary rendering queue respectively, and the way of adding the current to-be-rendered task to the priority rendering queue and the secondary rendering queue corresponding to each surrounding browsing block is the same as the way of adding the current to-be-rendered task to the priority rendering queue and the secondary rendering queue corresponding to the current browsing block, so the specific implementation of step S920 can refer to the above-mentioned step S910, and details are not repeated here.
[0073] Similarly, for any surrounding browsing block in any display mode, the priority of the second priority rendering queue corresponding to the surrounding browsing block is higher than the priority of the second secondary rendering queue corresponding to the surrounding browsing block.
[0074] In step S930, for the current to-be-rendered task in any queue, a first priority of the current to-be-rendered task in the queue is determined according to the distance between the display area of the current to-be-rendered task and the center coordinates of the visual user interface carrier.
[0075] For example, for any of the first priority rendering queue, the first secondary rendering queue, and the second priority rendering queue and the second secondary rendering queue corresponding to each surrounding browsing block, the first priority of the current rendering task in the queue can be determined according to the distance between the display area of the current rendering task in the queue and the center coordinates of the visual graphical user interface carrier.
[0076] In an exemplary embodiment, when the display mode includes displaying in the form of a table in the graphical user interface, the center coordinates of the visual user interface carrier include the center coordinates of the graphical user interface; when the display mode includes displaying in the form of a scene billboard arranged in a matrix in the rendering scene, the center coordinates of the visual user interface carrier include the intersection coordinates of the line of sight of the virtual camera and the ground of the rendering scene.
[0077] For example, for the mode of displaying the rendering results in the form of a table in the graphical user interface, for each queue, the priority of the current rendering task in the queue can be determined according to the distance between the center coordinates of the display cell of the rendering result of the current rendering task in the queue and the center coordinates of the graphical user interface, and the smaller the distance, the higher the priority. For the mode of displaying the rendering results in the form of a scene billboard, for each queue, the center coordinates of the visual user interface carrier can be determined according to the intersection of the line of sight of the virtual camera and the ground of the virtual scene, and then the distance between the scene billboard corresponding to the current rendering task in the queue and the center coordinates is calculated, and the priority of the current rendering task in the queue is determined according to the distance, and the smaller the distance, the higher the priority.
[0078] In step S940, the rendering priority of the current rendering task is determined according to the second priority of the first priority rendering queue, the first secondary rendering queue, the second priority rendering queue, and the second secondary rendering queue, and the first priority of the current rendering task in the queue.
[0079] In an exemplary embodiment, the order of the second priority from high to low is: the first priority rendering queue, the first secondary rendering queue, the second priority rendering queue, and the second secondary rendering queue.
[0080] In another exemplary embodiment, the order of the second priority from high to low is: the first priority rendering queue, the second priority rendering queue, the first secondary rendering queue, and the second secondary rendering queue.
[0081] For example, in the case that the second priority rendering queue includes multiple second priority rendering queues, the second priority between the second priority rendering queues can also be determined according to the distance between the center coordinates of the surrounding browsing block corresponding to the second priority rendering queue and the center coordinates of the visual user interface carrier. The smaller the distance, the higher the second priority. Similarly, the second priority between the multiple second secondary rendering queues can also be determined in this way.
[0082] For example, there are four surrounding browsing blocks, surrounding browsing block 1 corresponds to the second priority rendering queue 1 and the second secondary rendering queue 1, surrounding browsing block 2 corresponds to the second priority rendering queue 2 and the second secondary rendering queue 2, surrounding browsing block 3 corresponds to the second priority rendering queue 3 and the second secondary rendering queue 3, and surrounding browsing block 4 corresponds to the second priority rendering queue 4 and the second secondary rendering queue 4. The distances between the four surrounding browsing blocks and the center coordinates of the visual user interface carrier are in ascending order as surrounding browsing block 1, surrounding browsing block 4, surrounding browsing block 3, and surrounding browsing block 2. Then, the second priorities of all queues can be in descending order as: the first priority rendering queue, the second priority rendering queue 1, the second priority rendering queue 4, the second priority rendering queue 3, the second priority rendering queue 2, the first secondary rendering queue, the second secondary rendering queue 1, the second secondary rendering queue 4, the second secondary rendering queue 3, and the second secondary rendering queue 2.
[0083] For example, the rendering priorities between all current rendering tasks can be determined according to the second priorities between each queue and the first priorities between the current rendering tasks in each queue, that is, the high-priority current rendering tasks in the queue with high priority are processed preferentially.
[0084] In an exemplary embodiment, in the case that the number of current rendering tasks is greater than the third preset number, the current rendering tasks in the first priority rendering queue that meet the preset condition are transferred to the first secondary rendering queue, and the current rendering tasks in the second priority rendering queue that meet the preset condition are transferred to the second secondary rendering queue, so as to adjust the rendering priorities of the current rendering tasks.
[0085] For example, the preset condition can be used to measure the difference between the rendering parameters of the current rendering tasks. The preset condition can include that the difference between the value of the rendering parameter of the rendering parameter and the value of the rendering parameter of the target current rendering task is less than a preset value. For example, the preset condition can include that the difference between the value of the first type of rendering parameter and the value of the first type of rendering parameter of the target current rendering task is less than a preset value.
[0086] For example, in the case that the number of current rendering tasks is greater than the third preset number, the current rendering task at each whole point can be determined as a target rendering task, and the current rendering task at a non-whole point can be determined as a current rendering task satisfying the preset condition, so as to transfer the current rendering task at the non-whole point in each priority rendering queue to the corresponding secondary rendering queue.
[0087] The third preset number is also determined according to the display zoom value of the visual user interface carrier, and the third preset value can also be determined according to requirements or experience, which is not specially limited in the example embodiment. For example, the number of cells that can be displayed in the graphical user interface at the default zoom value is taken as the third preset number. The default zoom value can be determined according to requirements or experience, such as the zoom value indicating no zooming.
[0088] Continuing to take the high-frequency rendering parameter as the day-night cycle time as an example, in the case of zooming relative to the default zoom value, the current rendering task at the non-whole point in each priority rendering queue can be transferred to the corresponding secondary rendering queue, that is, the current rendering task of each whole point cell is rendered in priority, and then the current rendering task of other non-whole point cells is rendered.
[0089] Of course, in the case of no zooming, such as the case that the current zoom value of the graphical user interface is the default zoom value, if the stuttering condition is detected, the current rendering task at the non-whole point in each priority rendering queue can also be transferred to the corresponding secondary rendering queue, that is, the current rendering task of each whole point cell is rendered in priority, and then the current rendering task of other non-whole point cells is rendered.
[0090] It should be noted that the above-mentioned whole point cell refers to a cell in a column whose day-night cycle time value is a whole point (such as 0 o'clock, 1 o'clock, etc.), and the non-whole point cell includes a cell in a column whose day-night cycle time value is a non-whole point (such as 0 o'clock 10 minutes, 0 o'clock 20 minutes, 0 o'clock 30 minutes, etc.). For the scene billboard display mode, the above-mentioned whole point cell can be replaced by a whole point scene billboard.
[0091] By performing the degradation processing on the rendering priority of the current rendering task, the occurrence of the stuttering condition can be further reduced, and the rendering delay can be reduced.
[0092] Through the above steps S910 to S940, the rendering priority can be determined according to the observation mode. In each observation mode, the rendering task that the user wants to see the rendering result as soon as possible is rendered in priority as much as possible, so that the user can see the required multi-dimensional comparison rendering result as soon as possible.
[0093] Next, the specific implementation of "step S240, rendering the current to-be-rendered task based on the rendering priority, and displaying the rendering result of the current to-be-rendered task in the display area of the rendering result of each current to-be-rendered task" is described in detail.
[0094] For example, in the present disclosure, the Lookdev stylized standard scene can be rendered by a UE built-in component. For example, the current to-be-rendered task can be extracted from the rendering queue based on the rendering priority by the engine Game Thread at each frame, so as to render the extracted current to-be-rendered task. After a certain current to-be-rendered task is rendered, the rendering result corresponding to the current to-be-rendered task can be cached, such as being cached on a hard disk, and the rendering result of the current to-be-rendered task can be displayed in the display area corresponding to the visual user interface carrier. Thus, the rendering results of multiple current to-be-rendered tasks can be compared and displayed in the visual user interface carrier, so that the user can determine the optimal rendering parameter value based on the comparison result. Wherein, "GameThread" refers to a thread (Thread) responsible for processing the main logic of the game in game development, which is the core thread of game running.
[0095] For example, in the present disclosure, the rendering result comparison method can further include: in response to the observation field of view adjustment operation on the visual user interface carrier, updating the current to-be-rendered task.
[0096] For example, in the way of displaying the rendering result in the form of a table in the graphical user interface, the observation field of view adjustment operation on the visual user interface carrier can be understood as a zooming operation on the table in the graphical user interface or a page scrolling operation on the table, such as pulling the table up and down or left and right, so as to change part of the content in the table from visible to invisible, and vice versa. In the way of displaying the rendering result on the scene billboard, the observation field of view adjustment operation on the visual user interface carrier can be understood as an operation of adjusting the pose of the virtual camera. Adjusting the position or deflection angle of the virtual camera can change the field of view of the virtual camera. When the user performs the observation field of view operation in the visual user interface carrier, a new current to-be-rendered task can be determined according to the above-mentioned way of determining the current to-be-rendered task, so as to update the current to-be-rendered task.
[0097] For example, in the present disclosure, the rendering result comparison method can further include: in response to the observation field of view adjustment operation on the visual user interface carrier, storing the rendering result of the current to-be-rendered task that moves from the visible area to the invisible area.
[0098] For example, as mentioned above, when the user performs the observation field of view adjustment operation, some cells may become visible cells, i.e., some cells enter the visible area and some cells exit the visible area. The rendering result of the rendering task in the cells that exit the visible area can be cached, such as being stored in the memory or the hard disk. When the cells are moved from the invisible area to the visible area again, the rendering result can be directly obtained from the cache without re-rendering.
[0099] For example, rendering the current rendering task based on the rendering priority includes rendering a pre-selected rendering scene according to the rendering priority and the rendering parameter value of the current rendering task based on a rendering function plug-in. The rendering function plug-in includes one or more of a day and night cycle function rendering plug-in, a weather rendering function plug-in, and an atmosphere rendering function plug-in.
[0100] For example, as mentioned above, the user can determine the required scene from the pre-constructed stylized scene, so as to use the pre-selected rendering scene. The user can also determine the rendering function plug-in that the user wants to use from the existing rendering function plug-in. As mentioned above, the rendering attribute of the Actor is bound to the emission system of the base object in the virtual engine in advance, so that the user-selected rendering function plug-in can be called through the uniform interface. The pre-selected rendering scene is rendered based on the user-selected rendering function plug-in and the rendering parameter value of the current rendering task.
[0101] Of course, the user can also directly use the rendering function in the virtual engine without using other rendering function plug-ins. The user can also select different rendering function plug-ins to render the same rendering scene, so as to compare the rendering effects of different rendering function plug-ins.
[0102] For example, the display of the high-resolution rendering result or the low-resolution rendering result can also be determined according to the zoom value. For example, the zoom value can be determined according to the distance of the virtual camera relative to the ground. When the zoom value is small, only the low-resolution thumbnail can be seen. When the zoom value is large, the high-resolution rendering result can replace the low-resolution thumbnail.
[0103] For example, the rendering result comparison method in the present disclosure can also include storing the rendering result of the current rendering task according to the plug-in identifier of the selected rendering function plug-in and the parameter identifier of the rendering parameter to be compared.
[0104] For example, the rendering result can be stored, so that the user can use professional comparison software to compare the rendering results of different rendering parameter values in more detail.
[0105] Exemplarily, the rendering structure can be stored using a compression format, such as a zip format, as an archive file format, and the reading and writing operations of the stored rendering result can be in a system temporary directory or in memory.
[0106] For example, the naming manner of the rendering result can be: row number_row rendering parameter name_row rendering parameter value_column number_column rendering parameter name_column rendering parameter value_timestamp_user identification.png. The rendering result can be stored according to archive name, archive timestamp, rendering function plug-in name used, Actor name list, attribute name of supervisor, central coordinates of graphical user interface under table display and virtual scene coordinates under scene billboard display mode, rendering result name, and other archive information.
[0107] When writing the rendering result into an archive, the related rendering result can be first cached into a system temporary directory. Specifically, various information in the editor described above can be obtained to create an archive file, then a compression package stream is created, the archive file and the rendering result file are written, compression is completed, and the file is written into a specified hard disk directory.
[0108] When reading the stored rendering result, the ZIP file can be read and decompressed into a system temporary directory, the archive file is read to restore the editor state, and the rendering result is loaded into the virtual engine.
[0109] Exemplarily, taking a game scene as an example, Figure 10 A flowchart of a method for rendering effect comparison based on multi-threading in an exemplary embodiment of the present disclosure is shown. Referring to Figure 10 The specific process of the method can include: a game thread creates a work thread and assigns a task, each work thread calculates and manages the rendering queue of the corresponding browsing block, GameThread extracts a specified number of rendering tasks from the rendering queue of each browsing block according to the priority and submits rendering, after rendering is completed, the rendering result is sent to the corresponding work thread, the work thread caches the result on the hard disk and sets it to the display area in the visual user interface carrier for display. After all the current rendering tasks are completed, each work thread enters the task assignment stage, when the user adjusts the observation field of view, the game thread will determine the current rendering task according to the current camera position or the current central block in the graphical user interface (i.e. the current browsing block described above) and reassign it.
[0110] For example, the game thread creates a number of worker threads equal to the number of current traffic blocks and surrounding browsing blocks, each thread corresponding to a block, responsible for determining the priority rendering queue and the secondary rendering queue in the block, and the priority of the current rendering task in the queue. For example, the number of surrounding browsing blocks is 8, and 9 threads can be created, one of which corresponds to the current browsing block, and the remaining 8 threads correspond to the 8 surrounding browsing blocks. Another thread, thread 10, can be created to calculate the priority between the remaining 8 surrounding browsing blocks. In this way, GameThread can take a predetermined number of current rendering tasks for rendering according to the priority of the surrounding browsing blocks and the priority of each current rendering task in the surrounding browsing blocks. After rendering, the rendering result is sent to the corresponding thread, and the corresponding thread stores the rendering result and displays it in the corresponding display area.
[0111] If all calculations and management logic are placed in GameThread, GameThread will be overloaded with tasks, causing the editor to lag, affecting user experience. In the present disclosure, rendering tasks are submitted through the combination of GameThread and queues, and the priority of rendering tasks in multiple browsing blocks is calculated and managed in parallel through multi-threading. In addition, the producer-consumer mode can be used to implement rendering queue rendering, so as to fully utilize the performance of the CPU to process a large number of rendering tasks, improve the response speed as much as possible, avoid the lag of the main interface, and improve the user experience.
[0112] In addition, in order to avoid the rendering queue from being disordered due to the user's frequent movement of the interface or adjustment of the camera pose, an update interval time, such as 0.2 seconds, can be set, that is, any adjustment within 0.2 seconds will not cause the update of the current rendering task. In order to avoid memory explosion, the number of on-screen rendering can also be controlled according to the current memory capacity of the graphics card, and the excess is in the rendering queue.
[0113] In an exemplary scenario, the user opens the stylized Lookdev map constructed by the present disclosure, adds day and night cycles, weather, atmosphere and other rendering function actors to the scene, registers the rendering parameters that need to be monitored or compared in range using the management class, sets the preview range and difference of the rendering parameters (i.e. the value range and step size mentioned above), and can automatically generate rendering actors that meet the user's needs, thereby batch rendering and realizing batch on-screen browsing and comparison of the rendering results of multiple rendering parameter values. The user can also load the rendering results of the previous archived version for iterative comparison, so as to evaluate whether the adjustment of the current rendering parameter value is appropriate, and then determine the best rendering parameter value.
[0114] In an exemplary embodiment, the rendering result of the set dimension can be automatically output by the CommandLet, and then the user can check the rendering result change rate using the OpenCV library. If the rendering result change rate is small, it indicates that the changes of the rendering parameter type, rendering pipeline, Shader, etc. are correct, otherwise, it indicates that the changes may have problems.
[0115] The user can realize fast and accurate comparison and adjustment of the rendering parameters based on the method of the present disclosure, thereby reducing the probability of rendering errors. Meanwhile, the rendering order of the rendering tasks can be managed by the queue to perform the frame rendering, which can avoid the situation of serious lag caused by too many renderings at one time. In addition, different queue sorting methods can be used according to different current observation modes, and the rendering tasks in the center of the user's field of view are preferentially rendered, so that the user can see the required multi-dimensional rendering result as soon as possible.
[0116] In addition, it should be noted that the above figures are only schematic illustrations of the processes included in the method according to the exemplary embodiments of the present disclosure, and are not for limiting purposes. It is easy to understand that the processes shown in the above figures do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be executed synchronously or asynchronously in multiple modules, for example.
[0117] Further, the exemplary embodiments of the present disclosure also provide a rendering result comparison device. Referring to Figure 11 As shown, the rendering result comparison device includes the following program modules: a candidate rendering task determination module 1110 configured to determine candidate rendering tasks according to rendering parameters to be compared; a current rendering task determination module 1120 configured to obtain a display mode of a rendering result, determine a visible area of a visual user interface carrier corresponding to the display mode, and determine a current rendering task from the candidate rendering tasks according to the visible area; a rendering priority determination module 1130 configured to determine a display area of a rendering result of the current rendering task in the visual user interface carrier, and determine a rendering priority of the current rendering task according to the position of the display area in the visual user interface carrier; and a rendering result comparison display module 1140 configured to render the current rendering task based on the rendering priority, and display the rendering result of the current rendering task in the display area of the rendering result of each current rendering task.
[0118] In an example implementation, the rendering parameters to be compared include first type rendering parameters to be compared and second type rendering parameters to be compared, the update frequency of the first type rendering parameters is higher than that of the second type rendering parameters; and the determining the candidate rendering tasks according to the rendering parameters to be compared includes determining the candidate rendering tasks according to a combination result between the first comparison values of the first type rendering parameters and the second comparison values of the second type rendering parameters; wherein the number of the candidate rendering tasks is the same as the number of the combination results, and the candidate rendering parameters of one candidate rendering task correspond to one combination result.
[0119] In an example implementation, the determining the current rendering task to be rendered from the candidate rendering tasks according to the visual area includes determining the current rendering task to be rendered from the candidate rendering tasks according to the overlapping relationship between the visual area and the display area of the rendering result of the candidate rendering task.
[0120] In an example implementation, when the display mode includes displaying in the form of a table in the graphical user interface, the visualization user interface carrier includes the graphical user interface, and the display area of the rendering result of one candidate rendering task corresponds to one cell in the table, and the visual area of the visualization user interface carrier is the visual area of the graphical user interface.
[0121] In an example implementation, when the number of the candidate rendering tasks is greater than a first preset number, the cells corresponding to the display areas of the candidate rendering tasks are grouped, so that the cells corresponding to the display areas of the candidate rendering tasks in the same group form a browsing block configured with an index value; and the determining the current rendering task to be rendered from the candidate rendering tasks according to the overlapping relationship between the visual area and the display area of the rendering result of the candidate rendering task includes: determining a current browsing block according to the overlapping degree between each browsing block and the visual area of the graphical user interface; calculating the second index values of a second preset number of surrounding browsing blocks adjacent to the current browsing block according to the first index value of the current browsing block, so as to determine the second preset number of surrounding browsing blocks based on the second index values; and determining the candidate rendering tasks indicated by the cells in the current browsing block and the surrounding browsing blocks as the current rendering task to be rendered.
[0122] In an example implementation, when the display mode includes displaying in the scene billboard of the rendering scene, the visualization user interface carrier includes the rendering scene displayed in the graphical user interface, and the display area of the rendering result of one candidate rendering task corresponds to one scene billboard, and the visual area of the visualization user interface carrier is the area indicated by the field of view of the virtual camera of the rendering scene.
[0123] In an example implementation, in a case where the number of the candidate rendering tasks is greater than a first preset number, the scene billboards corresponding to the display areas of the candidate rendering tasks are grouped so that the scene billboards corresponding to the display areas of the candidate rendering tasks in the same group form a browsing block configured with an index value; and the determining the current rendering task to be rendered from the candidate rendering tasks according to the overlapping relationship between the display area of the rendering result of the candidate rendering task and the visual area includes: determining a current browsing block according to the overlapping degree between each browsing block and the area indicated by the field of view range of the virtual camera of the rendering scene; calculating a second index value of a second preset number of surrounding browsing blocks adjacent to the current browsing block according to the first index value of the current browsing block, so as to determine the second preset number of surrounding browsing blocks based on the second index value; and determining the candidate rendering tasks indicated by the scene billboards in the current browsing block and the surrounding browsing blocks as the current rendering task to be rendered.
[0124] In an example implementation, the determining the rendering priority of the current rendering task to be rendered according to the position of the display area of the rendering result of the current rendering task to be rendered in the visual user interface carrier in the display mode corresponding to the visual user interface carrier includes: for the current browsing block, adding the current rendering task to be rendered corresponding to the display area in the current browsing block within the visual area into a first priority rendering queue corresponding to the current browsing block, and adding the current rendering task to be rendered corresponding to the display area in the current browsing block outside the visual area into a first secondary rendering queue corresponding to the current browsing block; for each surrounding browsing block, adding the current rendering task to be rendered corresponding to the display area in the surrounding browsing block within the visual area into a second priority rendering queue corresponding to the surrounding browsing block, and adding the current rendering task to be rendered corresponding to the display area in the surrounding browsing block outside the visual area into a second secondary rendering queue corresponding to the surrounding browsing block; and for the current rendering task to be rendered in any queue, determining a first priority of the current rendering task to be rendered in the queue according to the distance between the display area of the current rendering task to be rendered and the center coordinate of the visual user interface carrier; and determining the rendering priority of the current rendering task to be rendered according to the second priority of the first priority rendering queue, the first secondary rendering queue, the second priority rendering queue and the second secondary rendering queue and the first priority of the current rendering task to be rendered in the queue.
[0125] In an exemplary embodiment, when the display mode comprises displaying in a table form in a graphical user interface, the center coordinates of the visualization user interface carrier comprise the center coordinates of the graphical user interface; when the display mode comprises displaying in a matrix form in a rendering scene, the center coordinates of the visualization user interface carrier comprise the intersection coordinates of the line of sight of the virtual camera and the ground of the rendering scene.
[0126] In an exemplary embodiment, when the display mode comprises displaying in a table form in a graphical user interface, the display area within the visual area comprises a display area located within the visual area of the graphical user interface, and the display area outside the visual area comprises a display area located outside the visual area of the graphical user interface; when the display mode comprises displaying in a matrix form in a rendering scene, the display area within the visual area comprises a display area located within a hexahedron constructed based on the projection matrix of the virtual camera, and the display area outside the visual area comprises a display area located outside the hexahedron constructed based on the projection matrix of the virtual camera.
[0127] In an exemplary embodiment, the device further comprises a degradation module which can be configured to: in the case that the number of current to-be-rendered tasks is greater than a third preset number, transfer the current to-be-rendered tasks in the first priority rendering queue that meet the preset condition to the first secondary rendering queue, and transfer the current to-be-rendered tasks in the second priority rendering queue that meet the preset condition to the second secondary rendering queue, so as to adjust the rendering priority of the current to-be-rendered tasks.
[0128] In an exemplary embodiment, the device further comprises an updating module which can be configured to: in response to an observation field of view adjustment operation on the visualization user interface carrier, update the current to-be-rendered tasks.
[0129] In an exemplary embodiment, the rendering of the current to-be-rendered tasks based on the rendering priority comprises: based on a rendering function plug-in, rendering a preselected rendering scene according to the rendering priority and the rendering parameter value of the current to-be-rendered tasks, wherein the rendering function plug-in comprises one or more of a day and night cycle function rendering plug-in, a weather rendering function plug-in, and an atmospheric rendering function plug-in.
[0130] In an exemplary embodiment, the apparatus further comprises a binding module configured to bind, by a reflection system of the base object of the virtual engine, rendering attributes of the object for rendering in the virtual engine, before determining the candidate rendering task according to the rendering parameter to be compared, to call the rendering function corresponding to the selected rendering function plug-in through the selected rendering function plug-in.
[0131] In an exemplary embodiment, the apparatus further comprises a storage module configured to store the rendering result of the current rendering task according to the plug-in identifier of the selected rendering function plug-in and the parameter identifier of the rendering parameter to be compared.
[0132] The specific details of the parts of the apparatus described above have been described in detail in the method embodiment, and the undisclosed details can be referred to the embodiment content of the method part, thus no further description is given.
[0133] It should be noted that although several modules or units of the device for action execution are mentioned in the above detailed description, such division is not mandatory. In fact, according to the exemplary embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units.
[0134] In addition, although the steps of the method of the present disclosure are described in a specific order in the accompanying drawings, this is not required or implied that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired result. Additionally or alternatively, certain steps can be omitted, multiple steps can be combined into one step, and / or one step can be divided into multiple steps, etc.
[0135] The exemplary embodiments of the present disclosure also provide a computer program product. The computer program product comprises a computer program which, when executed by a processor, implements the rendering result comparison method described above.
[0136] In an embodiment, the computer program product can be a tangible product containing the computer program, such as a computer readable storage medium storing the computer program. The readable storage medium can be a storage medium based on electrical, magnetic, optical, electromagnetic, infrared, etc. signals, including but not limited to: random access memory (RAM), read only memory (ROM), magnetic tape, floppy disk, flash memory (Flash), mechanical hard disk (HDD), solid state disk (SSD), etc. Exemplarily, the computer program product can be implemented as a non-volatile storage medium storing the computer program, such as read only memory, Nand flash, etc.
[0137] In one implementation, the computer program product can be an intangible product containing a computer program. For example, the computer program product can be implemented as a virtual digital product, such as an executable file, installation package, or other digital file storing the computer program.
[0138] Computer program code can be written in one or more programming languages. Examples of programming languages include C, Java, C++, and Python. Program code can execute entirely on the user's computing device, partially on the user's computing device, or as a standalone software package. It can also execute partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, such as a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via an internet connection provided by a mobile network operator).
[0139] Computer programs can be carried or transmitted via signals such as electricity, magnetism, light, electromagnetic fields, and infrared radiation. Electronic devices can convert the signals carrying computer programs into digital signals, thereby running the computer programs. When a computer program runs on an electronic device, its code is used to cause the electronic device to execute (more specifically, to execute) the method steps of various exemplary embodiments of this disclosure, such as the rendering result comparison method described above.
[0140] Exemplary embodiments of this disclosure also provide an electronic device, such as the terminal device 110 or server 120 described above. The electronic device may include a processor and a memory. The memory stores executable instructions for the processor, such as computer programs. The processor executes these executable instructions to perform the method steps of various exemplary embodiments of this disclosure. Furthermore, the electronic device may also include a display for displaying a graphical user interface.
[0141] The following is for reference. Figure 12 The electronic device is illustrated by way of a general-purpose computing device. It should be understood that... Figure 12 The electronic device 1200 shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0142] like Figure 12 As shown, the electronic device 1200 may include: a processor 1210, a memory 1220, a bus 1230, an I / O (input / output) interface 1240, a network adapter 1250, and a display 1260.
[0143] The memory 1220 can include volatile memory, such as RAM 1221, on-chip cache memory 1222, and / or the like. The memory 1220 can also include non-volatile memory, such as ROM 1223, and / or the like. The memory 1220 can additionally include one or more program modules 1224, such as an operating system, one or more application programs, other program modules, and program data, and can include an implementation of a network environment, alone or in combination. For example, the program modules 1224 can include the various modules of the apparatus described above.
[0144] The processor 1210 can include one or more processing units, such as an AP (Application Processor), a modem processor, a GPU (Graphics Processing Unit), an ISP (Image Signal Processor), a controller, an encoder, a decoder, a DSP (Digital Signal Processor), a baseband processor, and / or a NPU (Neural-Network Processing Unit), and / or the like.
[0145] The processor 1210 can be configured to execute executable instructions stored in the memory 1220, such as to perform the rendering result comparison method described above.
[0146] The bus 1230 can be configured to facilitate communication among the various components of the electronic device 1200, and can include a data bus, an address bus, and a control bus.
[0147] The electronic device 1200 can communicate with one or more external devices 1300 (such as a keyboard, a mouse, an external controller, and / or the like) via the I / O interface 1240.
[0148] The electronic device 1200 can communicate with one or more networks via the network adapter 1250, such as a 3G / 4G / 5G mobile communication solution, or a wireless communication solution such as a wireless local area network, Bluetooth, near field communication, and / or the like. The network adapter 1250 can communicate with other modules of the electronic device 1200 via the bus 1230.
[0149] The electronic device 1200 can display a graphical user interface, such as an interface for displaying a rendering result, via the display 1260.
[0150] Although Figure 12Other hardware and / or software modules can also be included in electronic device 1200, as desired, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.
[0151] Those skilled in the art will appreciate that the various aspects of the disclosure can be embodied as a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or an implementation that combines hardware and software aspects, as can be respectively referred to as "circuitry," "modules," or "systems."
[0152] It should be understood that the present disclosure is not limited to the particular methods described herein and illustrated in the drawings, as various modifications can be made therein without departing from the scope of the present disclosure. Other embodiments will be apparent to those skilled in the art from consideration of the specification and practice of the aspects of the present disclosure as provided by the detailed description. Therefore, it is intended that the specification and examples be considered as illustrative only with the true scope and spirit of the present disclosure being indicated by the following claims.
Claims
1. A method for comparing rendering effects, characterized in that, include: Candidate rendering tasks are determined based on the rendering parameters to be compared; Obtain the display method of the rendering result, determine the visible area of the visual user interface carrier corresponding to the display method, and determine the current task to be rendered from the candidate rendering tasks based on the visible area; The display area of the rendering result of the current task to be rendered in the visual user interface carrier is determined, and the rendering priority of the current task to be rendered is determined according to the position of the display area in the visual user interface carrier. The current task to be rendered is rendered based on the rendering priority, and the rendering result of the current task to be rendered is displayed in the display area of the rendering result of each current task to be rendered.
2. The rendering effect comparison method according to claim 1, characterized in that, The rendering parameters to be compared include a first type of rendering parameters and a second type of rendering parameters to be compared, wherein the update frequency of the first type of rendering parameters is higher than that of the second type of rendering parameters. The process of determining candidate rendering tasks based on the rendering parameters to be compared includes: Candidate rendering tasks are determined based on the combination of the first comparison value of the first type of rendering parameters and the second comparison value of the second type of rendering parameters. The number of candidate rendering tasks is the same as the number of combined results, and the candidate rendering parameters of one candidate rendering task correspond to one combined result.
3. The rendering effect comparison method according to claim 1, characterized in that, The step of determining the current rendering task from the candidate rendering tasks based on the visible area includes: Based on the overlap between the visible area and the display area of the rendering results of the candidate rendering tasks, the current task to be rendered is determined from the candidate rendering tasks.
4. The rendering effect comparison method according to claim 3, characterized in that, When the display method includes displaying the result in a table format within a graphical user interface, the visual user interface carrier includes the graphical user interface, and the display area of the rendering result of a candidate rendering task corresponds to a cell in the table, and the visible area of the visual user interface carrier is the visible area of the graphical user interface.
5. The rendering effect comparison method according to claim 4, characterized in that, If the number of candidate rendering tasks is greater than the first preset number, the cells corresponding to the display area of the candidate rendering tasks are grouped so that the cells corresponding to the display area of the candidate rendering tasks in the same group form a browsing block configured with an index value. The step of determining the current rendering task from the candidate rendering tasks based on the overlap relationship between the visible area and the display area of the rendering results of the candidate rendering tasks includes: The current browsing block is determined based on the degree of overlap between each browsing block and the visible area of the graphical user interface; The second index value of a second preset number of surrounding browsing blocks adjacent to the current browsing block is calculated based on the first index value of the current browsing block, so as to determine the second preset number of surrounding browsing blocks based on the second index value; The candidate rendering tasks indicated by the cells in the current browsing block and the surrounding browsing blocks are determined as the current rendering task.
6. The rendering effect comparison method according to claim 3, characterized in that, When the display method includes displaying in a scene bulletin board of the rendered scene, the visual user interface carrier includes the rendered scene displayed in the graphical user interface, and the display area of the rendering result of a candidate rendering task corresponds to a scene bulletin board, and the visible area of the visual user interface carrier is the area indicated by the field of view of the virtual camera of the rendered scene.
7. The rendering effect comparison method according to claim 6, characterized in that, If the number of candidate rendering tasks is greater than the first preset number, the scene bulletin boards corresponding to the display areas of the candidate rendering tasks are grouped so that the scene bulletin boards corresponding to the display areas of the candidate rendering tasks in the same group form a browsing block configured with an index value. The step of determining the current rendering task from the candidate rendering tasks based on the overlap relationship between the visible area and the display area of the rendering results of the candidate rendering tasks includes: The current browsing block is determined based on the degree of overlap between each browsing block and the area indicated by the field of view of the virtual camera in the rendered scene; The second index value of a second preset number of surrounding browsing blocks adjacent to the current browsing block is calculated based on the first index value of the current browsing block, so as to determine the second preset number of surrounding browsing blocks based on the second index value; The candidate rendering tasks indicated by the scene bulletin boards in the current browsing block and the surrounding browsing blocks are determined as the current rendering task.
8. The rendering effect comparison method according to claim 5 or 7, characterized in that, Determining the rendering priority of the current task to be rendered based on the position of the display area within the visual user interface carrier includes: For the current browsing block, the current rendering task corresponding to the display area within the visible area of the current browsing block is added to the first priority rendering queue corresponding to the current browsing block, and the current rendering task corresponding to the display area outside the visible area of the current browsing block is added to the first primary rendering queue corresponding to the current browsing block. For each surrounding browsing block, the current rendering task corresponding to the display area within the visible area of the surrounding browsing block is added to the second priority rendering queue corresponding to the surrounding browsing block, and the current rendering task corresponding to the display area outside the visible area of the surrounding browsing block is added to the second secondary rendering queue corresponding to the surrounding browsing block. For any currently pending task in the queue, the first priority of the currently pending task in the queue is determined based on the distance between the display area of the currently pending task and the center coordinates of the visual user interface carrier. The rendering priority of the current task to be rendered is determined based on the second priority of the first priority rendering queue, the first priority rendering queue, the second priority rendering queue, the second priority rendering queue, and the first priority of the current task to be rendered in the queue.
9. The rendering effect comparison method according to claim 8, characterized in that, When the display method includes displaying the information in a table format within a graphical user interface, the center coordinates of the visual user interface carrier include the center coordinates of the graphical user interface. When the display method includes a scene bulletin board display arranged in a matrix in the rendered scene, the center coordinates of the visual user interface carrier include the coordinates of the intersection of the virtual camera's line of sight and the ground of the rendered scene.
10. The rendering effect comparison method according to claim 8, characterized in that, When the display method includes displaying the data in a table format within a graphical user interface, the display area within the visible area includes the display area located within the visible area of the graphical user interface, and the display area outside the visible area includes the display area located outside the visible area of the graphical user interface. When the display method includes displaying scene bulletin boards arranged in a matrix in the rendered scene, the display area within the visible area includes the display area located within a hexahedron constructed based on the projection matrix of the virtual camera, and the display area outside the visible area includes the display area located outside the hexahedron constructed based on the projection matrix of the virtual camera.
11. The rendering effect comparison method according to claim 8, characterized in that, The method further includes: If the number of tasks to be rendered is greater than the third preset number, the tasks to be rendered that meet the preset conditions in the first priority rendering queue are transferred to the first-level rendering queue, and the tasks to be rendered that meet the preset conditions in the second priority rendering queue are transferred to the second-level rendering queue, so as to adjust the rendering priority of the tasks to be rendered.
12. The rendering effect comparison method according to claim 1, characterized in that, The method further includes: In response to the operation of adjusting the viewing field of the visual user interface carrier, the current task to be rendered is updated.
13. The rendering effect comparison method according to claim 1, characterized in that, The rendering of the current task to be rendered based on the rendering priority includes: Based on the rendering function plugin, the pre-selected rendering scene is rendered according to the rendering priority and the rendering parameter values of the current task to be rendered. The rendering function plugin includes one or more of the following: day-night cycle rendering plugin, weather rendering plugin, and atmospheric rendering plugin.
14. The rendering effect comparison method according to claim 13, characterized in that, Before determining candidate rendering tasks based on the rendering parameters to be compared, the method further includes: The rendering properties of objects used for rendering in the virtual engine are pre-bound through the reflection system of the virtual engine's basic objects, so that the rendering functions corresponding to the selected rendering function plugins can be called through a unified interface.
15. The rendering effect comparison method according to claim 13, characterized in that, The method further includes: The rendering result of the current rendering task is stored based on the plugin identifier of the selected rendering function plugin and the parameter identifier of the rendering parameters to be compared.
16. A rendering result comparison device, characterized in that, include: The candidate rendering task determination module is configured to determine candidate rendering tasks based on the rendering parameters to be compared. The current task to be rendered module is configured to obtain the display method of the rendering result, determine the visible area of the visual user interface carrier corresponding to the display method, and determine the current task to be rendered from the candidate rendering tasks based on the visible area. The rendering priority determination module is configured to determine the display area of the rendering result of the current task to be rendered in the visual user interface carrier, and determine the rendering priority of the current task to be rendered based on the position of the display area in the visual user interface carrier. The rendering result comparison and display module is configured to render the current task to be rendered based on the rendering priority, and display the rendering result of the current task to be rendered in the display area of the rendering result of each current task to be rendered.
17. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method according to any one of claims 1 to 15.
18. An electronic device, characterized in that, include: One or more processors; A storage device for storing one or more programs, which, when executed by one or more processors, cause the one or more processors to implement the method as described in any one of claims 1 to 15.