Frame rate adjustment methods, devices, and computer-readable storage media

By dynamically adjusting the frame rate in the game, and matching the frame rate range between the view scene and the game scene, the problem of increased power consumption caused by high frame rate rendering in game applications is solved, thus improving the user experience.

CN120264040BActive Publication Date: 2026-03-13HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-20
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

High frame rate rendering in gaming applications leads to increased power consumption and decreased performance in electronic devices, impacting user experience.

Method used

By dynamically adjusting the frame rate in the game, and controlling the image display time based on the frame rate range that matches the view scene and the game scene, the power consumption of electronic devices is reduced.

Benefits of technology

The frame rate is dynamically adjusted when the view scene and game scene change, reducing the power consumption of electronic devices and improving the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120264040B_ABST
    Figure CN120264040B_ABST
Patent Text Reader

Abstract

This application provides a frame rate adjustment method, device, and computer-readable storage medium, relating to the field of terminal technology. During rendering, a rendering instruction for a first image is obtained. The view scene corresponding to the first image is determined using the rendering data carried in the rendering instruction. A first frame rate matching the view scene is obtained. The first image is displayed based on the first frame rate. This application embodiment can dynamically adjust the frame rate in the application when the view scene changes. By displaying images at a dynamic frame rate, the power consumption of electronic devices running applications can be reduced. Furthermore, determining the first frame rate based on the view scene is unaffected by the similarity between adjacent frames in the application, resulting in high applicability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of terminal technology, and more specifically to a frame rate adjustment method, device, and computer-readable storage medium. Background Technology

[0002] With the development of terminal technology, more and more electronic devices support gaming applications. To meet users' growing needs for gaming experiences, game developers are increasing the richness of game scenes, rendering quality, and frame rates on electronic devices. When games with rich scenes are rendered at high frame rates on mobile platforms, it increases the power consumption and memory usage of electronic devices, thus reducing their performance. Currently, games still suffer from severe overheating and high power consumption issues, impacting user experience. Summary of the Invention

[0003] This application provides a frame rate adjustment method, device, and computer-readable storage medium to dynamically adjust the frame rate in games and reduce power consumption.

[0004] In a first aspect, embodiments of this application provide a frame rate adjustment method. During the rendering process, the method obtains a rendering instruction for a first image. It then determines the view scene corresponding to the first image using the rendering data carried in the rendering instruction. Next, it obtains a first frame rate that matches the view scene. Finally, it displays the first image rendered in real-time based on the first frame rate.

[0005] Based on the first aspect, the view scene is identified through rendering data carried by rendering instructions, the target frame rate is determined based on the view scene, and then the image is displayed according to the target frame rate. In this way, the frame rate of the view display can be dynamically adjusted when the view scene changes. By displaying at a dynamic frame rate, the power consumption of electronic devices running applications can be reduced. Furthermore, determining the first frame rate based on the view scene is unaffected by the similarity between adjacent frames in the game, making it highly applicable.

[0006] In one possible implementation, the timing of displaying the first image can be controlled by controlling the time the first image is sent, thus flexibly controlling the frame rate.

[0007] In one possible implementation, obtaining a first frame rate matching the view scene is specifically achieved by: obtaining a frame rate range matching the view scene; and determining a first frame rate from the frame rate range based on frame rate determination conditions. Optionally, the frame rate determination conditions include at least one of the following: the touch area of ​​the touch operation, the motion parameters of the camera in the application, and the image change rate. The motion parameters are the amount of change obtained with reference to the camera in the application; the image change rate is used to indicate the image similarity between the first image and previously rendered historical images.

[0008] In this possible implementation, the target frame rate is determined by at least one of the following during frame rate adjustment: the touch area of ​​the touch operation, the motion parameters of the camera in the application, and the rate of change of the image, thereby improving the reliability of the target frame rate. It can dynamically adjust the frame rate in the application, reducing power consumption when the electronic device is running the application by displaying it at a dynamic frame rate. Furthermore, determining the first frame rate based on at least one of the following—the touch area of ​​the touch operation, the motion parameters of the camera in the game application, and the rate of change of the image—is unaffected by the similarity between adjacent frames in the game, making it highly applicable.

[0009] In one possible implementation, specifically: when the frame rate determination condition includes a touch area for a touch operation, the touch area includes a first area and a second area. The first area includes operation controls. The second area includes the view area of ​​the target object. In the implementation of determining the first frame rate from a frame rate range based on the frame rate determination condition, when the touch area for the touch operation is the first area, the first frame rate is related to the number of historical touch operations triggered in the first area. When the touch area for the touch operation is the second area, the first frame rate is the maximum frame rate within the frame rate range.

[0010] Since skill release areas in game scenes may require displaying skill effects animations, a higher frame rate is typically needed to enhance visual effects. However, control areas are usually displayed as textures and do not have high frame rate requirements. Therefore, in this possible implementation, when the touch area is the second area, the maximum frame rate within the frame rate range can be used to achieve better visual effects. When the touch area is the first area, the first frame rate can be obtained by combining the frequency of historical touch operations within the touch area, thus reducing the power consumption of the electronic device.

[0011] In one possible implementation, the specific implementation is as follows: when the touch area of ​​the touch operation is a first area, and the number of historical touch operations triggered in the first area is greater than a first threshold, a first frame rate matching the number of historical touch operations is determined from the frame rate range based on the correspondence between the number and the frame rate.

[0012] Since the frequency of historical touch operations in the touch area affects the number of rendering commands triggered by the game application, a high frequency of historical touch operations requires frequent view switching. Displaying this at a low frame rate could cause stuttering and negatively impact visual quality. Conversely, displaying historical touch operations at a low frame rate would increase the power consumption of the electronic device. Therefore, in this possible implementation, the first frame rate is obtained by combining the frequency of historical touch operations within the touch area, improving the reliability of the first frame rate while reducing the power consumption of the electronic device.

[0013] In one possible implementation, the specific implementation is as follows: when the touch area of ​​the touch operation is a first area, and the number of historical touch operations triggered in the first area is not greater than a first threshold, the first frame rate is determined from the frame rate range based on the motion parameters of the camera in the application and / or the rate of change of the image between the first image and the rendered historical image.

[0014] Since the number of historical touch operations triggered within the first area is no greater than a first threshold, the low frame rate can cause interface stuttering and affect visual effects when the target object in the scene is running or other objects in the game scene are in motion. Therefore, to improve the visual effect of the interface display and reduce the power consumption of electronic devices, in this possible implementation, when the number of historical touch operations triggered within the first area is no greater than the first threshold, the first frame rate can be determined from the frame rate range based on the motion parameters of the camera in the application and / or the rate of change of the image between the first image and the rendered historical images. In this way, it can comprehensively cover scenes where the frame rate can be adjusted, improving the reliability and accuracy of the first frame rate.

[0015] In one possible implementation, specifically: when the touch area of ​​the touch operation is a second area, after the touch operation ends, a second frame rate is determined from the frame rate range based on at least one of the number of historical touch operations within the second area and the frequency of historical touch operations. A third image is then displayed according to the second frame rate. The third image is an image whose display time is later than that of the first image.

[0016] Since the frequency of touch operations triggered in the second area is low after a touch operation ends, if the electronic device displays at the maximum frame rate within the frame rate range for an extended period, it will increase the power consumption of the electronic device. Therefore, in this possible implementation, after the touch operation is detected to have ended, the frame rate can be adjusted in a timely manner based on the frequency of historical touch operations triggered in the second area. The electronic device then displays at the adjusted frame rate, which can reduce power consumption.

[0017] In one possible implementation, specifically, when the frame rate determination conditions include the camera's motion parameters, the first frame rate is related to the camera's motion parameters in the application.

[0018] In this way, the first frame rate can be determined based on motion parameters when the target object is in a running state in the view scene, thus improving the accuracy of the first frame rate.

[0019] In one possible implementation, a first frame rate is determined from the frame rate range based on frame rate determination conditions. Specifically, when the motion state level of the target object represented by the motion parameters is greater than a level threshold, a first frame rate matching the camera's motion parameters is determined from the frame rate range based on the correspondence between motion parameters and frame rates.

[0020] Thus, by judging the motion state level, when the target object is in a running state in the view scene, the first frame rate is determined based on motion parameters, thereby improving the accuracy of the first frame rate.

[0021] In one possible implementation, the first frame rate is determined from the frame rate range based on the frame rate determination conditions. Specifically, if the motion state level of the target object represented by the motion parameters is not greater than the level threshold, the first frame rate is determined from the frame rate range based on the rate of change between the first image and the rendered historical images.

[0022] When the motion level of the target object in the view scene is relatively low, but other objects in the view scene are in motion, improper frame rate settings may lead to frame drops or game interface stuttering. Therefore, to ensure the visual effect of the application while reducing the power consumption of electronic devices, in this possible implementation, if the motion state level of the target object represented by the motion parameters is not greater than a threshold, the system identifies whether other objects are in motion based on the rate of change of the screen in the view scene, thereby obtaining a more reliable first frame rate. This covers the reasons for adjusting the frame rate in the view scene. By adjusting the frame rate in a timely manner and ensuring its accuracy, the power consumption of electronic devices can be reduced, and the smoothness of the interface display can be guaranteed.

[0023] In one possible implementation, the change obtained with the camera in the application as a reference includes at least one of movement and rotation angle, and the corresponding motion parameters include the camera's movement and / or the camera's rotation angle. Before determining the first frame rate from the frame rate range based on the frame rate determination conditions, the system obtains the first camera position information, the first observation matrix, and the first cropping matrix corresponding to the first image, as well as the second camera position information and the second near-crop plane position information corresponding to the second image. The second image is the frame preceding the first image. The camera's movement is obtained based on the first and second camera position information. The first near-crop plane position information corresponding to the first image is obtained based on the first observation matrix and the first cropping matrix. The camera's rotation angle is obtained based on the first and second near-crop plane position information.

[0024] Thus, by using the camera position, cropping matrix, and viewing matrix between two adjacent frames, the movement distance and camera rotation angle are obtained. The movement distance and rotation angle are then used to determine the motion state of the target object.

[0025] In one possible implementation, specifically, when the frame rate determination condition is used to indicate the rate of change of the image, the first frame rate is obtained based on the correspondence between the rate of change of the image and the frame rate.

[0026] In this possible implementation, the first frame rate is determined from the frame rate range based on the rate of change of the image. This covers the reasons for adjusting the frame rate within the view scene, allows for timely frame rate adjustments, and ensures the accuracy of the adjusted frame rate. This, in turn, reduces the power consumption of the electronic device while maintaining the smoothness of the interface display.

[0027] In one possible implementation, the specific steps are as follows: before determining the first frame rate from the frame rate range based on the frame rate determination conditions, a first similarity between the first image and the second image, and a second similarity between multiple historical images are obtained; the second image is the frame preceding the first image; the historical images are rendered images. Based on the first similarity and the multiple second similarities, the frame change rate between the first image and the historical images is obtained.

[0028] In this possible implementation, when determining the frame change rate, a first similarity between the first image and the second image, and a second similarity between multiple historical images are obtained. Based on the first similarity and the multiple second similarities, the frame change rate between the first image and the historical images is obtained. Thus, by using the differences between multiple adjacent frame images, the reliability of the frame change rate is improved, thereby ensuring the reliability of the first frame rate.

[0029] In one possible implementation, displaying the first image rendered in real time based on the first frame rate is specifically implemented as follows: obtaining the image display instruction for the first image; executing the image display instruction according to the first target display time indicated by the first frame rate to display the first image rendered in real time.

[0030] In this way, by controlling the display time, the frame rate of the image can be adjusted, thus achieving dynamic adjustment of the frame rate.

[0031] In one possible implementation, the view scene corresponding to the first image is determined based on the rendering data. Specifically, this involves reading scene features from the rendering data and determining the view scene corresponding to the first image based on the scene features.

[0032] In this way, the view scene corresponding to the first image can be quickly identified by using scene features in the rendering data.

[0033] Secondly, embodiments of this application provide a frame rate adjustment method applied to a game scene. During the operation of a game application, this method sequentially acquires rendering instructions for multiple images of the game application rendered in real time. The rendering instructions carry rendering data for the corresponding images. Based on the rendering data, a first image among the multiple images is determined to correspond to a game scene within the game application. Based on a first frame rate matching the game scene, the first image and associated images following the first image are displayed sequentially. The first image and associated images displayed sequentially may correspond to the same game scene. The game scene is used to indicate the virtual environment corresponding to the display interface of the game application. Optionally, the game scene includes different virtual game scenes, human-computer practice scenes, tutorial scenes, game replay scenes, game lobby scenes, settings interface scenes, or login scenes within the game application.

[0034] Based on the second aspect, the game scene is identified through rendering data carried by the rendering instructions. The first frame rate is determined based on the game scene, and then the first image and subsequent related images are displayed sequentially according to the first frame rate. In this way, the frame rate of the view display can be dynamically adjusted when the game scene changes. By displaying with a dynamic frame rate, the power consumption of electronic devices running applications can be reduced. Furthermore, determining the first frame rate based on the game scene is unaffected by the similarity between adjacent frames in the game application, making it highly applicable.

[0035] In one possible implementation, obtaining a first frame rate that matches the game scene is specifically achieved by: obtaining a frame rate range that matches the game scene; determining a first frame rate from the frame rate range based on frame rate determination conditions; the frame rate determination conditions include at least one of the touch area of ​​the touch operation, the motion parameters of the camera in the game application, and the screen change rate; the motion parameters are the amount of change obtained with the camera in the game application as a reference; the screen change rate is used to indicate the screen similarity between the first image and the rendered historical images.

[0036] In one possible implementation, specifically, when the frame rate determination condition includes a touch area for touch operation, the touch area includes a first area and a second area. The first area includes an operation control area, and the second area includes a skill release area or the view area of ​​the target object.

[0037] When the touch area for the touch operation is the first region, the first frame rate is related to the number of historical touch operations triggered in the first region. When the touch area for the touch operation is the second region, the first frame rate is the maximum frame rate within the frame rate range.

[0038] In one possible implementation, the specific implementation is as follows: when the touch area of ​​the touch operation is the first area, and the number of historical touch operations triggered in the first area is greater than the first threshold, a target frame rate that matches the number of historical touch operations is determined from the frame rate range as the first frame rate based on the correspondence between the number and the frame rate.

[0039] In one possible implementation, when the touch area of ​​the touch operation is a first area, and the number of historical touch operations triggered in the first area is not greater than a first threshold, the first frame rate is determined from the frame rate range based on the motion parameters of the camera in the application and / or the rate of change of the image between the first image and the rendered historical images.

[0040] In one possible implementation, when the touch area of ​​the touch operation is a second area, after the touch operation ends, a second frame rate is determined from the frame rate range based on at least one of the number of historical touch operations within the second area and the frequency of historical touch operations. A third image is displayed among multiple images based on the second frame rate. Multiple images are spaced apart between the third image and the associated images. The second frame rate is less than the first frame rate.

[0041] In one possible implementation, the first frame rate is related to the motion parameters of the camera in the application, provided that the frame rate determination conditions include the camera's motion parameters in the application.

[0042] In one possible implementation, the first frame rate is determined from the frame rate range based on the frame rate determination conditions. Specifically, when the motion state level of the target object represented by the motion parameters is greater than the level threshold, the target frame rate that matches the camera's motion parameters is determined from the frame rate range as the first frame rate based on the correspondence between motion parameters and frame rates.

[0043] In one possible implementation, the first frame rate is determined from the frame rate range based on the frame rate determination conditions. Specifically, if the motion state level of the target object represented by the motion parameters is not greater than the level threshold, the first frame rate is determined from the frame rate range based on the rate of change between the first image and the rendered historical images.

[0044] In one possible implementation, the specific implementation is as follows: the change obtained with the camera in the application as a reference includes at least one of movement and rotation angle, and the corresponding motion parameters include the camera's movement and / or the camera's rotation angle. This is achieved by acquiring first camera position information, a first observation matrix, and a first cropping matrix corresponding to the first image; and second camera position information and second near-crop plane position information corresponding to the second image; the second image is the frame preceding the first image; the camera's movement is obtained based on the first and second camera position information. The first near-crop plane position information corresponding to the first image is obtained based on the first observation matrix and the first cropping matrix; and the camera's rotation angle is obtained based on the first and second near-crop plane position information.

[0045] In one possible implementation, specifically, when the frame rate determination condition includes the screen change rate, the first frame rate is obtained based on the correspondence between the screen change rate and the frame rate.

[0046] In one possible implementation, the specific implementation is as follows: before determining the first frame rate from the frame rate range based on the frame rate determination conditions, a first similarity between the first image and the second image, and a second similarity between multiple historical images are obtained; the second image is the previous frame image of the first image; the historical images are rendered images; based on the first similarity and multiple second similarities, the image change rate between the first image and the historical images is obtained.

[0047] In one possible implementation, displaying the first image based on the first frame rate is specifically implemented as follows: obtaining the image display instruction for the first image; executing the image display instruction according to the first display time indicated by the first frame rate to display the first image.

[0048] In one possible implementation, the game scene corresponding to the first image is determined based on the rendered data. Specifically, this involves reading scene features from the rendered data and then determining the game scene corresponding to the first image based on those features.

[0049] The beneficial effects that any design scheme in the second aspect can achieve can be referred to the beneficial effects that can be achieved in the first aspect and any of its implementation methods, and will not be repeated here.

[0050] Thirdly, embodiments of this application provide an electronic device, including a memory and one or more processors; the memory is coupled to the processors; the memory stores computer program code, which includes computer instructions, and when the computer instructions are executed by the processor, the electronic device performs the frame rate adjustment method as described in the first aspect and any of its implementations. Alternatively, the electronic device performs the frame rate adjustment method as described in the second aspect and any of its implementations.

[0051] Fourthly, embodiments of this application provide a computer-readable storage medium including computer instructions that, when executed on an electronic device, cause the electronic device to perform a frame rate adjustment method as described in the first aspect and any implementation thereof, or cause the electronic device to perform a frame rate adjustment method as described in the second aspect and any implementation thereof.

[0052] Fifthly, a computer program product is provided that, when the computer program product is run on an electronic device, causes the electronic device to execute the frame rate method as described in the first aspect and any implementation thereof, or causes the electronic device to execute the frame rate method as described in the second aspect and any implementation thereof.

[0053] The beneficial effects that any design scheme in the third to fifth aspects mentioned above can be achieved by referring to the beneficial effects that can be achieved by the first aspect and any of its implementation methods, or by referring to the beneficial effects that can be achieved by the second aspect and any of its implementation methods, and will not be elaborated here. Attached Figure Description

[0054] Figure 1 This is a schematic diagram of the near-cutting surface;

[0055] Figure 2 A schematic diagram illustrating dynamic frame rate adjustment based on a game scene, provided as an embodiment of this application;

[0056] Figure 3 Schematic diagram of the structure of the electronic device provided in the embodiments of this application Figure 1 ;

[0057] Figure 4 A schematic diagram of a system architecture for an electronic device provided in an embodiment of this application;

[0058] Figure 5 A flowchart illustrating a frame rate adjustment method provided in an embodiment of this application;

[0059] Figure 6 A schematic diagram illustrating the process of game scene recognition provided in an embodiment of this application;

[0060] Figure 7 This is a schematic diagram of the area division in the game interface provided in the embodiments of this application. Figure 1 ;

[0061] Figure 8 A schematic diagram illustrating the process of obtaining the target frame rate based on the touch area, provided in an embodiment of this application;

[0062] Figure 9 This is a schematic diagram of the area division in the game interface provided in the embodiments of this application. Figure 2 ;

[0063] Figure 10 Schematic diagrams of the game interface under different region division methods provided in the embodiments of this application;

[0064] Figure 11 A schematic diagram illustrating the process for determining the rate of change of the screen provided in an embodiment of this application;

[0065] Figure 12 Another flowchart illustrating the frame rate adjustment method provided in this application embodiment;

[0066] Figure 13 Schematic diagram of the structure of the electronic device provided in the embodiments of this application Figure 2 . Detailed Implementation

[0067] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can represent A or B. "And / or" in this application is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. Furthermore, in the description of this application, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that "first" and "second" are not necessarily different. Meanwhile, in the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is being used as an example, illustration, or description. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of terms such as "exemplary" or "for example" is intended to present related concepts in a concrete manner for ease of understanding.

[0068] Furthermore, the business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0069] For ease of understanding, the technical terms used in the embodiments of this application will be introduced below.

[0070] Graphics Processing Unit (GPU): A GPU is a type of dedicated hardware in a computer used specifically for processing graphics. The advantage of a GPU is its ability to process multiple similar tasks in parallel. For example, when rendering an image, multiple pixels are rendered simultaneously, and a GPU can accelerate this process.

[0071] A driver is a type of program that enables communication between a computer's operating system and the underlying hardware. It allows the operating system or developers to utilize the characteristics of the hardware.

[0072] A game engine is a game creation tool that fully integrates and utilizes underlying drivers, enabling game developers to quickly create games.

[0073] Graphics instruction data stream (or image instruction stream): contains one or more drawing instructions. The GPU obtains the display data of the image by running the drawing instructions in the image instruction data stream, so that the display can display the image based on the image.

[0074] Drawing instructions: Instructions used to draw drawing targets in an image. For example, draw calls in an Open Graphics Library (OpenGL) (i.e., commands from the Central Processing Unit (CPU) to the underlying graphics drawing interface). Optionally, the drawing target can be represented by data stored in memory. Correspondingly, the set of drawing targets generated from the image instruction stream can form the display data of the corresponding graphics frame. For example, suppose an image includes character A and character B; character A and character B are the drawing targets. The image instruction stream of this image can include one or more drawing instructions for generating character A, and one or more drawing instructions for generating character B. Accordingly, the GPU obtains the display data of the image by running these drawing instructions. In OpenGL, the drawing instructions are also called rendering instructions, and the drawing target is also called a rendering target. This application will use OpenGL as an example to describe the implementation method, but this application is not limited to OpenGL and can also be applied to other types of graphics libraries, such as Vulkan. The drawing instructions carry rendering data. This rendering data is used to generate the drawing targets.

[0075] The rendering data includes model labels, texture labels, number of draw calls, camera position information, and the camera's view and projection (VP) matrices.

[0076] Camera: The rendering process simulates the recording process of a camera in the real world. Here, "camera" is a rendering term; the camera in rendering is similar to a camera in the real world, referring to the eye viewing the scene. Simply put, a camera is an object used to record scene information, and a rendered frame is formed by projecting the scene seen onto the camera through its observation. In this embodiment, "camera" can refer to the viewpoint of the game scene. Camera position information is used to indicate the coordinates of the camera within the game scene.

[0077] The VP matrix includes the observation matrix and the projection matrix.

[0078] View matrix: Also known as the view-view matrix, it's a transformation matrix from world space to camera space. It's used to convert world coordinates to view coordinates. View coordinates refer to the coordinates observed from the camera's or observer's perspective. When defining a camera, you need its position in world space, the direction of view, a vector pointing to its right, and a vector pointing upwards. In effect, a coordinate system with three mutually perpendicular unit axes and its origin at the camera's position information is created.

[0079] The projection matrix (or clipping matrix) is the transformation matrix from camera space to clip space. After processing the coordinates into view space, the coordinates in view space need to be projected into clip space to obtain clip coordinates. Clip coordinates are used to determine which vertices in the range of -1.0 to 1.0 will appear on the screen. Specifically, using clip coordinates, we can determine whether a vertex is within the visible range. If it is, it is rendered; if it is not, the vertex is discarded. Then, the clip coordinates need to be converted into screen coordinates; this process is called viewport transform. Viewport transform converts coordinates in the range of -1.0 to 1.0 to the coordinate range defined by the viewport transform function. The viewport transform function can be the glViewport function. Finally, the transformed coordinates are sent to the rasterizer, which converts them into fragments.

[0080] Near Plane: The clipping plane closest to the camera position within the clipping planes of the view frustum formed by the clipping space. For example... Figure 1 As shown, the camera is point A. Within the field of view formed by the camera, the first plane is the near clipping plane, and the second plane is the far clipping plane. The area formed by the first and second planes is the camera's visible range.

[0081] from Figure 1 As can be seen, the near clipping plane and the far clipping plane constitute the camera's field of view.

[0082] Rendering can be divided into real-time rendering and offline rendering.

[0083] Real-time rendering refers to rendering the required image through real-time computation. For example, the game screen we see is essentially the result of multiple consecutive rendered frames displayed without interruption. Each rendered frame is obtained through complex calculations by the computer's processor and graphics processor.

[0084] A rendered frame is an image rendered by a graphics processor; it can also be called an image frame. Playing multiple rendered frames in sequence can create dynamic effects.

[0085] Frame rate: The number of frames displayed per second, measured in frames per second (FPS). A frame is the smallest unit of visual animation, a single still image; consecutive frames create animation. A higher frame rate results in smoother and more realistic animation. The more frames per second, the smoother the displayed motion.

[0086] Frame rate includes output frame rate and display frame rate. Output frame rate refers to the frame rate at which the interface or application outputs data from the graphics card to the display screen. Display frame rate refers to the actual frame rate at which the interface or application is displayed on the screen.

[0087] Display time: This can refer to the timestamp of an image being displayed on a screen or display device. In the embodiments of this application, the display time can be obtained based on the target frame rate. For example, the number of frames to be displayed per unit time is obtained based on the target frame rate, and then the time node for displaying each frame of the image is obtained. Based on the time node and the world clock, the display time of each frame of the image is obtained. For example, taking a frame rate of 60 FPS as an example, that is, 60 frames of images are displayed per second. If the current time is 12:30:01, then 60 frames of images will be displayed between 12:30:01 and 12:30:02. The timestamp of the first frame of the image is 12:30:01.16 milliseconds, and the timestamp of the 60th frame of the image is 12:30:02.

[0088] Screen refresh rate: In real-time rendering, the rendered frames are ultimately sent by the graphics processor to the display buffer. The screen then retrieves the rendered frames from the display buffer for display. Each time the screen refreshes, it retrieves a new rendered frame from the display buffer. The number of times the screen refreshes per second is called the screen refresh rate. The higher the screen refresh rate, the higher the frame rate the screen supports. The final display effect depends on the minimum values ​​of the screen refresh rate and the frame rate.

[0089] Power consumption: Used to measure the efficiency of power consumption during computation, measured in milliamperes (mA). Given a fixed battery capacity, the higher the power consumption of an electronic device, the faster it consumes power and the shorter its operating time.

[0090] Pixel Buffer Object (PBO): A technique used to store rendered frames. In this embodiment, it is used to store the similarity between multiple consecutive rendered frames.

[0091] Frame Buffer Object (FBO): A technique for storing rendered frames. In this embodiment, it is used to store two consecutive rendered frames, thereby facilitating the calculation of the similarity between the rendered frames.

[0092] With the increasing prevalence of high refresh rate screen electronic devices, the frame rate limits of applications have also risen. Games, as one of the applications that place the greatest demands on the CPU, GPU, and Double Data Rate SDRAM (DDR) of electronic devices, experience increased power consumption and memory usage when running at high frame rates for extended periods. This leads to overheating and reduced battery life. To ensure user safety and prevent burns from excessive heat, electronic device chips and operating systems implement frequency and frame rate limiting to reduce power consumption. This frequency and frame rate limiting can halve or even reduce the game's frame rate, thus impacting the player's gaming experience.

[0093] Currently, the game still suffers from severe overheating and high power consumption, which affects the user experience.

[0094] Therefore, to dynamically adjust the frame rate in applications and reduce power consumption, this application provides a frame rate adjustment method. This method identifies the view scene through rendering data carried by rendering instructions, determines a first frame rate based on the view scene, and then displays the image based on the first frame rate. Thus, when the view scene changes, the frame rate in the application can be dynamically adjusted, allowing the electronic device to display at a dynamic frame rate, thereby reducing power consumption. Furthermore, determining the first frame rate based on the view scene is unaffected by the similarity between adjacent frames in the application, making it highly applicable.

[0095] The frame rate adjustment method provided in this application can be applied to electronic devices. When an application running on an electronic device needs to perform image rendering, the frame rate adjustment method provided in this application can be executed during the rendering process to adjust the display time of the rendered image, thereby reducing the power consumption of the electronic device.

[0096] These applications include game applications, video playback applications, image display applications, and virtual reality (VR) applications. In other words, the frame rate adjustment method provided in this application can offer dynamic frame rate adjustment services for various applications with image display capabilities.

[0097] For example, when the application is a game application, the view scene is a game scene. The game scene is used to distinguish the different virtual environments in which the player is located during the operation of the game application. Game scenes include, but are not limited to, match scenes, player-versus-computer practice scenes, tutorial scenes, game replay scenes, game lobby scenes, settings interface scenes, or login scenes. This application embodiment does not limit the specific game scene.

[0098] For example, in the case of a video playback application, the view scene is a video playback scene. The video playback scene is used to distinguish video playback methods. These video playback scenes include, but are not limited to, live streaming, non-live streaming, 1x playback speed, 0.5x playback speed, 2x playback speed, and 3x playback speed.

[0099] For example, in the case of an application that displays images, the view scene is an image display scene. Here, the image display scene indicates the image type. The image type includes static images and animated images. Accordingly, the image display scene includes static image display scenes and animated image display scenes.

[0100] For example, in the case of a VR application, the view scene is a VR scene. The VR scene indicates the different virtual environments the user is in during the operation of the VR application, such as natural environments, traffic environments, etc.

[0101] Next, this application will use a game application as an example to describe the implementation of the frame rate adjustment method provided in this application. It is understood that the implementation of the frame rate adjustment method in video playback applications, image display applications, and VR applications can refer to the implementation of the frame rate adjustment method in game applications.

[0102] For example, combined Figure 2 For example, in the case of game applications, such as Figure 2 As shown in Figure (a), when the game scene is at game startup, the game interface displays the game name and the prompt "Click to enter the game". The electronic device displays the rendered images 1 and 2 at a frame rate of X1. The player clicks... Figure 2 At any location in Figure (a), the game scene switches from game startup to... Figure 2 The game lobby scene shown in Figure (b) is described. In this context... Figure 2 In the game scene shown in Figure (b), the game interface displays the target object, player level, battle records, menu, messages, mail, shop, training, battle, and single-player controls. Figure 2 In the game scene shown in Figure (b), the electronic device obtains the target frame rate of the image according to the frame rate X2 and the frame rate change rate Y1 corresponding to the game lobby, and then sends the rendered image 2 to the display according to the target frame rate. In the game lobby scene, when the target frame rate of the rendered image N reaches frame rate X2, the rendered image N+1 is sent to the display according to frame rate X2, until the game scene changes again, at which point the frame rate is adjusted again. Figure 2 As shown in Figure (b), the electronic device displays images 3, 4, and 5 at a frame rate of X2. For example, it displays images 3-4-5-3 in a cyclical manner at a frame rate of X2. Here, frame rate X2 is greater than frame rate X1. Figure 2 During the process shown, when a game scene switch is detected, the frame rate is adjusted according to the game scene to match the frame rate and thus avoid the high power consumption problem caused by running at a high frame rate all the time.

[0103] The aforementioned electronic devices can be laptops, desktop computers, mobile phones, smartphones, tablets, multimedia players, e-readers, smart in-vehicle devices, smart home appliances, artificial intelligence devices, wearable devices, Internet of Things (IoT) devices, or virtual reality / augmented reality / mixed reality devices. Among these, mobile phones can be foldable or non-foldable screen phones.

[0104] For example, taking a mobile phone as an electronic device, Figure 3 A schematic diagram of the electronic device is shown.

[0105] The electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0106] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0107] Processor 110 may include one or more processing units, such as application processors (APs), modem processors, GPUs, image signal processors (ISPs), controllers, video codecs, digital signal processors (DSPs), baseband processors, and / or neural network processing units (NPUs). These different processing units may be independent devices or integrated into one or more processors.

[0108] The controller can generate operation control signals based on the instruction opcode and timing signals to complete the control of instruction fetching and execution.

[0109] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the aforementioned memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0110] In some embodiments, the processor 110 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0111] It is understood that the interface connection relationships between the modules illustrated in the embodiments of the present invention are merely illustrative and do not constitute a limitation on the structure of the electronic device. In other embodiments of this application, the electronic device may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.

[0112] Electronic devices implement display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connecting the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.

[0113] Electronic devices can achieve shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.

[0114] The external storage interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, videos, music, and other files can be saved to the external memory card.

[0115] Internal memory 121 can be used to store computer executable program code, which includes instructions. Processor 110 executes various functional applications and data processing of electronic device 100 by running the instructions stored in internal memory 121. For example, it can execute the frame rate adjustment method of embodiments of this application.

[0116] The software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. For example, the software system of electronic device 100 can adopt a layered architecture. Operating System (OS) Operating system or Etc. The embodiments of this application employ a layered architecture. Taking the system as an example, the software structure of electronic device 100 is illustrated.

[0117] like Figure 4 As shown, Figure 4 This is a schematic diagram of the system architecture of the electronic device 100 provided in this application embodiment. The system architecture of the electronic device 100 includes an application layer 01, a graphical application programming interface (API) layer 02, a framework layer 03, a kernel layer 04, and a chip layer 05.

[0118] The application layer 01 can run multiple applications such as game applications, video applications, instant messaging applications, and photography applications. The graphics API layer 02 runs drivers capable of drawing graphics, such as OpenGL and the Vulkan graphics application programming interface. The framework layer 03 is used to execute the frame rate adjustment method provided in the embodiments of this application. The kernel layer 04 includes the system kernel and related drivers for driving hardware chips. The chip layer 05 includes hardware chips such as CPU and GPU.

[0119] Taking gaming applications as an example, such as multiplayer online battle arena (MOBA) games, and also virtual reality or augmented reality games. Figure 4 As shown, the framework layer 03 includes an instruction interception module 031, an identification module 032, a frame rate decision module 033, and a frame rate control module 034. When a game application runs on the electronic device 100, the instruction interception module 031 intercepts graphics API call instructions and caches the rendering instruction stream and associated data. The identification module 032 identifies the game scene based on the rendering data carried in the rendering instruction stream, identifies the game scene, and outputs the game scene. The frame rate decision module 033 determines the target frame rate and frame rate change rate based on the game scene. The frame rate control module 034 adjusts the current frame rate based on the target frame rate and frame rate change rate to obtain the display time of the next frame image.

[0120] The following will describe in detail the frame rate adjustment method provided in the embodiments of this application, with reference to specific flowcharts. The main part of this frame rate adjustment method can be considered as follows: Figure 4 The functionality of framework layer 03. For example... Figure 5 As shown, the frame rate adjustment method may include the following steps S210 to S240.

[0121] Step S210: Sequentially obtain rendering instructions for multiple images.

[0122] While an electronic device is running an application that requires continuous image rendering, the device can receive a rendering instruction stream initiated by the application. This stream instructs the rendering of multiple images in real time. The rendering instruction stream includes multiple rendering instructions, each corresponding to an image. For example, the application could be a game application, a video playback application, an image display application, or a virtual reality application—any application that requires rendering to obtain images. The first image rendered, as instructed by the rendering instruction, is displayed on the electronic device's screen to form a continuous picture along with other images.

[0123] In one possible implementation, with Figure 4Taking the system architecture of the provided electronic device as an example, when the electronic device performs a rendering task, the rendering instruction stream can be intercepted by the framework layer within the electronic device. During the execution of an application on the electronic device, the application initiates a rendering instruction stream to instruct the hardware within the electronic device to perform rendering operations. The framework layer within the electronic device can then intercept the rendering instruction within this rendering instruction stream before it reaches the hardware within the electronic device that performs the rendering operation.

[0124] In this embodiment, the rendering instruction carries rendering data. The hardware in the electronic device can perform rendering operations according to the rendering data. The description of the rendering data can be found in the above-described description of rendering data, and will not be repeated here.

[0125] Step S220: Determine the game scene of the game application corresponding to the first image among multiple images based on the rendering data.

[0126] The first image can be the first image among multiple images, or it can be any image among multiple images. Alternatively, the first image can be the image corresponding to the rendering command currently intercepted by the electronic device.

[0127] In this embodiment of the application, the description of the game scene can refer to the above introduction of the game scene, and will not be repeated here.

[0128] Among these, match scenarios, practice against AI scenarios, tutorial scenarios, and game replay scenarios are those with high frame rate requirements, heavy game loads, or any other game scenarios that easily cause game interface stuttering. Therefore, for match scenarios, practice against AI scenarios, tutorial scenarios, and game replay scenarios, adjusting the frame rate can reduce power consumption or improve visual effects. Conversely, for scenarios with lower frame rate requirements, such as the game lobby, settings interface, and login scenarios, images can be displayed at a lower frame rate than those in match scenarios, practice against AI scenarios, tutorial scenarios, or game replay scenarios, thereby reducing the load.

[0129] In one possible implementation, the game scene corresponding to the first image can be determined based on the state identifier carried in the rendering data.

[0130] The status identifiers can include game scene labels, player status, game title, images, etc.

[0131] For example, taking the game player status as an example, the game player status indicates the player's state in the game, which includes, but is not limited to, the player being online, the player being offline, the player being matched with teammates, the player being in a match, and the player being practiced. For example, when the game player status is "in a match," the game scene is a match scene. Embodiments of this application can determine the game player status by obtaining relevant data through functions or interfaces in the program.

[0132] For example, taking status identifiers as game scene labels, game scene labels can be specific labels for certain objects. By obtaining the strings corresponding to the specific labels of certain objects drawn in the rendering data, and searching and matching them with preset strings corresponding to multiple game scenes, the game scene corresponding to the preset string that matches the string corresponding to the specific label is determined as the game scene corresponding to the first image.

[0133] For example, taking the status identifier as the game title, the game title is used to indicate the name of the game scene. The string corresponding to the game title is obtained from the rendering data, and the string is then recognized to obtain the game scene corresponding to the string.

[0134] For example, taking the status identifier as an image, the image to be rendered is obtained from the rendering data, and player behavior recognition and object recognition are performed on the image to obtain the game scene.

[0135] Step S230: Obtain the first frame rate that matches the game scene.

[0136] The first frame rate is the frame rate that the image in the game scene needs to reach.

[0137] In the first possible implementation, different game scenes can correspond to different frame rates. A correspondence between game scenes and frame rates can be established in advance, and based on this correspondence, the frame rate corresponding to the game scene can be determined as the first frame rate.

[0138] The correspondence between game scenes and frame rates is used to indicate the mapping relationship between game scenes and their corresponding frame rates.

[0139] In one example, different game applications may have different frame rate requirements for the same game scene. For instance, massively multiplayer online role-playing games (MMORPGs) or MOBA games display skill effects through animation during gameplay, thus requiring a higher frame rate. Conversely, puzzle or brain teasers, which lack gameplay scenes or display skill effects primarily as 2D textures, have lower frame rate requirements for image display. Therefore, the correspondence between game scenes and frame rates can differ across game applications. When obtaining the first frame rate, the game application that triggered the rendering command can be identified, and the correspondence between its game scene and frame rate can be obtained. Based on this correspondence, the first frame rate matching the game scene can be obtained. Of course, the correspondence between game scenes and frame rates can also be the same across different game applications.

[0140] In the second possible implementation, multiple frame rates can be pre-set, such as 120Hz, 90Hz, and 60Hz. The power consumption and visual effects of displaying a game scene at each frame rate are simulated. The frame rate that satisfies the visual requirements of the game scene while consuming the least power is determined as the first frame rate. For example, if both 120Hz and 90Hz meet the visual requirements of the game scene, then 90Hz is chosen as the first frame rate because its power consumption is lower than that of 120Hz.

[0141] Step S240: Display the first image and the associated image following the first image sequentially based on the first frame rate.

[0142] In the application's embodiments, the associated image corresponds to a game scene. For example, using... Figure 2 Taking the game scene shown in Figure (b) as an example, in the first image... Figure 2 In the case of image 3 in Figure (b), the associated image is Figure 2 Images 4 and 5 in Figure (b).

[0143] In one possible implementation, a frame rate adjustment can be performed based on a first frame rate, and the first image and the associated image following the first image can be displayed sequentially based on the adjusted frame rate.

[0144] In this embodiment of the application, when the current frame rate is lower than the first frame rate, the frame rate adjustment can be to increase the frame rate. For example, the frame rate can be increased by raising the screen refresh rate or increasing the display frequency.

[0145] When the current frame rate is higher than the first frame rate, frame rate adjustment can be done by reducing the frame rate. For example, this can be done by dropping frames and / or lowering the screen refresh rate. Dropping frames or lowering the screen refresh rate can reduce the frame rate in the game, thereby reducing power consumption. Lowering the screen refresh rate can be achieved by multiplying the original screen refresh rate by a coefficient less than 1, or by reducing the original screen refresh rate by a fixed value. The resulting frame rate can then be used to render the frame image, further reducing power consumption.

[0146] based on Figure 5 The provided embodiment identifies the game scene through rendering data carried by the rendering command, determines the first frame rate based on the game scene, and then adjusts the current frame rate to the first frame rate. Thus, when the game scene changes, the frame rate in the game can be dynamically adjusted, and the electronic device displays at a dynamic frame rate. This reduces the power consumption of the electronic device when running game applications, and the determination of the first frame rate based on the game scene is unaffected by the similarity between adjacent frames in the game application, making it highly applicable.

[0147] In the embodiments of this application, using Figure 4 Taking the provided system architecture as an example, when an electronic device performs a rendering task, the application layer 01 in the electronic device triggers rendering instructions for multiple images through the graphics API layer 02, forming a rendering instruction stream. The graphics API layer 02 in the electronic device triggers the rendering instruction stream to the framework layer 03. The framework layer 03 in the electronic device intercepts each rendering instruction in the rendering instruction stream and identifies whether the rendering data carried by the rendering instruction contains scene features. If the rendering data carried by the rendering instruction contains scene features, the above-mentioned S220 is executed. If the rendering data carried by the rendering instruction does not contain scene features, the next rendering instruction is intercepted.

[0148] The rendering instruction stream is a set of instructions that direct the graphics processor to render game scenes. The rendering data in the rendering instruction stream can include scene features. These scene features can serve as distinguishing identifiers for different game scenes; that is, different game scenes correspond to different scene features.

[0149] Based on this, in the above-mentioned S220, which determines the game scene corresponding to the first image based on the rendering data, in addition to determining the implementation method of the game scene through the status identifier, the game scene corresponding to the first image can also be determined based on the scene features carried by the rendering data.

[0150] For example, such as Figure 6 As shown, in image rendering, for the first image of multiple images, the scene features in the rendering command are extracted (S221), and the scene features in the rendering command are matched with the preset scene features corresponding to multiple preset game scenes (S222). The preset game scene that matches the scene features in the rendering command is determined as the game scene (S223). The rendering command is then released (S224).

[0151] For example, different game applications include different game scenes. For instance, single-player game applications or puzzle game applications do not include combat scenes. Therefore, before identifying the game scene corresponding to the first image, it is possible to determine the game application that triggered the rendering command, obtain multiple game scenes included in that game application, and the preset scene features corresponding to each game scene. By comparing the scene features in the rendering command with the preset scene features corresponding to each game scene included in the game application, the game scene is determined.

[0152] For example, based on the scene features carried by the rendering data, probability prediction is performed to obtain the predicted probability of each game scene for each scene feature carried by the rendering data, and the game scene with the highest predicted probability is determined as the game scene corresponding to the first image.

[0153] In this application embodiment, scene features include, but are not limited to, model labels, texture labels, and the number of draw calls.

[0154] In one possible implementation, scene features can be obtained through offline data analysis and statistics using graphics analysis software, and different game scenes can be pre-processed in electronic devices so that the rendering instruction stream can be read.

[0155] In another possible implementation, the electronic device can read scene features by obtaining the corresponding scene feature fields or scene feature functions in the game application.

[0156] In this embodiment, the first frame rate can be determined in S230 based on the game scene. Alternatively, each game scene corresponds to a frame rate range, and a frame rate range matching the game scene is determined from the frame rate ranges corresponding to multiple game scenes, and the first frame rate is determined from the frame rate range.

[0157] Taking the determination of the frame rate range based on the game scene, and the determination of the first frame rate from the frame rate range as an example, this paper introduces the method of obtaining the first frame rate.

[0158] In the first possible implementation, the maximum, minimum, or intermediate frame rate within the frame rate range can be determined as the first frame rate. For example, if the frame rate range corresponding to the game scene is [90Hz, 120Hz], 90Hz, 120Hz, or 100Hz can be determined as the first frame rate.

[0159] In the second possible implementation, where the rendering instruction is triggered by a triggering event, since the game interface view includes an operation control area and a skill release area, such as... Figure 7 As shown, where Figure 7Area 1 is the operation control area. It displays controls for Skill 1, Skill 2, Skill 3, Skill 4, Skill 5, Skill 6, and Skill 7, as well as directional controls. Area 2 is the skill release area. Area 2 contains multiple objects. The operation control area and the skill release area have different frame rate requirements. For example, the skill release area may need to display skill effects animations, which usually requires a higher frame rate to improve visual effects. The operation control area, on the other hand, is usually displayed as textures and has lower frame rate requirements. Alternatively, when the target object is moving, or when the target object is stationary while other objects in the game scene are moving (e.g., rain in the game scene, or other objects fighting in the game scene), displaying at a low frame rate may cause frame drops or game stuttering, while displaying at a high frame rate may increase power consumption. Therefore, in order to improve the visual effect of the game interface and reduce power consumption, in the implementation of determining the first frame rate from the frame rate range, the first frame rate can be determined from the frame rate range based on at least one of the touch area that triggered the event, the motion parameters of the camera in the game application, and the screen change rate.

[0160] In this context, the camera motion parameters in the game application are the amounts of change obtained with reference to the camera in the game application. These amounts of change include at least one of movement and rotation angle. Accordingly, the motion parameters include the amount of camera movement and / or the camera rotation angle.

[0161] In this embodiment of the application, the motion parameters of the camera in the game application are used to indicate the motion state of the target object in the game application.

[0162] The motion state of the target object includes whether it is in motion or stationary. Alternatively, the motion state of the target object includes its motion state level. Understandably, the higher the motion state level of the target object, the greater the change in the target object; conversely, the lower the motion state level of the target object, the smaller the change in the target object.

[0163] The image change rate is used to indicate the image similarity between the first image and previously rendered historical images. The previously rendered historical images can be images preceding the first image from a set of multiple images. For example, using... Figure 2 Taking the provided embodiment as an example, in the first image is Figure 2 In the case of image 4 in Figure (b), the rendered historical image could be image 3. Alternatively, the rendered historical image could be an image rendered before multiple images were acquired. For example, with... Figure 2 Taking the provided embodiment as an example, historical images can be Figure 2 Image 1 and Image 2 in Figure (a).

[0164] For example, frame rate determination conditions can be set, and a first frame rate can be determined from a frame rate range according to these conditions. These frame rate determination conditions indicate the strategy for determining the frame rate. For example, the frame rate determination conditions could indicate at least one of the following: the touch area of ​​a touch operation, the motion parameters of the camera in a game application, and the rate of change of the image.

[0165] For example, taking the touch area used to indicate touch operation as an example, the method of obtaining the first frame rate will be introduced.

[0166] The touch area is used to indicate the area in the view window where a touch operation occurs.

[0167] In this embodiment, the touch area includes a first area and a second area. The first area includes an operation control area; the second area includes a skill release area or a view area of ​​the target object. For example,... Figure 7 As shown, region 1 is the first region, and region 2 is the second region. Both the skill release area and the target object's viewpoint area require a high frame rate to display animations. Therefore, for touch-based operation, obtaining the first frame rate from the frame rate range can include: when the touch area is the second region, using the maximum frame rate within the range as a reference, and using the higher frame rate as the first frame rate to achieve better visual effects. Conversely, when the touch area is the first region, using the minimum frame rate within the range as a reference, and using the lower frame rate as the first frame rate to display the image. Understandably, when the touch area is the second region, the frame rate difference between the first frame rate and the maximum frame rate within the range is less than a frame rate difference threshold. Similarly, when the touch area is the first region, the frame rate difference between the first frame rate and the minimum frame rate within the range is less than a frame rate difference threshold. For example, with a frame rate range of [90Hz, 120Hz], when the touch area is the second region, 120Hz, 119Hz, or 110Hz can be used as the first frame rate. When the touch area is the first area, 90Hz, 87Hz, or 80Hz can be used as the first frame rate.

[0168] In one possible implementation, the frequency of historical touch operations on the touch area affects the number of times rendering instructions are triggered in the game application. If the frequency or number of historical touch operations is high, the game interface needs to switch views frequently. If displayed at a low frame rate, this may cause game stuttering and affect the visual experience. Conversely, if the frequency or number of historical touch operations is low, displaying at a high frame rate would increase the power consumption of the electronic device. Therefore, in the implementation of obtaining the first frame rate from the frame rate range based on touch operations on the touch area, the frequency and number of historical touch operations within the touch area can also be combined to obtain the first frame rate.

[0169] like Figure 8 As shown, Figure 8 The flowchart for obtaining the target frame rate based on the touch area provided in this application embodiment includes steps S231A to S233A.

[0170] In step S231A, the electronic device displays the game interface in the view window.

[0171] For example, this view window indicates the screen display area of ​​an electronic device. (e.g.) Figure 9 As shown, Figure 9 This is a schematic diagram of a view window provided for an embodiment of this application. The view window displays a game interface. The game interface includes a game area, a control display area, and a message display area. Players can input touch operations by clicking on the game area or the control display area in the game interface. For example, clicking on an object in the game area can lock the target for skill release. Another example is releasing a skill by clicking on a skill control in the control display area.

[0172] In the embodiments of this application, using Figure 4 Taking the system architecture of the electronic device shown as an example, when the electronic device is running a game application, the frame layer 03 in the electronic device monitors whether a touch operation occurs in the view window.

[0173] In one possible implementation, with Figure 4 Taking the system architecture of the provided electronic device as an example, when the electronic device runs a game application, the application layer 01 in the electronic device can obtain the player's click operations on the operation controls displayed on the game interface, or click operations on any area of ​​the game interface. The graphics API layer 02 in the electronic device transmits the touch operation information to the framework layer 03 in the electronic device. The touch operation information includes the number of touch operations and position coordinate information. The position coordinate information is used to indicate the coordinates of the location of the touch operation in the game interface within the view window.

[0174] In the embodiments of this application, using Figure 4 Taking the system architecture of the provided electronic device as an example, when the electronic device is running a game application, the frame layer 03 in the electronic device can determine whether a touch operation has occurred in the view window by whether it has received touch operation information. When the frame layer 03 in the electronic device receives the trigger touch operation information, it determines that a touch operation has occurred in the view window.

[0175] In this embodiment of the application, when it is determined that a touch operation has occurred in the view window, the touch area of ​​the touch operation in the view window is determined.

[0176] In this embodiment of the application, the touch area can be determined based on the position coordinate information of the touch operation.

[0177] For example, the coordinate ranges of the first and second regions within the view window can be obtained based on the size of the view window and the way the touch area is divided in the game application. The position coordinates of the touch operation are then compared with the coordinate ranges of the first and second regions within the view window, and the area whose coordinate range includes the position coordinates of the touch operation is determined as the touch area of ​​the touch operation within the view window.

[0178] The touch area can be divided in ways including, but not limited to, left-right division and top-bottom division. For example, such as... Figure 10 As shown, Figure 10 Figure (a) shows the touch area divided into left and right sections, where area 1 on the left is the first area and area 2 on the right is the second area. For example... Figure 10 Figure (b) shows the touch area divided by the top and bottom. The area 1, which is closer to the bottom border of the view window, is the first area, and the area 2, which is farther away from the bottom border of the view window, is the second area.

[0179] For example, with Figure 10 Taking Figure (b) as an example, when the position coordinates of the touch operation are within the range of region 1, the touch area in the view window is the first region. When the position coordinates of the touch operation are within the range of region 2, the touch area in the view window is the second region.

[0180] Step S232A: When a touch operation is detected in the first area, the first frame rate is determined from the frame rate range based on the number of historical touch operations triggered in the first area.

[0181] The number of historical touch operations can be the number of touch operations triggered by the player in the first area within a past period. This application does not specifically limit the past period. For example, it could be the number of touch operations triggered by the player in the first area from the time the game application starts to the current time. Or, for example, it could be the number of touch operations triggered by the player in the first area within the past minute or the past ten minutes. Or, for example, it could be the number of touch operations triggered by the player in the first area from the time the game scene in the application switches to the current game scene to the current time. Here, the current game scene may be the same as the previous game scene, or it may be different from the previous game scene.

[0182] In a first possible implementation, the number of historical touch operations can also be the number of touch operations triggered by the player in the first area per unit time. The unit time can be 1 second, 1 minute, etc. This application does not limit this.

[0183] In the first possible implementation, the correspondence between a pre-set number and the frame rate can be queried based on the number of historical touch operations triggered in the first area, and the first frame rate that matches the number of historical touch operations triggered in the first area can be obtained from the frame rate range.

[0184] In the first possible implementation, the correspondence between quantity and frame rate is used to indicate the mapping relationship between the range of historical touch operations and the corresponding frame rate.

[0185] In one example, obtaining the first frame rate that matches the number of historical touch operations triggered in the first region from the frame rate range includes: determining the target number range in which the number of historical touch operations triggered in the first region falls from the correspondence between the number and the frame rate, and determining the frame rate corresponding to the target number range as the first frame rate. Alternatively, the frame rate in the frame rate range that matches the frame rate corresponding to the target number range is determined as the first frame rate. For example, when the frame rate corresponding to the target number range is 90Hz, and the frame rate range is [100Hz, 120Hz], 100Hz is determined as the first frame rate.

[0186] In the second possible implementation, when touch operations in the first area are infrequent, the frame rate can be reduced to decrease the power consumption of the electronic device. Therefore, in the implementation that determines the first frame rate from a frame rate range based on the number of historical touch operations triggered in the first area, the frequency of touch operations in the first area can be determined based on the number of historical touch operations triggered in the first area. When touch operations are frequent in the first area, the first frame rate is determined according to the aforementioned correspondence between the number of touch operations and the frame rate. When touch operations are infrequent in the first area, the minimum frame rate within the frame rate range can be determined as the first frame rate.

[0187] In one example, the number of historical touch operations triggered in the first area can be compared with a pre-set first threshold. If the number of historical touch operations triggered in the first area is greater than the first threshold, it is determined that touch operations in the first area are frequent. If the number of historical touch operations triggered in the first area is not greater than the first threshold, it is determined that touch operations in the first area are infrequent.

[0188] Step S233A: If a touch operation is detected in the second area, the maximum frame rate in the frame rate range is determined as the first frame rate.

[0189] In this embodiment of the application, when a touch operation occurs in the second area, in order to improve the visual effect of the game interface, the frame rate is increased to the maximum frame rate in the frame rate range to meet the frame rate requirements of the second area.

[0190] In one possible implementation, if the electronic device displays at the maximum frame rate within the frame rate range for an extended period after a touch operation ends, and the frequency of touch operations triggered in the second area is low, the power consumption of the electronic device will increase. Therefore, to reduce the power consumption of the electronic device, after detecting the end of a touch operation, the frame rate can be adjusted in a timely manner based on the frequency of historical touch operations triggered in the second area. The electronic device displays the image at the adjusted frame rate, which can reduce the power consumption of the electronic device when running game applications.

[0191] In one example, with Figure 4 Taking the system architecture of the provided electronic device as an example, when the electronic device is running a game application, if the application layer 01 in the electronic device detects that the touch operation has ended, the instruction sent by the application layer 01 to the kernel layer 04 in the electronic device carries a field indicating the end of the operation. The framework layer 03 in the electronic device can intercept the instruction sent by the application layer 01 to the kernel layer 04 and determine whether the touch operation has ended by detecting whether the instruction carries a field indicating the end of the operation. This application embodiment does not limit the method of identifying the end of the touch operation. For example, it can determine that the touch operation has ended when a lift-off operation is detected at the location where the touch operation occurred and no new touch operation is received within a preset time.

[0192] In one example, after a touch operation is detected, a second frame rate is determined from a frame rate range based on the frequency of historical touch operations within a second area. The second frame rate is less than the first frame rate. A third image is then displayed based on the second frame rate. This third image is one whose display time is later than that of the first image. For example, the third image can be several consecutive frames following the first image; that is, the third image can be separated from the associated images by multiple frames. Thus, after a touch operation, the frame rate can be adjusted promptly based on the frequency of historical touch operations within the second area, thereby reducing power consumption when the electronic device is running games.

[0193] In some implementations, a correspondence between frequency and frame rate can be pre-established. This correspondence indicates the mapping between the frequency range of historical touch operations and their corresponding frame rates. In the implementation of determining the second frame rate from the frame rate range based on the frequency of historical touch operations within a second region, the target frequency range of the historical touch operations within the second region can be queried based on the frequency-frame rate correspondence. The frame rate corresponding to the target frequency range in the frequency-frame rate correspondence is then determined as the first frame rate.

[0194] In other embodiments, determining the second frame rate from the frame rate range based on the frequency of historical touch operations in the second region includes: obtaining the number of historical touch operations in the second region; if the number of historical touch operations in the second region is greater than a second threshold, querying the first frame rate corresponding to the frequency of historical touch operations in the second region based on the correspondence between frequency and frame rate.

[0195] Wherein, the second threshold is less than the first threshold, or the second threshold is greater than the first threshold. This application does not limit this specific case.

[0196] Specifically, if the number of historical touch operations in the second area is not greater than the second threshold, the lowest frame rate within the frame rate range is used as a reference to determine the lower frame rate as the first frame rate.

[0197] In the above embodiments of this application, if the number of historical touch operations triggered in the first area is not greater than the first threshold, or the number of historical touch operations in the second area is not greater than the second threshold, the lower frame rate can be determined as the first frame rate with reference to the minimum frame rate in the frame rate range.

[0198] In another implementation, if the number of historical touch operations triggered in the first area does not exceed a first threshold, or the number of historical touch operations in the second area does not exceed a second threshold, the first frame rate can be determined from the frame rate range based on the camera's motion parameters and / or the rate of change of the first image with the rendered historical images in the game application. In this way, the first frame rate is obtained from the camera's motion parameters and / or the rate of change of the first image with the rendered historical images, ensuring the reasonableness of the first frame rate and making the game interface display smoother. This improves the visual effect of the game interface display while reducing the power consumption of the electronic device.

[0199] The following section will use the example of camera motion parameters in a game application to determine the frame rate as an example to introduce how to obtain the first frame rate.

[0200] First, we will introduce how to determine the camera's motion parameters.

[0201] In the first possible implementation, the motion parameters of the camera in the game application can be obtained from the camera position information and observation matrix of adjacent frame images.

[0202] The view coordinate system is a coordinate system established with the camera as the origin for observing objects at different distances and angles. The view matrix corresponding to the view coordinate system can be obtained through the rendering command stream. Using the view matrix, world coordinates can be transformed to view coordinates, which are relative to the camera's position and orientation. The view matrix includes the position in world space, the camera's orientation vector, a vector pointing to its right, and a vector pointing upwards. The view matrix creates a matrix using three mutually perpendicular axes and the camera's position as the origin, efficiently transforming all world coordinates to camera space.

[0203] The observation matrix is ​​expressed in the form of formula (1).

[0204]

[0205] Among them, (R) x ,R y ,R z ) is a right vector. (U) x U y U z ) is the upper vector. (D) x D y D z ) represents the direction vector of the camera. (P) x ,P y ,P z Camera location information.

[0206] In one example, the first observation matrix corresponding to the first image can be read from the observation matrix field carried in the rendering instruction stream, and the second observation matrix of the second image can be obtained. The camera rotation angle is obtained based on the first and second observation matrices. The second image is the frame preceding the first image.

[0207] For example, through the direction vector (D) in the first observation matrix x D y D z ) and the direction vector (D) in the second observation matrix x D y D z The rotation angle of the camera is obtained according to the following formula (2).

[0208]

[0209] Where θ is the camera's rotation angle.N-1 d represents the direction vector in the second observation matrix. N is the direction vector in the first observation matrix.

[0210] In one example, the first camera position information corresponding to the first image and the second camera position information of the second image can be read from the camera position field carried in the rendering command stream. Based on the first and second camera position information, the camera movement amount can be obtained.

[0211] The movement amount can be the distance the camera moves. For example, the distance the camera moves can be obtained using the following formula (3) based on the position information of the first camera and the position information of the second camera.

[0212]

[0213] Among them, P N-1 The second camera position information for the second image. P N This refers to the position information of the first camera corresponding to the first image.

[0214] The movement amount can be the camera's movement speed. For example, the camera's movement speed can be obtained from the distance between the position information of the first camera and the position information of the second camera, as well as the time difference between the first image and the second image.

[0215] In the second possible implementation, the camera's motion parameters in the game application can be obtained from the camera position information of adjacent frame images and the view-crop matrix.

[0216] The observation-clipping matrix is ​​expressed as shown in the following formula (4).

[0217]

[0218] In one example, the near-crop plane information of the camera's viewpoint can be obtained through the view-crop matrix. Based on the first near-crop plane information corresponding to the first image and the second near-crop plane information corresponding to the second image, the camera's rotation angle is obtained.

[0219] Among them, the first observation-cropping matrix corresponding to the first image is as shown in formula (4) as an example, and the information of the first near cropping plane corresponding to the first image is as shown in formula (5) below.

[0220] (a1,a2,a3)=(a 31 +a 41 ,a 32 +a 42 ,a 33 +a 43 (5)

[0221] In the process of obtaining the camera rotation angle based on the first near clipping plane information corresponding to the first image and the second near clipping plane information corresponding to the second image, the cosine value of the camera rotation angle can be obtained by the following formula (6).

[0222]

[0223] Wherein, (b1,b2,b3) represents the information of the second near-cropping plane corresponding to the second image.

[0224] Next, we will introduce the method of obtaining the first frame rate based on the camera's motion parameters in game applications.

[0225] In the first possible implementation, after obtaining the camera's motion parameters, the motion parameters can be compared with the pre-set correspondence between motion parameters and frame rate to obtain the first frame rate.

[0226] For example, when the motion parameters include camera movement, the correspondence between motion parameters and frame rates is used to indicate the mapping relationship between the range of camera movement and the corresponding frame rates. The process of determining the first frame rate may include: comparing the camera movement with the correspondence between motion parameters and frame rates to obtain the target range of camera movement; and determining the frame rate corresponding to the target range of movement in the correspondence between motion parameters and frame rates as the first frame rate.

[0227] For example, when the motion parameters include the camera's rotation angle, the correspondence between the motion parameters and the frame rate is used to indicate the mapping relationship between the camera's rotation angle range and the corresponding frame rate. The process of determining the first frame rate includes: similar to the amount of camera movement, determining the frame rate corresponding to the target rotation angle range in the correspondence between the motion parameters and the frame rate as the first frame rate.

[0228] For example, when the motion parameters include the camera's movement and rotation angle, the correspondence between the motion parameters and the frame rate is used to indicate the mapping relationship between the frame rate and the corresponding range of camera movement and rotation angle. The process of determining the first frame rate includes: similar to determining the camera's movement, defining the frame rate in the correspondence between motion parameters and frame rates where the rotation angle range corresponding to the frame rate includes the camera's rotation angle, and the range of camera movement corresponding to the frame rate includes the camera's movement, as the first frame rate.

[0229] In the second possible implementation, after obtaining the camera's motion parameters, the motion state level of the target object can be determined based on the camera's motion parameters. Based on the motion state level of the target object and the correspondence between the motion state level and the frame rate, a first frame rate that matches the motion state level of the target object can be determined from the frame rate range.

[0230] The correspondence between motion state levels and frame rates indicates the mapping between the motion state level of a target object and its corresponding frame rate. For example, taking motion state levels including still, light motion, medium motion, and fast motion as an example, the frame rates corresponding to still, light motion, medium motion, and fast motion increase sequentially. Another example is motion state levels including first motion level, second motion level, third motion level, and fourth motion level, where the amount of movement or rotation angle corresponding to the first, second, third, and fourth motion levels increases sequentially, and correspondingly, the frame rates corresponding to the first, second, third, and fourth motion levels increase sequentially.

[0231] For example, when motion parameters include the camera's movement, the motion state level of the target object can be obtained based on the correspondence between the movement amount and the motion state level. This correspondence indicates the relationship between a range of movement amounts and corresponding motion state levels. For instance, taking movement speed as the movement amount, when the movement speed is less than a movement speed threshold, the motion state level is determined to be either stationary or the first motion level. This application does not limit the specific value of the movement speed threshold in its embodiments.

[0232] For example, when motion parameters include rotation angle, the motion state level of the target object can be obtained based on the correspondence between angle and motion state level. The correspondence between angle and motion state level indicates the relationship between the camera's rotation angle range and the corresponding motion state level.

[0233] For example, when the motion parameters include the camera's motion magnitude and rotation angle, the motion state level of the target object can be obtained based on the mapping data between the motion parameters and the motion state level. This mapping data includes multiple motion state levels and the corresponding ranges of motion magnitude and rotation angle for each level. Alternatively, the predicted probability of the target object at each motion state level can be predicted based on the camera's motion magnitude and rotation angle, and the motion state level with the highest predicted probability can be determined as the target object's motion state level.

[0234] In the third possible implementation, after obtaining the camera's motion parameters, when the target object's motion state level is relatively low—for example, the target object's motion state level is stationary, or slightly moving, or at the first or second motion level—the lowest frame rate in the frame rate range can be used as a reference, and the lower frame rate can be taken as the first frame rate. This can reduce the power consumption of the electronic device. Therefore, in the implementation of obtaining the first frame rate based on camera motion parameters in a game application, the first possible implementation includes: determining the target object's motion state based on the camera's motion parameters in the game application; if the target object's motion state level is greater than a level threshold, obtaining the first frame rate based on the correspondence between motion parameters and frame rates; if the target object's motion state level is not greater than the level threshold, using the lowest frame rate in the frame rate range as a reference, and taking the lower frame rate as the first frame rate.

[0235] A second possible implementation involves determining the first frame rate from a range of frame rates based on the rate of change between the first image and previously rendered historical images, provided the target object's motion level is no greater than a threshold. This allows for the identification of other objects in motion based on the rate of change in the game scene, thus obtaining a more reliable first frame rate. This approach covers the reasons for frame rate adjustments within the game scene, and by adjusting the frame rate promptly and ensuring its accuracy, it improves the smoothness of the game interface and reduces power consumption when running games on electronic devices.

[0236] Next, we will introduce how to obtain the first frame rate, taking the frame rate determination condition as an example to indicate the rate of change of the screen.

[0237] First, we will introduce how to determine the rate of change of the image.

[0238] In one possible implementation, the rate of change of the image can be obtained by the amount of image change between the first image and the second image. For example, the amount of image change can be defined as the rate of change of the image.

[0239] In one example, the amount of image change can be obtained by calculating the distance between the first image and the second image rendered in the previous frame. For example, calculating the Euclidean distance, Mahalanobis distance, etc., between the first image and the second image rendered in the previous frame.

[0240] In another example, the amount of image change can be obtained by calculating the difference between the first image and the second image rendered in the previous frame.

[0241] For example, the difference between the first image and the second image rendered in the previous frame is calculated at the same spatial location using convolution kernels. The difference values ​​obtained by each convolution kernel are averaged to obtain the degree of difference between the first image and the second image rendered in the previous frame.

[0242] The size of the convolution kernel can be 7*7, and this application does not limit this.

[0243] In the second possible implementation, the determination of the frame change rate can be achieved by obtaining a first similarity between the first image and the second image, and a second similarity between multiple historical images. Based on the first similarity and the multiple second similarities, the frame change rate between the first image and the historical images is obtained. Thus, by using the differences between multiple adjacent frame images, the reliability of the frame change rate is improved, thereby ensuring the reliability of the first frame rate.

[0244] In one example, the second similarity between multiple historical images can be obtained directly from the PBO. For instance, for each frame of an image to be displayed, the electronic device calculates the similarity between that image and the previous frame image, and writes the similarity along with the frame identifier of that image into the PBO. When it is necessary to determine the first frame rate, the first similarity between the first image and the second image that precedes the first image is calculated, and the second similarity between multiple stored historical images is read from the PBO.

[0245] The first similarity between the first image and the second image rendered in the previous frame can be calculated using a convolution kernel.

[0246] For example, taking the first image as the Nth frame image, such as... Figure 11 As shown, the electronic device inputs the Nth frame image and the (N-1)th frame image into a convolutional network. The similarity of the Nth frame image is calculated and stored in the PBO. The similarity of the Nth frame image, the (N-1)th frame image, the (N-2)th frame image, the (N-3)th frame image, and the (N-4)th frame image are then read from the PBO. Based on the similarity of the Nth frame image, the (N-1)th frame image, the (N-2)th frame image, the (N-3)th frame image, and the (N-4)th frame image, the image change rate is calculated.

[0247] In one example, in the implementation of calculating the rate of change between the first image and historical images, the rate of change can be determined by the first similarity and the maximum, average, median, or mode among multiple second similarities. For example, the rate of change can be determined by the maximum, average, median, or mode among the similarities of the Nth frame, the (N-1)th frame, the (N-2)th frame, the (N-3)th frame, and the (N-4)th frame.

[0248] In another example, in calculating the rate of change between the first image and historical images, the first similarity and multiple second similarities can be used to obtain the similarity changes between historical images. The rate of change is then obtained based on the similarity changes between historical images.

[0249] The variation in similarity is used to indicate the continuity between images.

[0250] For example, a similarity sequence can be obtained based on a first similarity and multiple second similarities. Forward differencing is then performed on the similarity sequence to obtain a difference sequence. This difference sequence is used to characterize changes in similarity. Understandably, an increasing difference in the difference sequence indicates an increasing similarity. Alternatively, if the difference remains constant or is less than a preset difference threshold, it indicates no change in similarity. Conversely, a decreasing difference in the difference sequence indicates a decreasing similarity.

[0251] Correspondingly, as similarity increases, the continuity of the image increases. As similarity decreases, the continuity of the image decreases. When similarity remains unchanged, the continuity of the image remains unchanged. Here, image continuity can refer to a high degree of similarity between multiple adjacent frames.

[0252] In this embodiment of the application, when obtaining the image change rate based on the similarity change between the first image and the historical images, the image change rate can be predicted based on the similarity change.

[0253] In this embodiment of the application, after determining the screen change rate, a first frame rate matching the screen change rate between the first image and the rendered historical images can be obtained based on the correspondence between the screen change rate and the frame rate.

[0254] In this embodiment of the application, the frame rate determination conditions may indicate multiple factors, including the touch area of ​​the touch operation, the motion parameters of the camera in the game application, and the rate of change of the screen.

[0255] For example, the method of obtaining the first frame rate will be introduced by taking the frame rate determination condition as an example to indicate the touch area and screen change rate of the touch operation.

[0256] In a first possible implementation, when a touch operation occurs in the view window, the first frame rate is obtained from the frame rate range, referring to the frame rate determination conditions used to indicate the touch area of ​​the touch operation. When no touch operation occurs in the view window, the first frame rate is obtained from the frame rate range, referring to the frame rate determination conditions used to indicate the screen change rate. Further details of the embodiments in this application will not be elaborated here.

[0257] In a second possible implementation, when a touch operation occurs in the first area of ​​the view window, if the number of historical touch operations triggered in the first area is greater than a first threshold, the first frame rate is determined according to the aforementioned correspondence between the number and the frame rate. If the number of historical touch operations triggered in the first area is not greater than the first threshold, the first frame rate is obtained from the frame rate range by referring to the aforementioned frame rate determination condition used to indicate the rate of change of the screen. The embodiments of this application will not be elaborated upon here.

[0258] In a third possible implementation, when a touch operation occurs in the second area of ​​the view window, the maximum frame rate within the frame rate range is determined as the first frame rate. After the touch operation ends, the second frame rate is obtained from the frame rate range by referring to the method for obtaining the first frame rate when the frame rate determination condition is used to indicate the rate of change of the screen. Alternatively, the second frame rate can be obtained from the frame rate range by referring to the implementation method described above for determining the second frame rate based on the frequency of historical touch operations in the second area. The embodiments of this application will not be elaborated upon here.

[0259] For example, the method of obtaining the first frame rate will be introduced by taking the frame rate determination condition as an example to indicate the camera's motion parameters and the rate of change of the image.

[0260] In one possible implementation, when the motion state level of the target object represented by the camera's motion parameters is greater than a level threshold, a first frame rate is obtained based on the correspondence between motion parameters and frame rate. When the motion state level of the target object represented by the camera's motion parameters is not greater than the level threshold, the first frame rate is obtained from the frame rate range by referring to the method for obtaining the first frame rate when the above frame rate determination conditions are used to indicate the rate of change of the image. The embodiments of this application will not be elaborated upon here.

[0261] For example, frame rate determination conditions are used to indicate the touch area for touch operations, camera motion parameters in game applications, and screen change rate.

[0262] In a first possible implementation, when a touch operation occurs in the view window, and referring to the frame rate determination conditions used to indicate the touch area of ​​the touch operation, the first frame rate is obtained from the frame rate range. When no touch operation occurs in the view window, the camera's motion parameters are obtained. If the motion state level of the target object represented by the camera's motion parameters is greater than a level threshold, the first frame rate is obtained according to the correspondence between motion parameters and frame rates. If the motion state level of the target object represented by the camera's motion parameters is not greater than the level threshold, the first frame rate is obtained from the frame rate range, referring to the frame rate determination conditions used to indicate the rate of change of the image. The embodiments of this application will not be elaborated further here.

[0263] In the second possible implementation, when a touch operation occurs in the first area of ​​the view window and the number of historical touch operations triggered in the first area is greater than a first threshold, the first frame rate is determined according to the aforementioned correspondence between the number and the frame rate. When a touch operation occurs in the first area of ​​the view window and the number of historical touch operations triggered in the first area is not greater than the first threshold, the camera's motion parameters are acquired. When the motion state level of the target object represented by the camera's motion parameters is greater than a level threshold, the first frame rate is acquired according to the correspondence between the motion parameters and the frame rate. When the motion state level of the target object represented by the camera's motion parameters is not greater than the level threshold, the first frame rate is acquired from the frame rate range by referring to the method for acquiring the first frame rate when the aforementioned frame rate determination conditions are used to indicate the rate of change of the image. The embodiments of this application will not be elaborated upon here.

[0264] In this embodiment of the application, after determining the first frame rate, the first image and the associated image after the first image are displayed sequentially based on the first frame rate.

[0265] In a first possible implementation, a first target display time for the first image and a second target display time for associated images following the first image can be determined based on a first frame rate. The first image and the associated images following the first image are then displayed sequentially according to the first and second target display times. The first target display time is earlier than the second target display time.

[0266] In one example, the first target display time of the first image can be obtained based on the first frame rate and the mapping relationship between the frame rate and the display time.

[0267] The mapping relationship between frame rate and display time is used to indicate the correspondence between frame rate and corresponding display time.

[0268] In the first example, displaying the first image according to the first target display time includes: executing a wait instruction before performing the image display operation. When the pause duration meets a duration threshold, the image is displayed. The wait instruction instructs the electronic device to perform image display after pausing for the duration threshold. The duration threshold is determined based on the first target display time. For example, if the first target display time is greater than the current display time, the duration threshold is increased. If the first target display time is greater than the current display time, the duration threshold is decreased.

[0269] In the second possible implementation, during the determination of the first frame rate, the first frame rate change rate is obtained, and the first image and its associated images are displayed sequentially based on the first frame rate and the first frame rate change rate. This avoids the problem of large variations in the game interface display due to a large frame rate difference between the current frame rate and the first frame rate, which could negatively impact human vision and ensure the visual quality of the game interface.

[0270] For example, a first target display time is obtained based on a first frame rate and a first frame rate change rate. A first image is displayed according to the first target display time. A second target display time is obtained based on the display frame rate corresponding to the first image and the first frame rate change rate. An associated image is displayed after the first image according to the second target display time.

[0271] In one example, obtaining the first target display time based on the first frame rate and the first frame rate change rate includes: obtaining the display frame rate of the first image based on the first frame rate and the first frame rate change rate; and obtaining the first target display time of the first image based on the display frame rate of the first image and the mapping relationship between the frame rate and the display time.

[0272] In one example, obtaining the second target display time based on the display frame rate corresponding to the first image and the first frame rate change rate includes: obtaining the display frame rate of the associated image following the first image based on the display frame rate of the first image and the first frame rate change rate; and obtaining the second target display time based on the display frame rate of the associated image and the mapping relationship between the frame rate and the display time. It should be noted that if the frame rate difference between the display frame rate of the first image and the first frame rate is less than a preset frame rate difference threshold, the display frame rate of the associated image is the display frame rate of the first image, or the display frame rate of the associated image is the first frame rate. If the frame rate difference between the display frame rate of the associated image and the first frame rate is less than the preset frame rate difference threshold, the display frame rate of the image following the associated image is the display frame rate of the associated image, or the display frame rate of the image following the associated image is the first frame rate.

[0273] Next, we will introduce how to determine the first frame rate change rate.

[0274] In one possible implementation, the first frame rate change rate can be obtained based on the frame rate difference between the first frame rate and the current frame rate. For example, the first frame rate change rate can be obtained through a mapping relationship between the frame rate difference and the frame rate change rate. This mapping relationship indicates the mapping relationship between the range of frame rate differences and the corresponding frame rate change rates.

[0275] In the second possible implementation, the first frame rate can be obtained based on the game scene. Alternatively, the first frame rate can be obtained based on at least one of the following: the touch area that triggered the event, the camera motion parameters in the game application, and the screen change rate, along with the game scene. Therefore, the first frame rate change rate can be determined based on the game scene.

[0276] In the first example, when the first frame rate is determined based on the game scene, the first frame rate change rate corresponding to the game scene can be obtained based on the correspondence between the game scene and the frame rate change rate. The correspondence between the game scene and the frame rate change rate indicates the relationship between the game scene and the corresponding frame rate change rate.

[0277] In the second example, when the first frame rate is determined based on the game scene and the touch area, if the touch area triggering the operation is the second area, the difference between the first frame rate and the current frame rate is determined as the first frame rate change rate. If the touch area triggering the operation is the first area, the first frame rate change rate is determined based on the number of historical touch operations triggered in the first area.

[0278] Specifically, when the touch area triggering the operation is the second area, the second frame rate change rate is determined based on the frequency of historical touch operations within the second area when the touch operation ends. Alternatively, the second frame rate change rate can be obtained based on the frame rate difference between the first and second frame rates.

[0279] In the third example, where the first frame rate is determined based on the game scene and camera motion parameters, the rate of change of the first frame rate is determined based on the motion parameters. For example, the rate of change of the first frame rate is obtained through the correspondence between motion parameters and frame rate change rates.

[0280] In the third example, where the first frame rate is determined based on the game scene and the rate of change of the frame rate, the first frame rate change rate is determined based on the rate of change of the frame rate. For example, the first frame rate change rate is obtained through the correspondence between the rate of change of the frame rate and the rate of change of the frame rate.

[0281] For example, such as Figure 12 As shown, Figure 12 This is another schematic flowchart illustrating the frame rate adjustment method provided in an embodiment of this application. The frame rate adjustment method shown includes steps S121 to S124.

[0282] Step S121: Obtain information about the game scene.

[0283] The game scene information includes the touch area for touch operation, rendering data, camera motion parameters, images to be displayed, and rendered historical images.

[0284] Step S122: Information processing of the game scene to obtain the frame rate decision factor.

[0285] The information processing of the game scene includes at least one of touch operation frequency recognition, target object motion state recognition, and screen change rate recognition, as well as game scene recognition.

[0286] Among them, the frame rate decision factors include the frequency of touch operation and touch area, the motion state level of the target object, at least one of the following: screen change rate and game scene.

[0287] Step S123: Make a frame rate decision based on the frame rate decision factor to obtain the first frame rate and the first frame rate change rate.

[0288] In this embodiment, the first frame rate and the first frame rate change rate can be determined based on the frame rate decision factor, with reference to the aforementioned method for determining the first frame rate and the method for determining the first frame rate change rate. Further details of this embodiment are omitted here.

[0289] Step S124: Display the image based on the first frame rate and the first frame rate change rate.

[0290] In this embodiment, based on the first frame rate and the first frame rate change rate, and referring to step S240 above, the first image and the associated image following the first image can be displayed sequentially among multiple images. Further details of this embodiment will not be elaborated upon here.

[0291] based on Figure 12 The provided embodiments, in frame rate adjustment, determine the target frame rate and the target frame rate change rate through multiple frame rate decision factors, improving the reliability of the target frame rate. Image display is then performed using the target frame rate and the target frame rate change rate. This allows for dynamic adjustment of the frame rate in games, reducing power consumption when electronic devices run game applications. Furthermore, compared to related technologies that adjust the frame rate based on the similarity between consecutive frames, this embodiment determines the target frame rate based on multiple frame rate decision factors, unaffected by the similarity between adjacent frames in the game application, thus exhibiting high applicability.

[0292] The above primarily uses game applications as an example to describe the implementation of the frame rate adjustment method provided in this application. It is understood that when the application is a video playback application, an image display application, or a VR application, the implementation of the frame rate adjustment method for game applications can be referenced.

[0293] For example, in the case of a video playback application, by identifying the video playback scene, the corresponding frame rate range is obtained. The first frame rate is then determined from this range based on at least one of the following: user touch input in the view window, the image quality being played, and the rate of change of the image. The image quality being played indicates the image resolution, such as 480P, 960P, 1080P, or 4K.

[0294] For example, in the case of an application that is an image display type, by identifying the image display scene, the frame rate range corresponding to the image display scene is obtained, and the first frame rate is obtained from the frame rate range according to at least one of the user's touch operation based on the image view input, the motion state of the target object in the image, and the screen change rate.

[0295] For example, in the case of VR applications, by identifying VR scenes, the frame rate range corresponding to the VR scenes is obtained, and the first frame rate is obtained from the frame rate range according to at least one of the user's input operation, the camera motion parameters in the virtual environment, and the screen change rate.

[0296] The foregoing primarily describes the solutions provided by the embodiments of this application from a methodological perspective. To achieve the aforementioned functions, it includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, based on the method steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0297] It is understood that the above description of the frame rate adjustment method is merely illustrative of method embodiments and is not intended to limit the frame rate adjustment method. In other embodiments, multiple embodiments or parts thereof can be combined to implement the combined solution. Optionally, some operations in the process of each method embodiment may be arbitrarily combined, and / or the order of some operations may be arbitrarily changed. Furthermore, the execution order between the steps of each process is merely exemplary and does not constitute a limitation on the execution order between steps; other execution orders are also possible. It is not intended to indicate that the execution order is the only possible order in which these operations can be performed. Those skilled in the art will conceive of various ways to reorder the operations described in the embodiments of this application. In addition, it should be noted that the process details involved in a certain embodiment of this application are also applicable to other embodiments in a similar manner, or different embodiments may be combined.

[0298] Furthermore, some steps in the method embodiments can be equivalently replaced with other possible steps. Alternatively, some steps in the method embodiments may be optional and can be deleted in certain use cases. Or, other possible steps may be added to the method embodiments.

[0299] Furthermore, the various method embodiments can be implemented individually or in combination.

[0300] It is understood that, in order to achieve the above functions, the aforementioned mobile phones and other electronic devices include hardware and / or software modules corresponding to perform each function. Based on the algorithm steps of the various examples described in the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application in conjunction with the embodiments, but such implementation should not be considered beyond the scope of this application.

[0301] This embodiment can divide electronic devices such as mobile phones into functional modules according to the above method example. For example, each function can be divided into its own functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware. It should be noted that the module division in this embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0302] like Figure 13 As shown, Figure 13 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device shown may include one or more processors 1301, memory 1302, and communication interfaces 1303.

[0303] The memory 1302, communication interface 1303, and processor 1301 are coupled together. For example, the memory 1302, communication interface 1303, and processor 1301 can be coupled together via bus 1304.

[0304] The communication interface 1303 is used for data transmission with other devices. The memory 1302 stores computer program code. The computer program code includes computer instructions, which, when executed by the processor 1301, cause the electronic device to perform the page display method described in this embodiment.

[0305] The processor 1301 may be a processor or controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with this disclosure. The processor may also be a combination that implements computational functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.

[0306] The bus 1304 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus 1304 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 13 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0307] This application also provides a computer-readable storage medium that includes computer instructions. When the computer instructions are executed on an electronic device, the electronic device performs the relevant method steps described in the above method embodiments.

[0308] This application also provides a computer program product that, when run on a computer or electronic device, causes the computer or electronic device to execute the relevant method steps described in the above method embodiments.

[0309] The electronic devices, computer-readable storage media, or computer program products provided in this application are all used to perform the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods provided above, and will not be repeated here.

[0310] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0311] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another apparatus, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0312] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0313] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0314] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, in essence, or the contributing parts, or all or part of the technical solutions, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0315] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A frame rate adjustment method, characterized by, The method comprises: acquiring rendering instructions of a first image rendered in real time; the rendering instructions carry rendering data; determining a view scene corresponding to the first image according to the rendering data; acquiring a frame rate range matching the view scene; determining a first frame rate from the frame rate range according to a frame rate determination condition; in a case where the touch area of the touch operation is the first area, the first frame rate is related to the number of historical touch operations triggered in the first area. in a case where the touch area of the touch operation is the second area, the first frame rate is the maximum frame rate in the frame rate range; and the first image rendered in real time is displayed based on the first frame rate. The frame rate determination condition further comprises at least one of a motion parameter of a camera in an application and a picture change rate; the motion parameter is a change amount obtained with reference to the camera in the application; and the picture change rate is used to indicate the picture similarity between the first image and a historical image that has been rendered.

2. The method of claim 1, wherein, in a case where the touch area of the touch operation is the first area, the method further comprises:

3. The method of claim 1, wherein, in a case where the number of historical touch operations triggered in the first area is greater than a first threshold value, a target frame rate matching the number of historical touch operations is determined from the frame rate range as the first frame rate based on a corresponding relationship between the number and the frame rate. in a case where the touch area of the touch operation is the first area, the method further comprises:

4. The method according to claim 1 or 3, characterized in that, in a case where the number of historical touch operations triggered in the first area is not greater than a first threshold value, the first frame rate is determined from the frame rate range according to the motion parameter of the camera in the application and / or the picture change rate between the first image and a historical image that has been rendered. in a case where the touch area of the touch operation is the second area, the method further comprises:

5. The method according to claim 1 or 3, characterized in that, after the touch operation ends, a second frame rate is determined from the frame rate range based on at least one of the number of historical touch operations in the second area and the frequency of the historical touch operations; a third image is displayed based on the second frame rate; the third image is an image with a display time later than the display time of the first image. in a case where the frame rate determination condition comprises the motion parameter of the camera in the application, the first frame rate is related to the motion parameter of the camera in the application.

6. The method of claim 2, wherein, The determination of the first frame rate from the frame rate range according to the frame rate determination condition comprises:

7. The method of claim 6, wherein, in a case where the motion state level of a target object represented by the motion parameter is greater than or equal to a level threshold value, a target frame rate matching the motion parameter of the camera is determined from the frame rate range as the first frame rate according to a corresponding relationship between the motion parameter and the frame rate. The determination of the first frame rate from the frame rate range according to the frame rate determination condition comprises:

8. The method according to claim 6 or 7, characterized in that, ​ In a case where the motion state level of the target object characterized by the motion parameter is not greater than a level threshold, the first frame rate is determined from the frame rate range according to a picture change rate between the first image and a history image that has been rendered.

9. The method according to claim 6 or 7, characterized in that, The change amount obtained with reference to the camera in the application includes at least one of a movement amount and a rotation angle; the motion parameter includes the movement amount of the camera and / or the rotation angle of the camera. Before the first frame rate is determined from the frame rate range according to the frame rate determination condition, the method further includes: obtaining first camera position information, a first observation matrix and a first clipping matrix corresponding to the first image, and second camera position information and second near-clipping plane position information corresponding to a second image; the second image is a previous frame image of the first image; obtaining the movement amount of the camera according to the first camera position information and the second camera position information; obtaining first near-clipping plane position information corresponding to the first image according to the first observation matrix and the first clipping matrix; obtaining the rotation angle of the camera based on the first near-clipping plane position information and the second near-clipping plane position information.

10. The method of claim 2, wherein, In a case where the frame rate determination condition includes the picture change rate, the first frame rate is obtained based on a corresponding relationship between the picture change rate and the frame rate.

11. The method of claim 10, wherein, Before the first frame rate is determined from the frame rate range according to the frame rate determination condition, the method further includes: obtaining a first similarity between the first image and a second image, and a second similarity between a plurality of history images; the second image is a previous frame image of the first image; the history image is a history image that has been rendered; obtaining a picture change rate between the first image and the history image according to the first similarity and a plurality of the second similarities.

12. The method of any one of claims 1 to 3, wherein, The displaying of the first image rendered in real time based on the first frame rate includes: obtaining an image display instruction of the first image; executing the image display instruction according to a first display time indicated by the first frame rate, to display the first image rendered in real time.

13. The method of any one of claims 1 to 3, wherein, The determining of the view scene corresponding to the first image according to the rendering data includes: reading a scene feature in the rendering data; determining the view scene corresponding to the first image based on the scene feature.

14. A frame rate adjustment method applied to a game scene, characterized in that, The method includes: obtaining rendering instructions of a plurality of images in sequence; the plurality of images are images of a game application rendered in real time, and the rendering instructions carry rendering data of corresponding images; determining a game scene of the game application corresponding to a first image in the plurality of images according to the rendering data; the game scene is used to indicate a virtual environment corresponding to a display interface of the game application; obtaining a frame rate range matched with the game scene; determine a first frame rate from the frame rate range according to a frame rate determination condition; the frame rate determination condition comprises at least one of a touch area of a touch operation, a motion parameter of a camera in a game application, and a picture change rate; the motion parameter is a change amount obtained with reference to the camera in the game application; the picture change rate is used to indicate a picture similarity between the first image and a historical image that has been rendered; in a case where the frame rate determination condition comprises the touch area of the touch operation, the touch area comprises a first area and a second area; the first area comprises an operation control area; and the second area comprises a skill release area or a perspective area of a target object; in a case where the touch area of the touch operation is the first area, the first frame rate is related to a number of historical touch operations triggered in the first area; in a case where the touch area of the touch operation is the second area, the first frame rate is a maximum frame rate in the frame rate range; display the first image and an associated image after the first image in sequence based on the first frame rate matched with the game scene; the associated image and the first image correspond to the same game scene.

15. The method of claim 14, wherein, the frame rate determination condition further comprises at least one of the motion parameter of the camera in the game application and the picture change rate; the motion parameter is a change amount obtained with reference to the camera in the game application; and the picture change rate is used to indicate a picture similarity between the first image and a historical image that has been rendered.

16. The method of claim 14, wherein, in the case where the touch area of the touch operation is the first area, the method further comprises: in a case where the number of historical touch operations triggered in the first area is greater than a first threshold, determining a target frame rate matched with the number of historical touch operations from the frame rate range as the first frame rate based on a corresponding relationship between the number and the frame rate.

17. The method of claim 14 or 16, wherein, in the case where the touch area of the touch operation is the first area, the method further comprises: in a case where the number of historical touch operations triggered in the first area is not greater than a first threshold, determining the first frame rate from the frame rate range according to the motion parameter of the camera in the application and / or a picture change rate between the first image and a historical image that has been rendered.

18. The method of claim 14 or 16, wherein, in the case where the touch area of the touch operation is the second area, the method further comprises: after the touch operation ends, determining a second frame rate from the frame rate range based on at least one of a number of historical touch operations in the second area and a frequency of the historical touch operations; display a third image in the plurality of images based on the second frame rate; the second frame rate is less than the first frame rate, and the third image and the associated image are separated by a plurality of images.

19. An electronic device, comprising: comprise: a memory and a processor, the memory being used to store a computer program, and the processor being used to execute the computer program to perform the frame rate adjustment method according to any one of claims 1 to 13, or to perform the frame rate adjustment method according to any one of claims 14 to 18.

20. A computer-readable storage medium, characterized in that, A computer program product, comprising computer instructions stored thereon, which when executed on an electronic device, cause the electronic device to perform the frame rate adjustment method of any one of claims 1-13, or cause the electronic device to perform the frame rate adjustment method of any one of claims 14-18.

21. A computer program product, characterised in that, A computer program product, comprising computer instructions, which when executed on an electronic device, cause the electronic device to perform the frame rate adjustment method of any one of claims 1-13, or cause the electronic device to perform the frame rate adjustment method of any one of claims 14-18.

Citation Information

Patent Citations

  • Image processing method and device, terminal and storage medium

    CN109413480A

  • Frame rate adjusting method in game and related device

    CN116095221A