Electronic device, method, and storage medium for controlling rendering of software application

By generating synchronization signals based on the frame rates of software applications, the method optimizes resource and power consumption in electronic devices, improving the efficiency of image display.

WO2025220875A1PCT designated stage Publication Date: 2025-10-23SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2025/002833
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-09
Filing Date
2025-02-28
Publication Date
2025-10-23

AI Technical Summary

Technical Problem

Existing electronic devices face inefficiencies in managing and synchronizing the display of images from software applications with different frame rates, leading to unnecessary resource consumption and increased power usage.

Method used

Generating a synchronization signal according to the frame rate of each software application and providing it at specific timings to control the rendering process, thereby optimizing resource and power consumption.

Benefits of technology

Reduces unnecessary resource consumption and power usage by synchronizing image rendering with the frame rates of multiple software applications, enhancing efficiency in displaying images.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025002833_23102025_PF_FP_ABST
    Figure KR2025002833_23102025_PF_FP_ABST
Patent Text Reader

Abstract

This electronic device may comprise: a memory storing instructions; a display; and at least one processor. The instructions, when executed individually or collectively by the at least one processor, may cause the electronic device to: identify a first software application that provides an image according to a first frame rate and a second software application that provides an image according to a second frame rate; determine a cycle of a synchronization signal to be provided to the first software application and the second software application; display a first screen including a first image and a second image, by providing the synchronization signal generated according to the cycle to each of the first software application and the second software application; and display, through the display, a second screen including the second image and a third image following the first image, by providing, to the first software application, the synchronization signal generated according to the cycle, since the first screen was displayed.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic device, method, and storage medium for controlling rendering of a software application

[0001] The following descriptions relate to electronic devices, methods, and storage media for controlling the rendering of software applications.

[0002] An electronic device can display images from a software application. For example, a software application can render an image. The electronic device can display the image rendered by the software application through a display.

[0003] The above information may be provided as background art to aid in understanding the present disclosure. No claim or determination is made as to whether any of the above is applicable as prior art related to the present disclosure.

[0004] An electronic device may include a memory that stores instructions and includes one or more storage media. The electronic device may include a display. The electronic device may include at least one processor that includes a processing circuit. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to identify a first software application that provides images according to a first frame rate and a second software application that provides images according to a second frame rate lower than the first frame rate. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to determine a period of a synchronization signal to be provided to the first software application and the second software application according to the first frame rate and the second frame rate. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to display, through the display, a first screen including a first image obtained from the first software application and a second image obtained from the second software application by providing the synchronization signal generated according to the period to each of the first software application and the second software application.The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to display, through the display, a second screen including a third image following the first image and the second image by providing the first software application with the synchronization signal generated according to the period before providing the synchronization signal generated according to the period to the second software application since displaying the first screen.

[0005] A method performed by an electronic device may include identifying a first software application that provides images according to a first frame rate and a second software application that provides images according to a second frame rate lower than the first frame rate. The method may include determining a period of a synchronization signal to be provided to the first software application and the second software application according to the first frame rate and the second frame rate. The method may include displaying a first screen including a first image acquired from the first software application and a second image acquired from the second software application by providing the synchronization signal to each of the first software application and the second software application. The method may include displaying a second screen including a third image following the first image and the second image by providing the synchronization signal generated according to the period to the first software application before providing the synchronization signal generated according to the period since displaying the first screen to the second software application.

[0006] A non-transitory computer-readable storage medium may store one or more programs comprising instructions that, when individually or collectively executed by at least one processor of an electronic device including a display, cause a first software application to provide images according to a first frame rate and a second software application to provide images according to a second frame rate lower than the first frame rate. The non-transitory computer-readable storage medium may store one or more programs comprising instructions that, when individually or collectively executed by at least one processor, cause a period of a synchronization signal to be provided to the first software application and the second software application according to the first frame rate and the second frame rate. The non-transitory computer-readable storage medium may store one or more programs including instructions that, when executed individually or collectively by at least one processor, cause a first screen including a first image obtained from the first software application and a second image obtained from the second software application to be displayed through the display by providing the synchronization signal to each of the first software application and the second software application.The non-transitory computer-readable storage medium may store one or more programs including instructions that, when executed individually or collectively by at least one processor, cause a second screen, including a third image following the first image and the second image, to be displayed through the display by providing the first software application with the synchronization signal generated according to the period since displaying the first screen, before providing the synchronization signal generated according to the period to the second software application.

[0007] FIG. 1 is a block diagram of an electronic device within a network environment according to various embodiments.

[0008] FIG. 2 is a block diagram of a display module according to various embodiments.

[0009] FIGS. 3A to 3C illustrate examples of a method for displaying a screen including images of a plurality of software applications using a synchronization signal provided according to the frame rate of the software applications.

[0010] Figure 4 illustrates a simplified block diagram of an exemplary electronic device.

[0011] Figure 5a illustrates an example of a method for synthesizing and displaying a rendered image in a software application according to a synchronization signal.

[0012] Figures 5b to 5d illustrate examples of how to display rendered images in multiple software applications.

[0013] FIG. 6 illustrates an example of a signal flow diagram for a method of displaying a screen including images of multiple software applications using a synchronization signal provided according to the frame rate of the software applications.

[0014] FIG. 7 illustrates an example of an operational flow for a method of displaying a screen including images of multiple software applications using a synchronization signal provided according to the frame rate of the software applications.

[0015] Figure 8a illustrates an example of an operational flow for a method of determining a frame rate of a software application.

[0016] Figure 8b illustrates an example of a method for determining the frame rate of a software application.

[0017] FIG. 9a illustrates an example of an operational flow for a method of generating a list including candidate periods according to the injection rates supported by the display.

[0018] Figure 9b illustrates an example of a flow of operations for determining a compatibility value between a candidate period in a list and a frame rate of a software application.

[0019] Figure 9c illustrates an example of a method of using a candidate period determined based on the length of the period among candidate periods as the period of a synchronization signal.

[0020] Figure 10a illustrates an example of an operational flow for how the framework performs synthesis depending on whether a rendered image is acquired.

[0021] Figure 10b shows an example of the generation cycle of a synchronization signal.

[0022] Figure 10c illustrates an example of the synthesis of a framework performed according to the generation of a synchronization signal.

[0023] FIG. 11a illustrates an example of an operational flow for a method of providing a synchronization signal to a software application based on a comparison between the number of synchronization signal generation times and reference numbers.

[0024] Figure 11b illustrates an example of a method for providing a synchronization signal to a software application according to the frame rate of the software application.

[0025] Figure 12a illustrates an example of an exemplary rollable electronic device.

[0026] FIGS. 12b and 12c illustrate examples of a method for displaying a screen including images of a plurality of software applications according to the frame rate of the software applications on a display of a rollable electronic device.

[0027] Figures 13a and 13b illustrate examples of exemplary foldable electronic devices.

[0028] FIGS. 13c and 13d illustrate examples of a method for displaying a screen including images of a plurality of software applications according to the frame rates of the software applications on a display of a foldable electronic device.

[0029] FIG. 14A illustrates an example of an exemplary multi-foldable electronic device.

[0030] FIGS. 14b and 14c illustrate examples of a method for displaying a screen including images of multiple software applications according to the frame rates of the software applications on a display of a multi-foldable electronic device.

[0031] FIG. 15 illustrates an example of an operational flow for a method in which an electronic device displays a screen including images of multiple software applications using a synchronization signal provided according to the frame rate of the software applications.

[0032] The terms used in this disclosure are used only to describe specific embodiments and may not be intended to limit the scope of other embodiments. The singular expression may include plural expressions unless the context clearly indicates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by those of ordinary skill in the art described in this disclosure. Terms defined in general dictionaries among the terms used in this disclosure may be interpreted as having the same or similar meaning in the context of the relevant technology, and shall not be interpreted in an idealized or overly formal sense unless explicitly defined in this disclosure. In some cases, even if a term is defined in this disclosure, it cannot be interpreted to exclude embodiments of the present disclosure.

[0033] The various embodiments of the present disclosure described below illustrate a hardware-based approach as an example. However, since the various embodiments of the present disclosure include techniques utilizing both hardware and software, the various embodiments of the present disclosure do not exclude a software-based approach.

[0034] In addition, in the present disclosure, expressions such as "more than" or "less than" may be used to determine whether a specific condition is satisfied or fulfilled. However, this is merely a description for expressing an example and does not exclude descriptions such as "more than" or "less than." Conditions described as "more than" may be replaced with "more than," conditions described as "less than," and conditions described as "more than and less than" may be replaced with "more than and less than." In addition, hereinafter, "A" to "B" mean at least one of the elements from A (including A) to B (including B).

[0035] FIG. 1 is a block diagram of an electronic device within a network environment according to various embodiments.

[0036] Referring to FIG. 1, in a network environment (100), an electronic device (101) may communicate with an electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of an electronic device (104) or a server (108) via a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).

[0037] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or calculations. According to one embodiment, as at least a part of the data processing or calculations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or a secondary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor)) that can operate independently or together therewith. For example, if the electronic device (101) includes a main processor (121) and a secondary processor (123), the secondary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a specified function. The secondary processor (123) may be implemented separately from the main processor (121) or as a part thereof.

[0038] The auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.

[0039] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).

[0040] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).

[0041] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).

[0042] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.

[0043] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.

[0044] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).

[0045] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

[0046] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

[0047] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

[0048] A haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. In one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

[0049] The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.

[0050] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented, for example, as at least a part of a power management integrated circuit (PMIC).

[0051] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0052] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).

[0053] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.

[0054] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas by, for example, the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device through the selected at least one antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).

[0055] According to various embodiments, the antenna module (197) may form a mmWave antenna module. According to one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.

[0056] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).

[0057] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

[0058] FIG. 2 is a block diagram of a display module according to various embodiments.

[0059] Referring to FIG. 2, the display module (160) may include a display (210) and a display driver IC (DDI) (230) for controlling the display (210). The DDI (230) may include an interface module (231), a memory (233) (e.g., a buffer memory), an image processing module (235), or a mapping module (237). The DDI (230) may receive, for example, image information including image data or an image control signal corresponding to a command for controlling the image data, from another component of the electronic device (101) through the interface module (231). For example, according to one embodiment, image information may be received from a processor (120) (e.g., a main processor (121) (e.g., an application processor) or an auxiliary processor (123) (e.g., a graphics processing unit) that operates independently of the function of the main processor (121). The DDI (230) may communicate with a touch circuit (250) or a sensor module (176) through the interface module (231). In addition, the DDI (230) may store at least a part of the received image information in the memory (233), for example, in units of frames. The image processing module (235) may, for example, perform preprocessing or postprocessing (e.g., resolution, brightness, or size adjustment) on at least a part of the image data based at least on the characteristics of the image data or the characteristics of the display (210). The mapping module (237) may generate a voltage value or a current value corresponding to the image data that has been preprocessed or postprocessed through the image processing module (235). According to one embodiment, the voltage The generation of the values ​​or current values ​​may be performed based at least in part on properties of the pixels of the display (210), for example, the arrangement of the pixels (RGB stripe or pentile structure), or the size of each of the sub-pixels.At least some pixels of the display (210) may be driven based at least in part on, for example, the voltage value or current value, so that visual information (e.g., text, an image, or an icon) corresponding to the image data may be displayed through the display (210).

[0060] According to one embodiment, the display module (160) may further include a touch circuit (250). The touch circuit (250) may include a touch sensor (251) and a touch sensor IC (253) for controlling the same. The touch sensor IC (253) may control the touch sensor (251) to detect, for example, a touch input or a hovering input for a specific location of the display (210). For example, the touch sensor IC (253) may detect a touch input or a hovering input by measuring a change in a signal (e.g., voltage, light quantity, resistance, or charge quantity) for a specific location of the display (210). The touch sensor IC (253) may provide information (e.g., location, area, pressure, or time) regarding the detected touch input or hovering input to the processor (120). According to one embodiment, at least a portion of the touch circuit (250) (e.g., touch sensor IC (253)) may be included as part of the display driver IC (230), or as part of the display (210), or as part of another component (e.g., auxiliary processor (123)) disposed external to the display module (160).

[0061] According to one embodiment, the display module (160) may further include at least one sensor (e.g., a fingerprint sensor, an iris sensor, a pressure sensor, or an illuminance sensor) of the sensor module (176), or a control circuit therefor. In this case, the at least one sensor or the control circuit therefor may be embedded in a part of the display module (160) (e.g., the display (210) or the DDI (230)) or a part of the touch circuit (250). For example, if the sensor module (176) embedded in the display module (160) includes a biometric sensor (e.g., a fingerprint sensor), the biometric sensor may obtain biometric information (e.g., a fingerprint image) associated with a touch input through a part of the display (210). As another example, if the sensor module (176) embedded in the display module (160) includes a pressure sensor, the pressure sensor may obtain pressure information associated with a touch input through a part or the entire area of ​​the display (210). According to one embodiment, the touch sensor (251) or sensor module (176) may be positioned between pixels of a pixel layer of the display (210), or above or below the pixel layer.

[0062] FIGS. 3A to 3C illustrate examples of a method for displaying a screen including images of a plurality of software applications using a synchronization signal provided according to the frame rate of the software applications.

[0063] FIG. 3A illustrates an example (300) of an electronic device (101) displaying a screen including images of a plurality of software applications through a display (210) and an example (310) of a refresh rate of the display (210) and a frame rate of the plurality of software applications.

[0064] Referring to Example (300), the electronic device (101) may display a screen including a first image (301) and a second image (302) through the display (210). For example, the first image (301) may be an image of a first software application among the plurality of software applications. For example, the first software application may be a game application. However, the present disclosure is not limited thereto. For example, the second image (302) may be an image of a second software application among the plurality of software applications. For example, the second software application may be a video application. However, the present disclosure is not limited thereto. In Example (300), for convenience of explanation, two software applications are illustrated, but the present disclosure is not limited thereto. For example, the electronic device (101) may also display a screen including images of three or more software applications. Additionally, although the example (300) of FIG. 3a illustrates an example in which a screen is displayed divided into two areas having substantially the same size, the present disclosure is not limited thereto. For example, the sizes of images of multiple software applications displayed on the screen (or the sizes of the areas of the screen) may be different from each other.

[0065] For example, the electronic device (101) can display (or update) a screen according to the refresh rate of the display (210). For example, the refresh rate can indicate the number of screens that the display (210) can display per unit time. For example, the refresh rate of the display (210) can indicate the number of screens that the display (210) can display per second. For example, if the refresh rate of the display (210) is 60 Hz, the electronic device (101) can display (or update) 60 screens per second. In one example, the refresh rate of the display (210) can be set variably. A refresh rate that is set variably can be referred to as a variable refresh rate.

[0066] Referring to Example (310), a first graph (311) representing a first frame rate of the first software application, a second graph (312) representing a second frame rate of the second software application, and a third graph (313) representing a refresh rate of the display (210) are illustrated. In Example (310), for convenience of explanation, a case is illustrated where the first frame rate is 30 frames per second (fps), the second frame rate is 24 fps, and the refresh rate is 120 Hz, but the present disclosure is not limited thereto.

[0067] For example, a frame rate may indicate the speed at which a software application renders (or updates) an image. For example, a software application may render (or update, change) an image provided by the software application based on the frame rate. If the frame rate is 30 fps, the software application may perform 30 renderings per second. For example, the frame rate may be referred to as a rendering rate. For example, the period of rendering based on the frame rate may be referred to as a rendering period. For example, the inverse of the frame rate may be referred to as the rendering period. In the above example, the frame rate is defined in the software application, but the frame rate may be defined for a framework associated with (or connected to) software applications. For example, the frame rate in the framework may indicate the speed at which the framework performs composition on an image obtained from the software application. For example, if the frame rate is 30 fps, the framework may perform composition 30 times per second. For example, the unit of frame rate could be defined as Hz, the same as the refresh rate, instead of fps.

[0068] Referring to the third graph (313), the electronic device (101) can display a screen at timings (313-1, 313-2) according to the injection rate. For example, the electronic device (101) can display (or update, refresh) a screen at timings (313-1, 313-2) defined according to the injection rate. For example, the time interval between timings (313-1, 313-2) defined according to the injection rate can be approximately 8.3 (1 / 120) ms (milliseconds).

[0069] Referring to the first graph (311) and the second graph (312), the electronic device (101) can render (or update, change) an image of a software application at timings according to a frame rate. For example, the electronic device (101) can render an image of a first software application at timings (311-1, 311-2) according to a first frame rate. For example, the electronic device (101) can render an image of a second software application at timings (312-1, 312-2) according to a second frame rate. For example, the time interval between timings (311-1, 311-2) according to the first frame rate can be about 33.3 (1 / 30) ms. For example, the time interval between timings (312-1, 312-2) according to the second frame rate can be about 41.6 (1 / 24) ms.

[0070] According to one embodiment, the electronic device (101) may use a synchronization signal to cause at least one of rendering of a software application, compositing of a framework, or displaying of a display (210). For example, the synchronization signal may be referred to as a software synchronization signal or software synchronization (SW Vsync). Alternatively, the refresh rate may be referred to as a hardware synchronization signal or hardware synchronization (HW Vsync).

[0071] For example, the electronic device (101) may cause rendering of a software application using the synchronization signal. At this time, the synchronization signal may be generated according to a cycle corresponding to the refresh rate of the display (210). For example, the cycle at which the synchronization signal is generated may be calculated as the reciprocal of the refresh rate of the display (210). However, the present disclosure is not limited thereto. In example (310), the electronic device (101) may generate the synchronization signal according to a cycle corresponding to the refresh rate of the display (210) having 120 Hz. An example in which the electronic device (101) requests rendering to a plurality of software applications (e.g., a first software application and a second software application) using the synchronization signal generated according to the cycle may be referred to FIG. 3B.

[0072] FIG. 3b illustrates an example (320) of a method in which an electronic device (101) performs rendering of software applications using a synchronization signal generated according to a cycle (e.g., 8.3 ms) corresponding to a refresh rate (e.g., 120 Hz). The example (320) of FIG. 3b illustrates using symbols (A1, A2, A3, A4, B1, B2, B3, B4) to represent images, but each symbol may represent a different image.

[0073] Referring to example (320), the electronic device (101) can generate a synchronization signal according to a cycle. For example, the synchronization signal can be generated at each of the timings (323-1, 323-2, 323-3, 323-4, 323-5) and each of the timings of the time interval (331). For example, the electronic device (101) can provide the generated synchronization signal to software applications. For example, the electronic device (101) can provide the synchronization signal generated according to the cycle to each of the first software application and the second software application. For example, the electronic device (101) can provide the synchronization signal to each of the first software application and the second software application through a framework associated with (or connected to) the first software application and the second software application.

[0074] For example, a first software application may render an image according to a first frame rate (e.g., 30 fps). For example, the first software application may generate (or render) an image (A1) at timing (323-1). For example, the electronic device (101) may obtain the image (A1) from the first software application. For example, the first software application may generate (or render) an image (A2) at timing (323-2) after a time interval (about 33.3 ms) according to the first frame rate from timing (323-1). For example, the image (A2) may be an image modified from the image (A1). In example (320), a case in which the image (A2) is modified from the image (A1) is illustrated, but the present disclosure is not limited thereto. For example, if no modification of the image is required, the image (A2) may be substantially identical to the image (A1). Additionally, the first software application can generate (or render) an image (A3) at a timing (323-4) that is a time interval (approximately 33.3 ms) later than the timing (323-2) according to the first frame rate. For example, the image (A3) may be an image modified from the image (A2).

[0075] For example, the second software application may render an image according to a second frame rate (e.g., 24 fps). For example, the second software application may generate (or render) an image (B1) at timing (323-1). For example, the electronic device (101) may obtain the image (B1) from the second software application. For example, the second software application may generate (or render) an image (B2) at timing (323-3) after a time interval (about 41.6 ms) according to the second frame rate from timing (323-1). For example, the image (B2) may be an image modified from the image (B1). In example (320), a case in which the image (B2) is modified from the image (B1) is illustrated, but the present disclosure is not limited thereto. For example, if no modification of the image is required, the image (B2) may be substantially identical to the image (B1). Additionally, the second software application may generate (or render) an image (B3) at timing (323-5) after a time interval (approximately 41.6 ms) according to the second frame rate from timing (323-3). For example, the image (B3) may be an image modified from the image (B2).

[0076] For example, the electronic device (101) can provide a synchronization signal to software applications at each of the timings of the time interval (331) between the timing (323-1) and the timing (323-2). For example, a first software application can obtain the synchronization signal at each of three timings within the time interval (331). For example, a second software application can obtain the synchronization signal at each of three timings within the time interval (331). Each of the software applications can perform rendering at each of the timings within the time interval (331). For example, the first software application can generate (or render) an image (A1) at each of three timings within the time interval (331). For example, the second software application can generate (or render) an image (B1) at each of three timings within the time interval (331). In other words, the electronic device (101) can cause rendering of the software application by providing the software application with a synchronization signal generated according to the cycle.

[0077] For example, the electronic device (101) may display a screen including an image through a display (e.g., the display (210) of FIG. 3A) based on a refresh rate corresponding to a period in which a synchronization signal is generated. At this time, the screen displayed on the display (210) may be updated according to the refresh rate.

[0078] In example (320) of FIG. 3B, the electronic device (101) may perform rendering in each software application each time a synchronization signal is generated according to a cycle. In other words, the electronic device (101) may perform further unnecessary rendering. In each of the three timings within the time interval (331) of example (320), the first software application may generate an image (A1) substantially identical to the image (A1) generated at timing (323-1), and the second software application may generate an image (B1) substantially identical to the image (B1) generated at timing (323-1). Accordingly, the electronic device (101) may use unnecessary resources, and power consumption may increase. For example, the resources may include resources of a CPU, a GPU, or a memory.

[0079] In contrast, the electronic device, method, and storage medium according to the present disclosure can generate a synchronization signal according to a cycle and provide the generated synchronization signal according to the frame rate of each software application. The electronic device, method, and storage medium according to the present disclosure can perform rendering at a point in time (or timing) corresponding to the cycle (or rendering cycle) for rendering of each software application by using the synchronization signal provided according to the frame rate of each software application. Accordingly, the electronic device, method, and storage medium according to the present disclosure can reduce unnecessary resource consumption and power consumption. A specific example related to this is described in FIG. 3C.

[0080] FIG. 3c illustrates an example (340) of a method in which an electronic device (101) performs rendering of software applications using a synchronization signal generated according to a cycle (e.g., 8.3 ms) corresponding to a refresh rate (e.g., 120 Hz). The example (340) of FIG. 3c illustrates using symbols (A1, A2, A3, A4, B1, B2, B3, B4) to represent images, but each symbol may represent a different image.

[0081] Referring to example (340), the electronic device (101) can generate a synchronization signal according to a cycle. For example, the synchronization signal can be generated at each of the timings (343-1, 343-2, 343-3, 343-4, 343-5) and each of the timings of the time interval (351). For example, the electronic device (101) can provide the generated synchronization signal to software applications. For example, the electronic device (101) can provide the synchronization signal generated according to the cycle to each of the first software application and the second software application. For example, the electronic device (101) can provide the synchronization signal to each of the first software application and the second software application through a framework related to (or connected to) the first software application and the second software application.

[0082] For example, a first software application may render an image according to a first frame rate (e.g., 30 fps). For example, the first software application may generate (or render) an image (A1) at timing (343-1). For example, the electronic device (101) may obtain the image (A1) from the first software application. For example, the first software application may generate (or render) an image (A2) at timing (343-2) after a time interval (about 33.3 ms) according to the first frame rate from timing (343-1). For example, the image (A2) may be an image modified from the image (A1). In example (340), a case in which the image (A2) is modified from the image (A1) is illustrated, but the present disclosure is not limited thereto. For example, if no modification of the image is required, the image (A2) may be substantially identical to the image (A1). Additionally, the first software application can generate (or render) an image (A3) at a timing (343-4) that is a time interval (approximately 33.3 ms) later than the timing (343-2) according to the first frame rate. For example, the image (A3) may be an image modified from the image (A2).

[0083] For example, the second software application may render an image according to a second frame rate (e.g., 24 fps). For example, the second software application may generate (or render) an image (B1) at timing (343-1). For example, the electronic device (101) may obtain the image (B1) from the second software application. For example, the second software application may generate (or render) an image (B2) at timing (343-3) after a time interval (about 41.6 ms) according to the second frame rate from timing (343-1). For example, the image (B2) may be an image modified from the image (B1). In example (340), a case in which the image (B2) is modified from the image (B1) is illustrated, but the present disclosure is not limited thereto. For example, if no modification of the image is required, the image (B2) may be substantially identical to the image (B1). Additionally, the second software application can generate (or render) an image (B3) at timing (343-5) after a time interval (approximately 41.6 ms) according to the second frame rate from timing (343-3). For example, the image (B3) may be an image modified from the image (B2).

[0084] According to one embodiment, the electronic device (101) may not provide a synchronization signal to software applications at each of the timings of the time interval (351) between timing (343-1) and timing (343-2), unlike the example (320) of FIG. 3B. For example, the electronic device (101) may generate the synchronization signal at each of the three timings of the time interval (351) and may not provide (or refrain from, delay, or skip) the generated synchronization signal to the software applications. For example, each of the first software application and the second software application may not perform rendering at each of the three timings of the time interval (351).

[0085] For example, the electronic device (101) may display a screen including an image through a display (e.g., the display (210) of FIG. 3A) based on a refresh rate corresponding to a period at which a synchronization signal is generated. At this time, the screen displayed on the display (210) may be updated according to the refresh rate. For example, the electronic device (101) may display the screen differently according to a screen display mode. For example, the screen display mode may include a video mode and a command mode. For example, in the case of the video mode, the electronic device (101) may display an updated screen by providing an image stored in an image memory (e.g., a DRAM) connected to a processor (e.g., the processor (120) of FIG. 1) of the electronic device (101) based on the refresh rate to the display (210). For example, the updated screen may or may not have images within the screen changed. For example, in command mode, the electronic device (101) may display an updated screen by scanning images stored in an image memory (e.g., memory (233) (or GRAM) of FIG. 2) in the display (210) based on a refresh rate. For example, when a portion of the screen (e.g., one image among a plurality of images) is updated, the electronic device (101) may display the updated screen by providing a portion of the images to the display (210) from the DRAM in video mode or by scanning a portion of the images in the GRAM in command mode. At this time, the remainder of the screen (e.g., the remaining images among the plurality of images) may not be updated. Accordingly, the electronic device (101) may not provide the remainder to the display (210) from the DRAM in video mode or may not scan the remainder in the GRAM in command mode.

[0086] Referring to FIG. 3C, unlike FIG. 3B, the electronic device (101) may not perform rendering in the software application every time a synchronization signal is generated according to the cycle. The electronic device (101) of example (340) may perform image rendering by providing a synchronization signal to the software application according to a frame rate for each software application corresponding to some of the synchronization signals generated according to the cycle. In this case, even if the image rendering in the software application is performed at some of the timings according to the cycle at which the synchronization signal is generated, display through the display (210) may be performed at each of the timings. Accordingly, the electronic device (101) may reduce unnecessary resource usage and power consumption.

[0087] According to one embodiment, the electronic device (101) can determine the period of a synchronization signal to be used for all of the plurality of software applications. For example, the electronic device (101) can obtain the frame rate of each of the plurality of software applications. Details related thereto are described in FIGS. 8A and 8B below. For example, the period of the synchronization signal can be determined based on the frame rate of each of the plurality of software applications. Details related thereto are described in FIGS. 9A to 9C below.

[0088] According to one embodiment, the electronic device (101) may perform synthesis based on a synchronization signal generated according to the cycle when images rendered by at least some of the plurality of software applications are acquired. For example, the synthesis may be performed on a framework associated with (or connected to) the plurality of software applications. For example, specific details related to the synthesis are described in FIGS. 10A to 10C.

[0089] According to one embodiment, the electronic device (101) may provide a synchronization signal generated according to the above cycle to a software application according to a frame rate for each software application. For example, specific details regarding the synchronization signal provided according to the frame rate are described below in FIGS. 11A and 11B.

[0090] In the examples of FIGS. 3A and 3C, examples are shown that are performed in an electronic device (101) including a bar-type display (210), but the present disclosure is not limited thereto. For example, the electronic device (101) may also include a display (210) that is a flexible display. In FIGS. 12A to 12C, the electronic device (101) that is a rollable electronic device can display images of a plurality of software applications in a plurality of areas of the flexible display. In FIGS. 13A to 13D, the electronic device (101) that is a foldable electronic device can display images of a plurality of software applications in a plurality of areas of the flexible display. In FIGS. 14A to 14C, the electronic device (101) that is a multi-foldable electronic device can display images of a plurality of software applications in a plurality of areas of the flexible display.

[0091] Figure 4 illustrates a simplified block diagram of an exemplary electronic device.

[0092] The electronic device (101) of FIG. 4 may include at least a portion of the electronic device (101) of FIG. 1. Referring to FIG. 4, according to one embodiment, the electronic device (101) may include at least one of a processor (410), a display (420), or a memory (430). The processor (410), the display (420), and the memory (430) may be electronically and / or operably coupled with each other by an electronic component, such as a communication bus.

[0093] According to one embodiment, the electronic device (101) may include at least one of an electronic device (491-1) including a bar type display, an electronic device (491-2) including a flexible display having a folding state and an unfolding state (e.g., the electronic device (101) of FIGS. 13A to 13D), an electronic device (491-3) including a flexible display having a plurality of folding states and an unfolding state based on a plurality of folding axes (or a multi-foldable electronic device) (e.g., the electronic device (101) of FIGS. 14A to 14C), an electronic device (491-4) including a flexible display in a slide-in and a slide-out state (e.g., the electronic device (101) of FIGS. 12A to 12C), a tablet (492), or a wearable device (493) (e.g., a watch).

[0094] In one embodiment, the hardware of the electronic device (101) being operatively coupled may mean that a direct connection or an indirect connection is established between the hardwares, either wired or wireless, such that the second hardware is controlled by the first hardware among the hardwares. Although illustrated based on different blocks, the embodiment is not limited thereto, and some of the hardware of FIG. 4 (e.g., at least a portion of the processor (410), the memory (430), and the communication circuit (not shown)) may be included in a single integrated circuit such as a system on a chip (SoC). The type and / or number of hardware included in the electronic device (101) is not limited to that illustrated in FIG. 4. For example, the electronic device (101) may include only some of the hardware components illustrated in FIG. 4.

[0095] According to one embodiment, the processor (410) of the electronic device (101) may include hardware for processing data based on one or more instructions. The hardware for processing data may include, for example, an arithmetic and logic unit (ALU), a floating point unit (FPU), a field programmable gate array (FPGA), a central processing unit (CPU), and / or an application processor (AP). The number of processors (410) may be one or more. For example, the processor (410) may have a multi-core processor structure such as a dual core, a quad core, or a hexa core.

[0096] Additionally, the processor (410) may include at least one processor. For example, the at least one processor may be an example of the processor (120) of FIG. 1. For example, the processor (410) may include various processing circuits and / or multiple processors. For example, the term "processor" as used herein, including in the claims, may include various processing circuits including at least one processor, and one or more of the at least one processors may be configured to perform the various functions described below individually or collectively in a distributed manner. As used herein, when "processor," "at least one processor," and "one or more processors" are described as being configured to perform various functions, these terms encompass, for example, and without limitation, situations where one processor performs some of the recited functions and other processor(s) perform other parts of the recited functions, as well as situations where one processor can perform all of the recited functions. Additionally, the at least one processor may comprise a combination of processors that perform the various functions enumerated / disclosed, for example, in a distributed manner. At least one processor may execute program instructions to achieve or perform the various functions.

[0097] According to one embodiment, the display (420) of the electronic device (101) can output visualized information to the user. For example, the display (420) can be controlled by a controller, such as a graphic processing unit (GPU), to output visualized information to the user. The display (420) can include a liquid crystal display (LCD), a plasma display panel (PDP), and / or one or more light emitting diodes (LEDs). The LEDs can include organic LEDs (OLEDs). The display (420) can include electronic paper. According to one embodiment, the display (420) can include a flexible display. For example, the flexible display can have an at least partially curved shape and / or a deformable shape. For example, the display (420) can include a graphic random access memory (GRAM). For example, the GRAM may store an image to be scanned in some screen display mode (e.g., command mode). For example, the display (420) may represent an example of the display module (160) of FIG. 1.

[0098] According to one embodiment, the display (420) of the electronic device (101) may have a refresh rate. For example, the refresh rate of the display (420) may indicate the number of screens that the display (420) can display per second. For example, if the refresh rate of the display (420) is 60 Hz, the electronic device (101) may display (or update) 60 screens per second. In one example, the refresh rate of the display (420) may be variably set. A variably set refresh rate may be referred to as a variable refresh rate. In one embodiment, the refresh rate may be used for hardware synchronization with a synchronization signal (or software synchronization signal) determined in a framework (e.g., framework layer (452)) of the electronic device (101). For example, the refresh rate (or hardware synchronization signal) may serve as a reference for synchronizing the synchronization of the synchronization signal when the synchronization of the synchronization signal is misaligned.

[0099] According to one embodiment, the memory (430) of the electronic device (101) may include hardware components for storing data and / or instructions input and / or output to the processor (410). The memory (430) may include, for example, volatile memory such as random-access memory (RAM) and / or non-volatile memory such as read-only memory (ROM). The volatile memory may include, for example, at least one of dynamic RAM (DRAM), static RAM (SRAM), cache RAM, and pseudo SRAM (PSRAM). The non-volatile memory may include, for example, at least one of programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), flash memory, hard disk, compact disc, solid state drive (SSD), and embedded multimedia card (eMMC).

[0100] According to one embodiment, one or more instructions (or commands) representing operations and / or actions to be performed on data by the processor (410) may be stored within the memory (430) of the electronic device (101). A set of one or more instructions may be referred to as firmware, an operating system, a process, a routine, a sub-routine, and / or an application. For example, the electronic device (101) and / or the processor (410) may perform at least one of the operations of FIG. 6, FIG. 7, FIG. 8A, FIG. 9A, FIG. 9B, FIG. 10A, FIG. 11A, or FIG. 15 when a set of a plurality of instructions distributed in the form of an operating system, firmware, driver, and / or application is executed. Hereinafter, the fact that an application is installed in an electronic device (101) may mean that one or more instructions provided in the form of an application are stored in the memory (430) of the electronic device (101), and that the one or more applications are stored in a format executable by the processor (410) of the electronic device (101) (e.g., a file having an extension specified by the operating system of the electronic device (101)).

[0101] Referring to FIG. 4, programs installed in the electronic device (101) may be classified into one of different layers, including an application layer (451), a framework layer (452), and / or a hardware abstraction layer (HAL) (453), based on a target. For example, programs (e.g., drivers) designed to target the hardware (e.g., display (420)) of the electronic device (101) may be classified within the hardware abstraction layer (453). For example, programs (e.g., an image composition module (e.g., SurfaceFlinger)) designed to target at least one of the hardware abstraction layer (453) and / or the application layer (451) may be classified within the framework layer (452). Programs classified into the framework layer (452) may provide an executable API (application programming interface) based on other programs.

[0102] For example, within the application layer (451), programs designed to target users controlling electronic devices (101) may be classified. Examples of programs classified within the application layer (451) include video applications and game applications, but the embodiments are not limited thereto. For example, programs (e.g., software applications) classified within the application layer (451) may call APIs to cause the execution of functions supported by programs classified within the framework layer (452).

[0103] For example, the electronic device (101) can perform image rendering in each software application of the application layer (451). For example, the electronic device (101) can cause rendering of the software application by providing a synchronization signal to the software application of the application layer (451). For example, the electronic device (101) can perform synthesis of images rendered in a framework (e.g., the image synthesis module) of the framework layer (452). For example, the electronic device (101) can synthesize rendered images obtained from at least one software application of the application layer (451) on the framework. For example, the framework can be caused as a synchronization signal is generated. For example, the electronic device (101) can display a screen through the display (420) according to a refresh rate corresponding to a period at which the synchronization signal is generated through the hardware abstraction layer (453). For example, the screen can include images synthesized on the framework.

[0104] Figure 5a illustrates an example of a method for synthesizing and displaying a rendered image in a software application according to a synchronization signal.

[0105] FIG. 5A illustrates an example (500) of a method in which an electronic device (101) performs rendering in a software application (510), compositing in a framework (520), and displaying in a display (530) according to a synchronization signal. For example, the software application (510) may be included in the application layer (451) of FIG. 4 . For example, the framework (520) may be included in the framework layer (452) of FIG. 4 . For example, the display (530) may be an example of the display (420) of FIG. 4 .

[0106] The time duration of example (500) may represent a period during which a synchronization signal is generated. For example, the length of the time duration index (e.g., 0, 1, 2, 3, 4, 5) may correspond to the length of the period.

[0107] For example, a software application (510) of an electronic device (101) can render an image. In the example (500) of FIG. 5A, an example of rendering a single image is described, but the present disclosure is not limited thereto. For example, multiple software applications can render multiple images. For example, in time interval (0), the software application (510) can render an image (A1). For example, the rendering of the image (A1) can be triggered according to a synchronization signal provided at the timing when time interval (0) starts. For example, in time interval (1), the software application (510) can render an image (A2). For example, in time interval (2), the software application (510) can render an image (A3). For example, in time interval (3), the software application (510) can render an image (A4). For example, in time interval (4), the software application (510) can render an image (A5). For example, in time interval (5), the software application (510) can render an image (A6).

[0108] For example, the framework (520) of the electronic device (101) can synthesize images. For example, in a time interval (1), the framework (520) can synthesize an image (A1). For example, the synthesis of the image (A1) can be triggered according to a synchronization signal provided at the timing when the time interval (1) starts. In the example (500) of FIG. 5A, an example of synthesizing a single image is described, but the present disclosure is not limited thereto. For example, the framework (520) can also synthesize images of multiple software applications. For example, in a time interval (2), the framework (520) can synthesize an image (A2). For example, in a time interval (3), the framework (520) can synthesize an image (A3). For example, in a time interval (4), the framework (520) can synthesize an image (A4). For example, in time interval (5), the framework (520) can synthesize an image (A5).

[0109] For example, the display (530) of the electronic device (101) can display an image. For example, in a time interval (2), the display (530) can display an image (A1). For example, the display of the image (A1) can be triggered according to a synchronization signal provided at the start of the time interval (2). In the example (500) of FIG. 5A, an example of displaying a single image is described, but the present disclosure is not limited thereto. For example, the display (530) can also display a screen including synthesized images of multiple software applications. For example, in a time interval (3), the display (530) can display an image (A2). For example, in a time interval (4), the display (530) can display an image (A3). For example, in a time interval (5), the display (530) can display an image (A4).

[0110] Unlike FIG. 5A, in FIGS. 3A to 3C, the timing at which an image is rendered according to a synchronization signal and the timing at which the rendered image is synthesized and displayed are depicted as being substantially the same. However, this is merely an example for convenience of explanation, and the present disclosure is not limited thereto. The method illustrated in the example (500) of FIG. 5A can be applied substantially identically to FIGS. 3A to 3C.

[0111] Figures 5b to 5d illustrate examples of how to display rendered images in multiple software applications.

[0112] FIG. 5b illustrates an example (540) of a method for an electronic device (101) including a display (530) having a fixed refresh rate to generate a synchronization signal according to a cycle corresponding to the refresh rate and to perform image rendering, composition, and display. FIG. 5c illustrates an example (550) of a method for an electronic device (101) including a display (530) having a variable refresh rate to generate a synchronization signal according to a cycle corresponding to the refresh rate and to perform image rendering, composition, and display. FIG. 5d illustrates an example (570) of a signal flow diagram according to the method of example (540) of FIG. 5c.

[0113] The first software application (511) (e.g., App A) and the second software application (512) (e.g., App B) of FIGS. 5b to 5d may be examples of the software application (510) of FIG. 5a. For example, the first software application (511) and the second software application (512) may be included in the software application (510) of FIG. 5a. The framework (520) of FIGS. 5b to 5d may be an example of the framework (520) of FIG. 5a. The display (530) of FIGS. 5b to 5d may be an example of the display (530) of FIG. 5a.

[0114] Referring to example (540), in operation (541), the electronic device (101) may provide the refresh rate of the display (530) to the framework (520) from the display (530). In example (540) of FIG. 5B, the refresh rate provided from the display (530) to the framework (520) is exemplified, but the present disclosure is not limited thereto. For example, the electronic device (101) may provide the refresh rate of the display (530) identified (or recognized, acquired, or determined) by the processor (410) to the framework (520), or the framework (520) may utilize it. In example (540) of FIG. 5B, the refresh rate of the display (530) may have a fixed value. For example, the refresh rate having the fixed value may represent a maximum refresh rate among the refresh rates that can be provided by the display (530).

[0115] In operation (542), the electronic device (101) may provide a synchronization signal generated in the framework (520) to each software application. For example, the electronic device (101) may generate the synchronization signal according to a cycle corresponding to the injection rate. For example, each time the electronic device (101) generates the synchronization signal according to the cycle, the electronic device (101) may provide the synchronization signal to each of the first software application (511) and the second software application (512). The synchronization signal may be used to cause (or trigger) synthesis within the framework (520).

[0116] In operation (543-1), the electronic device (101) can obtain an image (A1) from a first software application (511). For example, the electronic device (101) can obtain an image (A1) rendered by the first software application (511) in response to the synchronization signal. In addition, in operation (543-2), the electronic device (101) can obtain an image (B1) from a second software application (512). For example, the electronic device (101) can obtain an image (B1) rendered by the second software application (512) in response to the synchronization signal.

[0117] In operation (544), the electronic device (101) may perform synthesis on the framework (520). For example, the electronic device (101) may perform synthesis of the acquired images (A1, B1) on the framework (520). For example, the synthesis may be triggered by a synchronization signal. In operation (545), the electronic device (101) may display a screen including the synthesized images (A1, B1). For example, the display of the screen may be triggered by a synchronization signal.

[0118] Referring to example (550), in operation (551), the electronic device (101) may provide the frame rate (hereinafter, referred to as the first frame rate) of the first software application (511) to the framework (520) from the first software application (511). For example, the first frame rate may indicate a cycle in which rendering is performed in the first software application (511). For example, the framework (520) may receive a request (or information) indicating the first frame rate from the first software application (511). In example (550), an example in which the first frame rate is provided from the first software application (511) is described, but the present disclosure is not limited thereto. For example, the electronic device (101) may also provide the frame rate (hereinafter, referred to as the second frame rate) of the second software application (512) from the second software application (512).

[0119] In operation (552), the electronic device (101) may provide a request to the display (530) from the framework (520) to change the refresh rate. For example, the refresh rate may represent a refresh rate corresponding to the first frame rate. In one example, when the first frame rate and the second frame rate are acquired, the refresh rate may be determined based on the first frame rate and the second frame rate. For example, the refresh rate may include a refresh rate corresponding to the least common multiple of the first frame rate and the second frame rate.

[0120] In operation (553), the electronic device (101) may provide the changed refresh rate of the display (530) to the framework (520) from the display (530). For example, the changed refresh rate may represent a refresh rate that has been changed based on the request. In the example (550) of FIG. 5C, the refresh rate provided from the display (530) to the framework (520) is exemplified, but the present disclosure is not limited thereto. For example, the electronic device (101) may provide the changed refresh rate of the display (530) identified (or recognized, acquired, or determined) by the processor (410) to the framework (520), or the framework (520) may utilize the changed refresh rate. In the example (550) of FIG. 5C, the refresh rate of the display (530) may have a changeable value. For example, the refresh rate having the changeable value may represent one of the refresh rates that can be provided by the display (530).

[0121] In operation (554), the electronic device (101) may provide a synchronization signal generated in the framework (520) to each software application. For example, the electronic device (101) may generate the synchronization signal according to a cycle corresponding to the injection rate. For example, each time the electronic device (101) generates the synchronization signal according to the cycle, the electronic device (101) may provide the synchronization signal to each of the first software application (511) and the second software application (512). The synchronization signal may be used to cause (or trigger) synthesis within the framework (520).

[0122] In operation (555-1), the electronic device (101) can obtain an image (A1) from a first software application (511). For example, the electronic device (101) can obtain an image (A1) rendered by the first software application (511) in response to the synchronization signal. In addition, in operation (555-2), the electronic device (101) can obtain an image (B1) from a second software application (512). For example, the electronic device (101) can obtain an image (B1) rendered by the second software application (512) in response to the synchronization signal.

[0123] In operation (556), the electronic device (101) may perform synthesis on the framework (520). For example, the electronic device (101) may perform synthesis of the acquired images (A1, B1) on the framework (520). For example, the synthesis may be triggered by a synchronization signal. In operation (557), the electronic device (101) may display a screen including the synthesized images (A1, B1). For example, the display of the screen may be triggered by a synchronization signal.

[0124] Example (570) illustrates an example of signal flow between components of an electronic device (101), according to example (550) of FIG. 5C. In operation (571), a first software application (511) may provide a request to the framework (520) indicating a first frame rate. For example, the first frame rate may be 30 fps. However, the present disclosure is not limited thereto.

[0125] In operation (573), the framework (520) may determine a frame rate to be applied (or used) to multiple software applications. For example, the framework (520) may determine a frame rate (or integrated frame rate) to be used in the first software application (511) and the second software application (512). For example, the integrated frame rate may be referenced by a period of a synchronization signal to be generated. For example, the integrated frame rate may be determined based on the first frame rate. In example (570), the second frame rate is not provided from the second software application (512), but the present disclosure is not limited thereto. For example, when the second frame rate is provided from the second software application (512), the framework (520) may determine the integrated frame rate based on the first frame rate and the second frame rate (e.g., the least common multiple of the first frame rate and the second frame rate). Alternatively, if the second frame rate is not provided by the second software application (512), the framework (520) may determine the combined frame rate based on the first frame rate and the reference frame rate (e.g., the least common multiple of the first frame rate and the reference frame rate). For example, the reference frame rate may represent a frame rate corresponding to the maximum refresh rate of the display (530). However, the present disclosure is not limited thereto.

[0126] In operation (575), the framework (520) may request the display (530) to change the refresh rate corresponding to the determined integrated frame rate. Although not illustrated in example (570), the framework (520) may obtain the changed refresh rate in response to the request. However, the present disclosure is not limited thereto. As described above with reference to FIGS. 5B and 5C , the processor (410) of the electronic device (101) may determine the changed refresh rate and notify the display (530) of the changed refresh rate. At this time, the electronic device (101) may utilize the changed refresh rate in the framework (520).

[0127] In operation (577), the framework (520) may generate a synchronization signal. For example, the framework (520) may generate the synchronization signal according to a cycle corresponding to the changed injection rate. For example, the framework (520) may periodically generate the synchronization signal according to the cycle. For example, in operation (577a) after operation (577), the framework (520) may generate the synchronization signal according to the cycle.

[0128] In operation (579-1), the framework (520) can provide the generated synchronization signal to the first software application (511). In addition, in operation (579-2), the framework (520) can provide the generated synchronization signal to the second software application (512). In other words, the framework (520) can provide the generated synchronization signal to the first software application (511) and the second software application (512) simultaneously.

[0129] In operation (581-1), the first software application (511) may perform rendering based on the provided synchronization signal. For example, the first software application (511) may render (or generate) an image (A1). In operation (581-2), the second software application (512) may perform rendering based on the provided synchronization signal. For example, the second software application (512) may render (or generate) an image (B1).

[0130] In operation (583-1), a first software application (511) may provide a rendered image (A1) to a framework (520). In operation (583-2), a second software application (512) may provide a rendered image (B1) to the framework (520). The rendered image (A1) (or the rendered image (B1)) may be referred to as a rendered buffer.

[0131] Actions (581-1) and (581-2), or actions (583-1) and (583-2) are illustrated as being performed simultaneously (or synchronized), but this is only for convenience of explanation and is not limited thereto.

[0132] In operation (585), the framework (520) may perform synthesis of rendered images (A1, B1). For example, the framework (520) may perform synthesis of rendered images (A1, B1) based on a synchronization signal generated according to the cycle. In operation (587), the framework (520) may provide the synthesized images (A1, B1) to the display (530).

[0133] In operation (589), the display (530) can display a screen including synthesized images (A1, B1). While FIG. 5D illustrates an example of displaying a single screen, the present disclosure is not limited thereto. For example, the electronic device (101) can display multiple screens corresponding to the injection rate through the display (530) by repeatedly performing the method of example (570) of FIG. 5D.

[0134] Referring to FIGS. 5B to 5D , the rendering of a software application may be performed differently depending on the software application being provided. For example, a single software application displayed on the screen (or running in the foreground) may differ from a single software application displayed on the screen (or running in the foreground) when multiple software applications are connected and executed. Alternatively, a single software application displayed on the screen (or running in the foreground) may differ from a single software application running in conjunction with multiple software applications. This may be because a unified frame rate is used when multiple software applications are displayed on the screen. However, when a unified frame rate is used, unnecessary rendering may occur in certain software applications. This may result in unnecessary consumption of resources (e.g., CPU, GPU, or memory resources) and increased power consumption. Furthermore, differences in frame rates (or rendering speeds) between software applications may degrade the quality of the user experience. For example, if a specific software application renders relatively quickly, smooth animation and fast response times may be provided. Conversely, if another software application renders relatively slowly, it may result in less smooth animations and slower response times compared to the specific software application. In this case, if a screen containing images from the specific software application and images from the other software application are displayed simultaneously, the quality of the user experience may deteriorate. In other words, differences in frame rates between software applications can result in a relative decrease in performance for the user.

[0135] An electronic device, method, and storage medium according to the present disclosure can generate a synchronization signal according to a cycle and provide the generated synchronization signal according to the frame rate of each software application. By using the synchronization signal provided according to the frame rate of each software application, the electronic device, method, and storage medium according to the present disclosure can perform rendering at a point in time (or timing) corresponding to the cycle (or rendering cycle) for rendering of each software application. Accordingly, the electronic device, method, and storage medium according to the present disclosure can reduce unnecessary resource consumption and power consumption. In addition, the electronic device, method, and storage medium according to the present disclosure can improve the speed of the overall system of the electronic device and extend the battery life.

[0136] FIG. 6 illustrates an example of a signal flow diagram for a method of displaying a screen including images of multiple software applications using a synchronization signal provided according to the frame rate of the software applications.

[0137] FIG. 6 illustrates an example (600) of a signal flow diagram for a method of performing image rendering, composition, and display using a synchronization signal provided according to the frame rate of a software application.

[0138] The first software application (611) (e.g., App A) and the second software application (612) (e.g., App B) of FIG. 6 may be included in the application layer (451) of FIG. 4. For example, the first software application (611) and the second software application (612) may be included in the application layer (451) of FIG. 4. The framework (620) of FIG. 6 may be included in the framework layer (452) of FIG. 4. The display (630) of FIG. 6 may be an example of the display (420) of FIG. 4.

[0139] Although not illustrated in FIG. 6, according to one embodiment, the electronic device (101) can execute multiple software applications. For example, the electronic device (101) can execute a first software application (611) in the foreground. For example, the electronic device (101) can execute a second software application (612) in the foreground. In the above example, two software applications are executed, but the present disclosure is not limited thereto. For example, the electronic device (101) can execute three or more software applications in the foreground.

[0140] In operation (651), the first software application (611) may provide a request to the framework (620) indicating a first frame rate. For example, the first frame rate may be 30 fps. However, the present disclosure is not limited thereto. For example, the first frame rate of the first software application (611) may have a different value.

[0141] In operation (653), the framework (620) may determine a frame rate to be applied (or used) to multiple software applications. For example, the framework (620) may determine a frame rate (or integrated frame rate) to be used in the first software application (611) and the second software application (612). For example, the integrated frame rate may be referenced as a period of a synchronization signal to be generated. For example, the integrated frame rate may be determined based on the first frame rate.

[0142] In example (600), the second frame rate is not provided from the second software application (612), but the present disclosure is not limited thereto. For example, if the second frame rate is provided from the second software application (612), the framework (620) may determine the frame rate of the second software application (612) as the second frame rate.

[0143] Alternatively, if the second frame rate is not provided by the second software application (612), the framework (620) may determine the frame rate of the second software application (612) based on historical information. For example, the historical information may include past information about the frame rate of the second software application (612). For example, the historical information may include at least one frame rate within a time interval. For example, the framework (620) may determine the frame rate of the second software application (612) as an average of the at least one frame rate based on the historical information. For example, if the second frame rate is not provided by the second software application (612) and no historical information exists for the second software application (612), the framework (620) may determine the frame rate of the second software application (612) as a reference frame rate. For example, the reference frame rate may correspond to a maximum refresh rate among refresh rates supportable by the display (630). Specific details on how to determine the frame rate of each software application are described below in FIGS. 8a and 8b.

[0144] In operation (655), the framework (620) may determine a period of a synchronization signal to be used for a plurality of software applications. For example, the period may be referred to as an integrated frame rate. For example, if a first frame rate and a second frame rate are provided from each of the first software application (611) and the second software application (612), the framework (620) may determine the integrated frame rate based on the first frame rate and the second frame rate (e.g., the least common multiple of the first frame rate and the second frame rate). Alternatively, if the second frame rate is not provided from the second software application (612), the framework (620) may determine the integrated frame rate based on the first frame rate and the reference frame rate (e.g., the least common multiple of the first frame rate and the reference frame rate). For example, the reference frame rate may represent a frame rate corresponding to a maximum refresh rate of the display (630). For example, the framework (620) may generate a list including one or more candidate periods based on the refresh rate supported by the display (630). For example, each of the one or more candidate periods may be determined based on the refresh rate supported by the display (630). For example, if the refresh rate is 120 Hz, the candidate period may be 1 / 120 (approximately 8.3 ms). For example, if the refresh rate is 30 Hz, the candidate period may be 1 / 30 (approximately 33.3 ms). For example, if the refresh rate is 24 Hz, the candidate period may be 1 / 24 (approximately 41.6 ms). An example of a method for generating a list including one or more candidate periods may be referenced below in FIG. 9A.

[0145] According to one embodiment, the framework (620) can determine an optimal candidate period to be applied to the frame rates of the first software application (611) and the second software application (612). For example, the optimal candidate period can be determined by comparing the list including the one or more candidate periods with the frame rate of the first software application (611) (e.g., the first frame rate) and the frame rate of the second software application (612) (e.g., the second frame rate). For example, the framework (620) can determine a candidate period to be used as the period of the synchronization signal by determining a suitability value between the candidate period in the list and the first frame rate and a suitability value between the candidate period in the list and the second frame rate. Specific details related thereto are described below with reference to FIGS. 9B and 9C.

[0146] In operation (657), the framework (620) may generate a synchronization signal according to a determined cycle. For example, the framework (620) may periodically generate a synchronization signal according to the cycle. For example, in each of operations (663) and (663a) after operation (657), the framework (620) may generate a synchronization signal according to the cycle.

[0147] In operation (659), the framework (620) may provide the synchronization signal generated according to the cycle to the first software application (611). For example, the framework (620) may provide the synchronization signal to the first software application (611) when the number of times the synchronization signal is generated according to the cycle (hereinafter, the number of times generated) corresponds to a reference number according to the first frame rate of the first software application (611). For example, when the cycle is 120 Hz and the first frame rate is 30 fps, the reference number may be a multiple of 4 (e.g., 4, 8, 12). For example, the set of the reference numbers for the first software application (611) may be referred to as the reference numbers of the first set. For example, the framework (620) may provide the synchronization signal to the first software application (611) by identifying the number of times generated corresponding to the reference numbers of the first set.

[0148] In operation (661), the first software application (611) may perform rendering. For example, the first software application (611) may render the image (A1) based on the synchronization signal provided in operation (659). In operation (669), after completing rendering of the image (A1), the first software application (611) may provide the rendered image (A1) to the framework (620). The length of time for rendering in operation (661) of FIG. 6 is merely exemplary, and the present disclosure is not limited thereto. For example, the length of time for rendering may be changed.

[0149] In operation (663), the framework (620) may generate a synchronization signal according to the cycle. In operation (665), the framework (620) may provide the synchronization signal generated according to the cycle to the second software application (612). For example, the framework (620) may provide the synchronization signal to the second software application (612) when the number of times the synchronization signal is generated according to the cycle (hereinafter, the number of times generated) corresponds to a reference number according to the second frame rate of the second software application (612). For example, when the cycle is 120 Hz and the second frame rate is 24 fps, the reference number may be a multiple of 5 (e.g., 5, 10, 15). For example, the set of reference numbers for the second software application (612) may be referred to as the reference numbers of the second set. For example, the framework (620) may provide the synchronization signal to the second software application (612) by identifying the number of times the generation corresponds to the reference numbers of the second set.

[0150] In the example (600) of FIG. 6, the framework (620) is illustrated as providing a synchronization signal to the first software application (611) before providing a synchronization signal to the second software application (612). However, this is merely an example according to the frame rate of each software application, and the present disclosure is not limited thereto. For example, the framework (620) may provide a synchronization signal to the second software application (612) before providing the synchronization signal to the first software application (611). Alternatively, in one example, the framework (620) may provide a synchronization signal to the second software application (612) and the first software application (611) simultaneously. In the above example, the framework (620) may provide a synchronization signal to the second software application (612) and the first software application (611) simultaneously by generating the synchronization signal 20 times.

[0151] In operation (667), the second software application (612) may perform rendering. For example, the second software application (612) may render the image (B1) based on the synchronization signal provided in operation (665). In operation (677), after completing rendering of the image (B1), the second software application (612) may provide the rendered image (B1) to the framework (620). The length of time for rendering in operation (667) of FIG. 6 is merely exemplary, and the present disclosure is not limited thereto. For example, the length of time for rendering may be changed.

[0152] In operation (663a), the framework (620) may generate a synchronization signal according to the above cycle. In one example, the framework (620) may determine whether an image rendered by a software application has been acquired based on the synchronization signal generated according to the above cycle. For example, the framework (620) may determine that the image (A1) rendered in operation (669) has been acquired from the first software application (611). Accordingly, in operation (671), the framework (620) may perform synthesis on the image. For example, the framework (620) may perform synthesis on the image (A1).

[0153] For example, the framework (620) can perform compositing on an image (A1) of a first software application (611) and an image (B0) of a second software application (612). For example, the image (B0) can represent a previous image of the image (B1) rendered in the operation (667). However, the present disclosure is not limited thereto. For example, when the image (B0) is absent, the framework (620) can also perform compositing on a single image (A1).

[0154] In operation (673), the framework (620) may provide the synthesized images to the display (630). For example, the framework (620) may provide the synthesized images (A1, B0) to the display (630). In operation (675), the display (630) may display the synthesized images (A1, B0).

[0155] In operation (679), the framework (620) may generate a synchronization signal according to the cycle. In one example, the framework (620) may determine whether an image rendered by a software application has been acquired based on the synchronization signal generated according to the cycle. For example, the framework (620) may determine that the image (B1) rendered in operation (677) has been acquired from the second software application (612). Accordingly, in operation (681), the framework (620) may perform a synthesis on the image. For example, the framework (620) may perform a synthesis on the image (B1). For example, the framework (620) may perform a synthesis on the image (A1) of the first software application (611) and the image (B1) of the second software application (612).

[0156] In operation (683), the framework (620) may provide the synthesized images to the display (630). For example, the framework (620) may provide the synthesized images (A1, B1) to the display (630). In operation (685), the display (630) may display the synthesized images (A1, B1).

[0157] Although not illustrated in FIG. 6, the display (630) may display (or update) a screen based on the refresh rate of the display (630) prior to operation (675). For example, the display (630) may acquire and display an image stored in an image memory (e.g., DRAM of the processor (410) or GRAM of the display (420)) depending on the screen display mode (e.g., video mode or command mode).

[0158] In addition, although FIG. 6 illustrates an example in which a first screen including synthesized images (A1, B0) and a second screen including synthesized images (A1, B1) are displayed, the present disclosure is not limited thereto. For example, the electronic device (101) can display a plurality of screens corresponding to a scanning rate through the display (630) by repeatedly performing the method of the example (600) of FIG. 6.

[0159] FIG. 7 illustrates an example of an operational flow for a method of displaying a screen including images of multiple software applications using a synchronization signal provided according to the frame rate of the software applications.

[0160] At least some of the methods of FIG. 7 may be performed by the electronic device (101) of FIG. 4. For example, at least some of the methods may be controlled by at least one processor of the electronic device (101). In the following embodiments, the operations may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.

[0161] Although not illustrated in FIG. 7, according to one embodiment, the electronic device (101) can execute multiple software applications. For example, the electronic device (101) can execute a first software application (e.g., the first software application (611) of FIG. 6) in the foreground. For example, the electronic device (101) can execute a second software application (e.g., the second software application (612) of FIG. 6) in the foreground. In the above example, a case where two software applications are executed is exemplified, but the present disclosure is not limited thereto. For example, the electronic device (101) can execute three or more software applications in the foreground.

[0162] Referring to FIG. 7, in operation (710), the electronic device (101) can identify a frame rate for each software application. For example, the electronic device (101) can identify a first frame rate of a first software application. For example, the first software application can provide an image according to the first frame rate. For example, the electronic device (101) can identify a second frame rate of a second software application. For example, the second software application can provide an image according to the second frame rate.

[0163] For example, the electronic device (101) can determine whether a request indicating a frame rate has been received from a software application. For example, if a request indicating a frame rate has been received, the electronic device (101) can determine the frame rate indicated by the request as the frame rate of the corresponding software application. For example, if a request indicating a frame rate has not been received, the electronic device (101) can determine the frame rate of the corresponding software application based on the recording information. Specific details related to this are described in FIGS. 8A and 8B .

[0164] In operation (720), the electronic device (101) may determine the period of a synchronization signal to be provided to the plurality of software applications. For example, the electronic device (101) may determine the period of the synchronization signal based on the first frame rate and the second frame rate. For example, the period of the synchronization signal may be referred to as an integrated frame rate for the plurality of software applications.

[0165] For example, the electronic device (101) may generate a list including one or more candidate periods that are supportable by the display of the electronic device (101) (e.g., the display (420) of FIG. 4). Specific details of a method for generating the list are described in FIG. 9A.

[0166] For example, the electronic device (101) can determine the period of the synchronization signal to be provided to the first software application and the second software application. For example, the electronic device (101) can determine the period of the synchronization signal by comparing the list including the one or more candidate periods with the frame rate of the first software application (e.g., the first frame rate) and the frame rate of the second software application (e.g., the second frame rate). For example, the electronic device (101) can determine the candidate period to be used as the period of the synchronization signal by determining a compatibility value between the candidate period in the list and the first frame rate and a compatibility value between the candidate period in the list and the second frame rate. Specific details related thereto are described below with reference to FIGS. 9B and 9C.

[0167] In operation (730), the electronic device (101) may generate the synchronization signal according to the cycle. For example, the electronic device (101) may generate the synchronization signal according to the cycle determined in operation (720). For example, the electronic device (101) may determine whether an image rendered by a software application is acquired based on the synchronization signal generated according to the cycle. At this time, when the synchronization signal is generated according to the cycle, the electronic device (101) may change the state of a framework (e.g., framework (620) of FIG. 6) from an inactive state to an activated state. When the state of the framework is an activated state, the electronic device (101) may determine whether an image rendered by a software application is acquired. For example, when a rendered image is acquired, the electronic device (101) may perform synthesis on the rendered image on the framework that is in the activated state. Thereafter, the electronic device (101) can change the state of the framework from an activated state to a deactivated state. Alternatively, if a rendered image is not acquired, the electronic device (101) can change the state of the framework from an activated state to a deactivated state without performing synthesis (or, refraining from, omitting, or delaying the synthesis). For specific details related thereto, reference may be made to FIGS. 10A to 10C below.

[0168] In operation (740), the electronic device (101) may provide a synchronization signal generated according to the cycle according to the frame rate of the software application. For example, the electronic device (101) may identify the number of times the synchronization signal is generated according to the cycle. For example, the electronic device (101) may determine whether the number of times the synchronization signal is generated corresponds to a set of reference numbers identified for each software application. For example, the electronic device (101) may determine whether the number of times the generation corresponds to a first set of reference numbers of a first software application. For example, the electronic device (101) may determine whether the number of times the generation corresponds to a second set of reference numbers of a second software application. For example, each of the first set and the second set may be determined according to the frame rate of the software application. For example, when the cycle is 120 Hz and the first frame rate is 30 fps, the first set may include natural numbers that are multiples of 4. For example, if the period is 120 Hz and the second frame rate is 24 fps, the second set may include natural numbers that are multiples of 5.

[0169] For example, the electronic device (101) may provide the synchronization signal to the corresponding software application based on determining the number of times the synchronization signal is generated corresponding to the first set and / or the second set. In other words, the electronic device (101) may provide the synchronization signal to each software application, rather than providing the synchronization signal to all software applications each time the synchronization signal is generated. Specific details related to this are described below in FIGS. 11A and 11B .

[0170] Figure 8a illustrates an example of an operational flow for a method of determining a frame rate of a software application.

[0171] At least some of the methods of FIG. 8A may be performed by the electronic device (101) of FIG. 4. For example, at least some of the methods may be controlled by at least one processor of the electronic device (101). In the following embodiments, the operations may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.

[0172] Referring to FIG. 8A, in operation (800), the electronic device (101) may execute a software application. For example, the electronic device (101) may execute a plurality of software applications. For example, the plurality of software applications may include a first software application (e.g., the first software application (611) of FIG. 6) and a second software application (e.g., the second software application (612) of FIG. 6). For example, the execution may include execution in the foreground.

[0173] In operation (805), the electronic device (101) may determine whether a request indicating a frame rate of a software application is obtained. For example, the electronic device (101) may determine whether a request indicating a frame rate for rendering an image in the software application is obtained from the executed software application.

[0174] In operation (805), the electronic device (101) may perform operation (810) if the request is obtained. Alternatively, in operation (805), the electronic device (101) may perform operation (815) if the request is not obtained.

[0175] In operation (810), the electronic device (101) may determine the frame rate of the software application based on the request. For example, the electronic device (101) may determine the frame rate indicated by the request as the frame rate of the software application.

[0176] In operation (815), the electronic device (101) may determine whether there is recorded information about the frame rate of the software application. For example, if the request indicating the frame rate is not obtained, the electronic device (101) may check whether there is recorded information about the frame rate of the software application.

[0177] In operation (815), the electronic device (101) may perform operation (820) if the record information exists. Conversely, in operation (815), the electronic device (101) may perform operation (825) if the record information does not exist.

[0178] In operation (820), the electronic device (101) may determine the frame rate of the software application based on the recorded information. For example, if the request is not obtained and the recorded information exists, the electronic device (101) may determine the frame rate of the corresponding software application based on the recorded information. For example, the recorded information may include one or more frame rates of the corresponding software application within a time interval. For example, the frame rate determined based on the recorded information may have an average value of the one or more frame rates of the recorded information.

[0179] In operation (825), the electronic device (101) may determine the frame rate of the software application as the reference frame rate. For example, if the request is not obtained and the recording information does not exist, the electronic device (101) may determine the frame rate of the corresponding software application as the reference frame rate. For example, the reference frame rate may represent a frame rate according to the maximum refresh rate supported by the display (420) of the electronic device (101).

[0180] An example of how the electronic device (101) determines the frame rate of each software application according to the above method of FIG. 8a may be referred to as FIG. 8b below.

[0181] Figure 8b illustrates an example of a method for determining the frame rate of a software application.

[0182] Referring to FIG. 8b, an example (831) of a method for determining a first frame rate of a first software application and an example (832) of a method for determining a second frame rate of a second software application are illustrated.

[0183] Referring to example (831), the electronic device (101) may obtain a request (840) indicating a first frame rate of the first software application. For example, the request (840) may be obtained when the first software application is executed or based on an event. For example, the event may include multiple software applications being executed and displayed on a single screen, or the arrival of a cycle (acquisition cycle) for obtaining the request (840). For example, the request (840) may include the first frame rate of 30 fps. Accordingly, the electronic device (101) may determine the first frame rate of the first software application to be 30 fps.

[0184] Referring to example (832), the electronic device (101) may determine that it has not received a request indicating a second frame rate of the second software application. Accordingly, the electronic device (101) may determine whether or not the electronic device (101) includes record information regarding the frame rate of the second software application. For example, the record information may include first frame information (851), second frame information (852), and third frame information (853). In the example of FIG. 8B, the record information is illustrated as including three pieces of frame information (851, 852, 853), but the present disclosure is not limited thereto. For example, the electronic device (101) may determine the second frame rate of the second software application based on the three pieces of frame information (851, 852, 853). For example, the electronic device (101) can determine the second frame rate of the second software application as the average value (=41.6ms=(41.6ms+41.7ms+41.5ms) / 3) of three pieces of frame information (851, 852, 853).

[0185] Referring to FIGS. 8A and 8B , the electronic device (101) can determine the frame rate of each of a plurality of software applications. Examples of how the electronic device (101) determines the period (or integrated frame rate) of a synchronization signal to be provided to a plurality of software applications may be referred to in the following FIGS. 9A to 9C .

[0186] FIG. 9a illustrates an example of an operational flow for a method of generating a list including candidate periods according to the injection rates supported by the display.

[0187] At least some of the methods of FIG. 9A may be performed by the electronic device (101) of FIG. 4. For example, at least some of the methods may be controlled by at least one processor of the electronic device (101). In the following embodiments, the operations may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.

[0188] Referring to FIG. 9A, in operation (900), the electronic device (101) can identify a minimum cycle according to a maximum refresh rate supportable by the display. For example, the electronic device (101) can identify a maximum refresh rate among refresh rates supportable by the display (e.g., the display (420) of FIG. 4). For example, in the case of a display (420) that provides a variable refresh rate of 1 Hz to 120 Hz, the electronic device (101) can identify the maximum refresh rate as 120 Hz. The range of the variable refresh rate is merely exemplary and the present disclosure is not limited thereto. For example, the range of the variable refresh rate can include a value exceeding 120 Hz or a value less than 1 Hz. For example, the electronic device (101) can identify the minimum cycle (e.g., 1 / 120 = 8.3 ms) according to the 120 Hz.

[0189] In operation (905), the electronic device (101) can identify whether the product of the minimum period and N is less than or equal to a reference period. For example, the electronic device (101) can calculate the product between the minimum period identified in operation (900) and N. For example, N can be a natural number greater than or equal to 1. For example, the electronic device (101) can determine N as 1. For example, the electronic device (101) can identify the product of the minimum period and N (= 1*8.3 ms). For example, the electronic device (101) can compare the product with the reference period. For example, the reference period can represent a period according to the minimum refresh rate of the display (420). For example, if the minimum refresh rate supported by the display (420) (or the minimum refresh rate set by the electronic device (101)) is 20 Hz, the minimum period may be 50 ms. For example, the electronic device (101) may compare the product (about 8.3 ms) with the minimum period.

[0190] In operation (905), the electronic device (101) may perform operation (910) if the product is less than or equal to the reference period. Alternatively, in operation (905), the electronic device (101) may perform operation (920) if the product exceeds the reference period.

[0191] In operation (910), the electronic device (101) may add a candidate period to the list. For example, if the product is less than or equal to the reference period, the electronic device (101) may add the candidate period having the product value to the list. For example, the candidate period may represent a period having the product value. For example, the candidate period may represent a period that can be used as a period of a synchronization signal.

[0192] In operation (915), the electronic device (101) may change N. For example, the electronic device (101) may change the value of N after adding the candidate period to the list. For example, the electronic device (101) may increase the value of N by 1. After operation (915), the electronic device (101) may perform operation (905) again.

[0193] The electronic device (101) can repeatedly perform operations (905), (910), and (915). Accordingly, in operation (905), if the product of the minimum period and the N exceeds the reference period, the electronic device (101) can perform operation (920). For example, if the N is 7, the electronic device (101) can determine that the product (approximately 58.1 ms = 7*8.3 ms) exceeds the reference period (e.g., 50 ms). Accordingly, the electronic device (101) can perform operation (920).

[0194] In operation (920), the electronic device (101) may generate a list. For example, the list may include one or more candidate periods added according to the change in N. For example, the list may include one or more candidate periods that may be used as periods of a synchronization signal to be provided to multiple software applications. In the example, the list may include six candidate periods (e.g., 8.3 ms, 16.6 ms, 25 ms, 33.3 ms, 41.6 ms, and 50 ms).

[0195] Figure 9b illustrates an example of a flow of operations for determining a compatibility value between a candidate period in a list and a frame rate of a software application.

[0196] At least some of the methods of FIG. 9B may be performed by the electronic device (101) of FIG. 4. For example, at least some of the methods may be controlled by at least one processor of the electronic device (101). In the following embodiments, the operations may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.

[0197] Referring to FIG. 9B, in operation (930), the electronic device (101) may select a frame rate of a software application. For example, the electronic device (101) may identify the frame rate of each of a plurality of software applications according to the method of FIG. 8A, and then select a frame rate of one of the frame rates of the plurality of software applications. For example, assume that the plurality of software applications include a first software application and a second software application, and the first frame rate of the first software application is 30 fps and the second frame rate of the second software application is 24 fps. The electronic device (101) may select the first frame rate from among the first frame rate and the second frame rate.

[0198] In operation (935), the electronic device (101) may select a candidate period. For example, the electronic device (101) may select one candidate period from the list generated according to the method of FIG. 9A. For example, assume that the list includes six candidate periods (e.g., 8.3 ms, 16.6 ms, 25 ms, 33.3 ms, 41.6 ms, and 50 ms). For example, the electronic device (101) may select a candidate period of 8.3 ms from among the six candidate periods.

[0199] In operation (940), the electronic device (101) can determine whether the selected frame rate and the selected candidate period satisfy the condition. For example, the electronic device (101) can determine whether the first frame rate and the candidate period (8.3 ms) satisfy the condition.

[0200] For example, the condition may include a case where the selected candidate period and the rendering period according to the selected frame rate are the same, or a case where the selected candidate period has a value that is an integer multiple of the rendering period according to the selected frame rate. For example, the rendering period may represent the reciprocal of the frame rate.

[0201] For example, the electronic device (101) can determine (or confirm) whether the selected candidate period and the rendering period according to the selected frame rate are the same. If the selected candidate period and the rendering period according to the selected frame rate are the same, the electronic device (101) can determine that the condition is satisfied. For example, if the selected candidate period and the rendering period according to the selected frame rate are different, the electronic device (101) can determine (or confirm) whether the selected candidate period has a value that is an integer multiple of the rendering period according to the selected frame rate. At this time, the integer multiple may represent an integer exceeding 1. For example, the electronic device (101) can determine that the condition is satisfied if the selected candidate period has a value that is an integer multiple of the rendering period according to the selected frame rate.

[0202] In the above example, the electronic device (101) can check whether the rendering cycle (33.3 ms) according to the first frame rate (30 fps) and the candidate cycle (8.3 ms) are the same. Since the rendering cycle (33.3 ms) according to the first frame rate and the candidate cycle (8.3 ms) are different from each other, the electronic device (101) can check whether the rendering cycle (33.3 ms) according to the first frame rate has a value that is an integer multiple of the candidate cycle (8.3 ms). The electronic device (101) can check that the rendering cycle (33.3 ms) is an integer multiple of the candidate cycle (8.3 ms).

[0203] In operation (940), the electronic device (101) may perform operation (945) if the above condition is satisfied. Conversely, in operation (940), the electronic device (101) may perform operation (950) if the above condition is not satisfied.

[0204] In operation (945), the electronic device (101) may determine a suitability value as a first value. If the selected frame rate and the selected candidate period satisfy the condition, the electronic device (101) may determine a suitability value for a software application corresponding to the selected frame rate as the first value. In the example, the suitability value may be a suitability value for the first software application (hereinafter, referred to as the first suitability value). For example, the electronic device (101) may determine the first suitability value as the first value. For example, the first value may be a maximum value among a range of suitability values ​​(e.g., 0 to 1). For example, the first value may be 1. For example, the suitability value may indicate a suitability of a candidate period to be used as a period of a synchronization signal.

[0205] In operation (950), the electronic device (101) may determine the suitability value as a second value. If the selected frame rate and the selected candidate period do not satisfy the condition, the electronic device (101) may determine the suitability value for the software application corresponding to the selected frame rate as the second value. For example, the second value may be a lower value than the first value. For example, the second value may have a ratio between the product of the integer multiplied by the candidate period and the rendering period, when the integer exceeds the rendering period according to the selected frame rate, and the integer having a minimum value. In the example, in order to exceed the rendering period (33.3 ms), the candidate period (8.3 ms) may be multiplied by an integer (e.g., an integer greater than or equal to 5). Accordingly, the second value may be 0.8 (=4 / 5=33.3 ms / (5*8.3 ms)).

[0206] The example of FIG. 9B illustrates an example of determining a suitability value for a specific software application (e.g., a first software application) using one candidate period and one frame rate (e.g., the first frame rate), but the present disclosure is not limited thereto. For example, the electronic device (101) may perform the operations of FIG. 9B for each of all candidate periods in the list for the first frame rate. Alternatively, for example, the electronic device (101) may perform the operations of FIG. 9B for each of all candidate periods in the list for a second frame rate (e.g., 24 fps) of a second software application. The suitability value for the second software application may be referred to as the second suitability value.

[0207] For example, the electronic device (101) can identify suitability values ​​of all candidate periods in the list for the frame rate of the software application. For example, the electronic device (101) can identify one or more first suitability values ​​of one or more candidate periods for the first frame rate. Additionally, the electronic device (101) can identify one or more second suitability values ​​of one or more candidate periods for the second frame rate. For example, the electronic device (101) can identify the sum of the suitability values ​​of each of the one or more candidate periods using a corresponding first suitability value among the one or more first suitability values ​​and a corresponding second suitability value among the one or more second suitability values. For example, assume that the one or more candidate periods are 120 Hz, 60 Hz, and 30 Hz, and the first frame rate is 30 fps and the second frame rate is 60 fps. The one or more first suitability values ​​of the one or more candidate periods for the first frame rate may be 1, 0.5, 0.25. The one or more second suitability values ​​of the one or more candidate periods for the second frame rate may be 1, 1, 0.5. The electronic device (101) may identify the sum of the suitability values ​​of the 120 Hz as 2 (= 1 + 1). The electronic device (101) may identify the sum of the suitability values ​​of the 60 Hz as 1.5 (= 1 + 0.5). The electronic device (101) may identify the sum of the suitability values ​​of the 30 Hz as 0.75 (= 0.25 + 0.5).

[0208] For example, the electronic device (101) may determine the period of the synchronization signal as a candidate period in which the sum of the suitability values ​​among the one or more candidate periods has a maximum value. In the above example, the electronic device (101) may use 120 Hz among the one or more candidate periods as the period of the synchronization signal (e.g., 8.3 ms). In the above example, a case in which the sums of the suitability values ​​among the one or more candidate periods are different is described, but the present disclosure is not limited thereto. For example, in a case in which the sums of the candidate periods correspond to each other (are the same), an example of a method for determining a candidate period in which the candidate period has a larger value (or length) as the period of the synchronization signal may be referred to FIG. 9C.

[0209] Figure 9c illustrates an example of a method of using a candidate period determined based on the length of the period among candidate periods as the period of a synchronization signal.

[0210] FIG. 9c illustrates an example (960) of a method of using one candidate cycle, determined based on the length of the cycle among candidate cycles for multiple software applications, as the cycle of a synchronization signal.

[0211] In the example (960) of FIG. 9c, for convenience of explanation, it is assumed that the plurality of software applications include a first software application and a second software application, and that the first frame rate (961) of the first software application is 60 fps and the second frame rate (962) of the second software application is 30 fps. For example, for the first frame rate (961) and the second frame rate (962), the electronic device (101) can determine two candidate periods (963, 964) having the same suitability value. In the example, the first candidate period (963) can be 60 Hz and the second candidate period (964) can be 120 Hz.

[0212] In example (960), the electronic device (101) may determine the first candidate period (963) having a longer length among the two candidate periods (963, 964) determined for the first frame rate (961) and the second frame rate (962), as the period of the synchronization signal. In other words, the electronic device (101) may determine the candidate period having the longest length among the determined candidate periods as the integrated frame rate in order to reduce the number of unnecessary renderings.

[0213] Figure 10a illustrates an example of an operational flow for how the framework performs synthesis depending on whether a rendered image is acquired.

[0214] At least some of the methods of FIG. 10A may be performed by the electronic device (101) of FIG. 4. For example, at least some of the methods may be controlled by at least one processor of the electronic device (101). In the following embodiments, the operations may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.

[0215] Referring to FIG. 10A, in operation (1000), the electronic device (101) may change the state of the framework from the inactive state to the active state. For example, when a synchronization signal is generated according to a cycle determined through FIGS. 9A to 9C, the electronic device (101) may change the state of the framework (e.g., framework (620) of FIG. 6) from the inactive state to the active state. For example, the inactive state may be a state for minimizing power consumption by the framework. For example, the framework may not perform synthesis in the inactive state. For example, the active state may indicate a state in which synthesis is performed by the framework.

[0216] In operation (1005), the electronic device (101) may determine whether an image rendered from a software application is obtained. For example, the electronic device (101) may check whether an image rendered from a software application is obtained through the framework that has been changed to the activated state as the synchronization signal is generated. For example, the software application may include at least one software application related to (or connected to) the framework. As in the example of FIG. 6, when the framework is connected to a first software application (e.g., the first software application (611) of FIG. 6) and a second software application (e.g., the second software application (612) of FIG. 6), the electronic device (101) may determine (or confirm) whether an image rendered from at least one of the first software application and the second software application is obtained.

[0217] In operation (1005), the electronic device (101) may perform operation (1010) if the rendered image is obtained. Alternatively, in operation (1005), the electronic device (101) may perform operation (1015) if the rendered image is not obtained.

[0218] In operation (1010), the electronic device (101) may perform synthesis on the rendered image. For example, if the rendered image is obtained from at least one of the first software application and the second software application, the electronic device (101) may perform synthesis on the rendered image. For example, if the electronic device (101) obtains a first image rendered by the first software application and a second image rendered by the second software application in operation (1005), the electronic device (101) may synthesize the first image and the second image. However, the present disclosure is not limited thereto. For example, if the electronic device (101) obtains a first image rendered by the first software application in operation (1005), the electronic device (101) may synthesize the first image and a previous image of the second software application. Alternatively, if the electronic device (101) obtains a second image rendered by the second software application in operation (1005), the electronic device (101) can synthesize the previous image of the first software application and the second image.

[0219] In operation (1015), the electronic device (101) may change the state of the framework from the activated state to the deactivated state. For example, the electronic device (101) may change the state of the framework from the activated state to the deactivated state if it fails to obtain the image rendered in operation (1005) or after performing operation (1010).

[0220] Although FIG. 10A illustrates the method, including operations performed by the electronic device (101) when a single synchronization signal is generated, the present disclosure is not limited thereto. For example, the electronic device (101) may perform the operations of FIG. 10A whenever multiple synchronization signals are generated in a cycle. For specific details related thereto, reference may be made to FIGS. 10B and 10C.

[0221] Figure 10b illustrates an example of a synchronization signal generation cycle. Figure 10c illustrates an example of a framework synthesis performed according to the generation of a synchronization signal.

[0222] Referring to FIG. 10B, examples (1020) of synchronization signals (1021, 1022) generated according to a cycle based on 120 Hz are illustrated. For example, each of the synchronization signals (1021, 1022) may be generated according to a cycle of approximately 8.3 ms. For example, the cycle may be calculated as 1 / 120. For example, the electronic device (101) may perform the method of FIG. 10A based on the generation of the synchronization signal (1021), and may perform the method of FIG. 10A based on the generation of the synchronization signal (1022).

[0223] FIG. 10c illustrates an example (1030) of an operation performed by components of an electronic device (101) according to a synchronization signal (1021 or 1022) generated as in the example (1020) of FIG. 10b.

[0224] The first software application (611) (e.g., App A) of FIG. 10c may be the first software application (611) of FIG. 6. The second software application (612) (e.g., App B) of FIG. 10c may be the second software application (612) of FIG. 6. For example, the first software application (611) (e.g., App A) and the second software application (612) (e.g., App B) of FIG. 10c may be included in the application layer (451) of FIG. 4. For example, the first software application (511) and the second software application (512) may be included in the application layer (451) of FIG. 4. The framework (620) of FIG. 10c may be the framework (620) of FIG. 6. For example, the framework (620) of FIG. 10c may be included in the framework layer (452) of FIG. 4. The display (630) of FIG. 10c may be the display (630) of FIG. 6. For example, the display (630) of FIG. 10c may be an example of the display (420) of FIG. 4.

[0225] Referring to example (1030), the electronic device (101) can generate a synchronization signal (1035) according to a cycle determined in the framework (620). For example, the electronic device (101) can periodically generate the synchronization signal (1035) according to the cycle.

[0226] For example, the electronic device (101) can provide a synchronization signal to the software application by comparing the number of times the synchronization signal (1035) is generated with a reference number. In operation (1041), the electronic device (101) can provide the synchronization signal (1035) to the first software application (611) if the number of times the synchronization signal (1035) is generated corresponds to a first set of reference numbers (e.g., a multiple of 4). Similarly, in operation (1042), the electronic device (101) can provide the synchronization signal (1035) to the second software application (612) if the number of times the synchronization signal (1035) is generated corresponds to a second set of reference numbers (e.g., a multiple of 5). In FIG. 10C, the electronic device (101) is illustrated as performing operations (1041) and (1042) together, but the present disclosure is not limited thereto. For example, the electronic device (101) may perform operation (1041) when the number of times the synchronization signal (1035) is generated (e.g., 8) corresponds to the first set of reference numbers among the first set of reference numbers and the second set of reference numbers. For example, the electronic device (101) may perform operation (1042) when the number of times the synchronization signal (1035) is generated (e.g., 15) corresponds to the second set of reference numbers among the first set of reference numbers and the second set of reference numbers. For example, the electronic device (101) may perform operations (1041) and (1042) together when the number of times the synchronization signal (1035) is generated (e.g., 20) corresponds to the first set of reference numbers and the second set of reference numbers, respectively.

[0227] In operation (1043), the electronic device (101) may acquire an image (A1) in response to the synchronization signal provided in operation (1041). For example, the electronic device (101) may render the image (A1) in the first software application (611) based on the synchronization signal provided in operation (1041). For example, the electronic device (101) may provide the rendered image (A1) from the first software application (611) to the framework (620).

[0228] In operation (1044), the electronic device (101) may acquire an image (B1) in response to the synchronization signal provided in operation (1042). For example, the electronic device (101) may render the image (B1) in a second software application (612) based on the synchronization signal provided in operation (1042). For example, the electronic device (101) may provide the rendered image (B1) from the second software application (612) to the framework (620).

[0229] In operation (1045), the electronic device (101) may perform synthesis of images rendered on the framework (620). For example, when a synchronization signal (1035) is generated, the electronic device (101) may change the state of the framework (620) from an inactive state to an activated state. For example, the electronic device (101) may determine whether an image rendered by at least one of the first software application (611) and the second software application (612) has been acquired on the framework (620) in the activated state. As in the example of FIG. 10c, when images (A1, B1) are acquired in operations (1043) and (1044), the electronic device (101) may synthesize the images (A1, B1) on the framework (620) as the synchronization signal (1035) is generated. At this time, the synchronization signal (1035) that caused the synthesis of the images (A1, B1) and the synchronization signal (1035) that caused the rendering of each of the images (A1, B1) may be different (or generated at different timings).

[0230] In FIG. 10C, an example (1030) of the framework (620) synthesizing images (A1, B1) according to the generation of a synchronization signal (1035) is illustrated, but the present disclosure is not limited thereto. For example, if only one of the operations (1043) or (1044) is performed, the electronic device (101) can perform synthesis between one of the images (A1, B1) and a previously displayed image. Although not illustrated in FIG. 10C, the electronic device (101) can display a screen including the synthesized images (A1, B1) through the display (630).

[0231] FIG. 11a illustrates an example of an operational flow for a method of providing a synchronization signal to a software application based on a comparison between the number of synchronization signal generation times and reference numbers.

[0232] At least some of the methods of FIG. 11A may be performed by the electronic device (101) of FIG. 4. For example, at least some of the methods may be controlled by at least one processor of the electronic device (101). In the following embodiments, the operations may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.

[0233] Referring to FIG. 11A, in operation (1100), the electronic device (101) may generate a synchronization signal according to a cycle. For example, the cycle at which the synchronization signal is generated may be a cycle determined according to FIGS. 9A to 9C. For example, the electronic device (101) may generate the synchronization signal according to the cycle in a framework (e.g., framework (620) of FIG. 6).

[0234] In operation (1105), the electronic device (101) may determine whether the number of times the synchronization signal is generated corresponds to a first set of reference numbers according to a first frame rate. For example, the electronic device (101) may identify the number of times the synchronization signal is generated according to the cycle. For example, the electronic device (101) may determine whether the identified number of times corresponds to the first set of reference numbers according to the first frame rate. For example, the first frame rate may indicate a speed at which a first software application (e.g., the first software application (611) of FIG. 6) provides (or updates, renders) an image.

[0235] For example, the reference numbers of the first set may be determined according to the first frame rate. For example, the reference numbers of the first set may be determined according to the ratio between the cycle and the rendering cycle according to the first frame rate. For example, assume that the cycle is 120 Hz and the first frame rate is 30 fps. For example, the reference numbers of the first set may include integers that are multiples of 4 (120 / 30). For example, the reference numbers of the first set may include 4, 8, 12, 16, and 20.

[0236] In operation (1105), the electronic device (101) may perform operation (1110) if the number of times generated corresponds to the reference numbers of the first set. Alternatively, in operation (1105), the electronic device (101) may perform operation (1115) if the number of times generated does not correspond to the reference numbers of the first set (or is different from the reference numbers of the first set).

[0237] In operation (1110), the electronic device (101) may provide a synchronization signal to the first software application. For example, the electronic device (101) may provide the first software application with a synchronization signal having a generation count corresponding to one of the reference numbers of the first set. For example, the synchronization signal may be provided to the first software application from a framework.

[0238] In operation (1115), the electronic device (101) may determine whether the number of times the synchronization signal is generated corresponds to a second set of reference numbers according to a second frame rate. For example, the electronic device (101) may identify the number of times the synchronization signal is generated according to the cycle. For example, the electronic device (101) may determine whether the identified number of times corresponds to the second set of reference numbers according to the second frame rate. For example, the second frame rate may indicate a speed at which a second software application (e.g., the second software application (612) of FIG. 6) provides (or updates, renders) an image.

[0239] For example, the reference numbers of the second set may be determined according to the second frame rate. For example, the reference numbers of the second set may be determined according to the ratio between the period and the rendering period according to the second frame rate. For example, assume that the period is 120 Hz and the second frame rate is 24 fps. For example, the reference numbers of the second set may include integers that are multiples of 5 (120 / 24). For example, the reference numbers of the second set may include 5, 10, 15, and 20.

[0240] In operation (1115), the electronic device (101) may perform operation (1120) if the number of times of generation corresponds to the reference numbers of the second set. Alternatively, in operation (1115), the electronic device (101) may perform operation (1100) if the number of times of generation does not correspond to the reference numbers of the second set (or is different from the reference numbers of the second set).

[0241] In operation (1120), the electronic device (101) may provide a synchronization signal to the second software application. For example, the electronic device (101) may provide the second software application with a synchronization signal having a generation count corresponding to one of the reference numbers of the second set. For example, the synchronization signal may be provided to the second software application from a framework.

[0242] In operation (1115), if the number of times generated does not correspond to the reference numbers of the second set, the electronic device (101) may perform operation (1100) again. For example, the electronic device (101) may generate a synchronization signal according to the cycle through operation (1100). In other words, the electronic device (101) may repeatedly perform the operations of FIG. 11A.

[0243] The operation of determining whether the above number of generation corresponds to the reference numbers of the first set and the reference numbers of the second set may refer to the example of FIG. 11b.

[0244] Figure 11b illustrates an example of a method for providing a synchronization signal to a software application according to the frame rate of the software application.

[0245] Figure 11b illustrates examples (1151, 1152) comparing sets of synchronization signals generated according to a period and reference numbers according to a frame rate. In Figure 11b, for convenience of explanation, it is assumed that the period has a length (8.3 ms) according to 120 Hz.

[0246] Example (1151) illustrates a case where the first frame rate is 30 fps. For example, the first set of reference numbers according to the first frame rate of 30 fps may include integers that are multiples of 4 (e.g., 4, 8, 12, 16, 20). Example (1152) illustrates a case where the second frame rate is 24 fps. For example, the second set of reference numbers according to the second frame rate of 24 fps may include integers that are multiples of 5 (e.g., 5, 10, 15, 20).

[0247] Referring to example (1151), the electronic device (101) may provide the synchronization signal to the first software application at the timing (1161) when the synchronization signal is first generated. At the timing (1162) following the timing (1161) according to the cycle, the electronic device (101) may identify that the number of times generated is 1 and determine that the number of times generated does not correspond to one of the reference numbers of the first set. Accordingly, the electronic device (101) may not provide (or refrain from, omit, or delay) the synchronization signal generated at the timing (1162) to the first software application. For example, the electronic device (101) may identify that the number of times generated is 4 according to the synchronization signal generated at the timing (1163) and determine that the number of times generated corresponds to one of the reference numbers of the first set. Accordingly, the electronic device (101) may provide the synchronization signal generated at the timing (1163) to the first software application. Additionally, for example, the electronic device (101) may identify that the number of times generated is 8 based on the synchronization signal generated at timing (1164) and determine that the number of times generated corresponds to one of the reference numbers of the first set. Accordingly, the electronic device (101) may provide the synchronization signal generated at timing (1164) to the first software application.

[0248] Referring to example (1152), the electronic device (101) may provide the synchronization signal to the second software application at a timing (1171) when the synchronization signal is first generated. The timing (1171) may be the same timing as the timing (1161). At a timing (1172) following the timing (1171) according to the cycle, the electronic device (101) may identify that the number of times generated is 1 and determine that the number of times generated does not correspond to one of the reference numbers of the second set. Accordingly, the electronic device (101) may not provide (or refrain from, omit, or delay) the synchronization signal generated at the timing (1172) to the second software application. For example, the electronic device (101) may identify that the number of times generated is 5 according to the synchronization signal generated at the timing (1173) and determine that the number of times generated corresponds to one of the reference numbers of the second set. Accordingly, the electronic device (101) can provide a synchronization signal generated at timing (1173) to the second software application.

[0249] Referring to FIG. 11B, the electronic device (101) may provide a synchronization signal generated at timing (1161) (or timing (1171)) to each of the first software application and the second software application. For example, the electronic device (101) may not provide (or refrain from, omit, or delay) the synchronization signal generated at timing (1162) (or timing (1172)) to both the first software application and the second software application. The electronic device (101) may provide the synchronization signal generated at timing (1163) to the first software application among the first and second software applications. At this time, the electronic device (101) may not provide (or refrain from, omit, or delay) the synchronization signal generated at timing (1163) to the second software application. The electronic device (101) may provide the synchronization signal generated at timing (1173) to the second software application among the first and second software applications. At this time, the electronic device (101) may not provide (or refrain from, omit, or delay) the synchronization signal generated at timing (1173) to the first software application.

[0250] In FIG. 11A, the electronic device (101) determines whether the number of times generated corresponds to the reference numbers of the first set and then determines whether the number of times generated corresponds to the reference numbers of the second set, but the present disclosure is not limited thereto. For example, the electronic device (101) may determine whether the number of times generated corresponds to the reference numbers of the second set and then determine whether the number of times generated corresponds to the reference numbers of the first set. Alternatively, for example, the electronic device (101) may simultaneously determine whether the number of times generated corresponds to each of the reference numbers of the first set and the reference numbers of the second set.

[0251] Figure 12a illustrates an example of an exemplary rollable electronic device.

[0252] Referring to FIG. 12A, the electronic device (101) may include a display (1230) (e.g., display (420) of FIG. 4), a first housing (1210), and / or a second housing (1220). In other words, the electronic device (101) of FIG. 12A may represent an example of the electronic device (101) of FIG. 4.

[0253] For example, the first housing (1210) may be referred to as a first housing part. The second housing (1220) may be referred to as a second housing part. For example, the electronic device (101) may include a housing including the first housing part and the second housing part.

[0254] In one embodiment, the first housing (1210) can accommodate at least a portion of the second housing (1220). The first housing (1210) can enclose (or surround) at least a portion of the second housing (1220).

[0255] In one embodiment, the second housing (1220) may be movable relative to the first housing (1210). The second housing (1220) may be movable linearly relative to the first housing (1210). The second housing (1220) may be slidable relative to the first housing (1210). For example, the second housing (1220) may be movable relative to the first housing (1210) in a first direction (d1) and / or a second direction (d2) opposite to the first direction (d1). As the second housing (1220) moves in the first direction (d1), the second housing (1220) may slide outward from the first housing (1210). As the second housing (1220) moves in the second direction (d2), the second housing (1220) can slide into the inside of the first housing (1210). The movement of the second housing (1220) relative to the first housing (1210) can change the state of the electronic device (101). The state of the electronic device (101) can include a slide-in state and / or a slide-out state. Within the slide-in state of the electronic device (101), the second housing (1220) can move in the first direction (d1) among the first direction (d1) and the second direction (d2) relative to the first housing (1210). For example, within the slide-in state of the electronic device (101), the second housing (1220) can move only in the first direction (d1). Within the slide-out state of the electronic device (101), the second housing (1220) may be movable in a first direction (d1) and a second direction (d2) with respect to the first housing (1210), among the second directions (d2). For example, within the slide-out state of the electronic device (101), the second housing (1220) may be movable only in the second direction (d2).

[0256] According to one embodiment, the display (1230) may be disposed on the second housing (1220). The display (1230) may be movable relative to the first housing (1210) by movement of the second housing (1220) relative to the first housing (1210). For example, the display (1230) may be movable from the inside of the first housing (1210) to the outside of the first housing (1210) by movement of the second housing (1220) in the first direction (d1). For example, in a slide-out state of the electronic device (101), the size of the electronic device (101) exposed to the outside of the first housing (1210) may be maximum. For example, the display (1230) can be moved from the outside of the first housing (1210) to the inside of the first housing (1210) by movement of the second housing (1220) in the second direction (d2). For example, the display (1230) can be rolled into the inside of the first housing (1210) from the outside of the first housing (1210) by movement of the second housing (1220) in the second direction (d2).

[0257] According to one embodiment, the first planar portion (1231) may be disposed on the second housing (1220). The shape of the first planar portion (1231) may be maintained independently of the movement of the second housing (1220) with respect to the first housing (1210). The first planar portion (1231) may not be deformed by the movement of the second housing (1220) with respect to the first housing (1210). The first planar portion (1231) may be exposed to the outside of the first housing (1210) independently of the movement of the second housing (1220) with respect to the first housing (1210).

[0258] According to one embodiment, the second planar portion (1232) can be connected to the first planar portion (1231) by a folding portion. The second planar portion (1232) can be spaced apart from the first planar portion (1231). The second planar portion (1232) can be positioned (or accommodated) inside the first housing (1210) and the second housing (1220) within the slide-in state of the electronic device (101). At least a portion of the second planar portion (1232) can be positioned (or exposed) outside the first housing (1210) and the second housing (1220) within the slide-out state of the electronic device (101).

[0259] According to one embodiment, the folding portion may be disposed between the first flat portion (1231) and the second flat portion (1232). The shape of at least a portion of the folding portion may change depending on a change in the state of the electronic device (101). For example, at least a portion of the folding portion may be pulled outward from the first housing (1210) by movement of the second housing (1220) with respect to the first housing (1210) in the first direction (d1). At least a portion of the folding portion may have a shape that is substantially parallel to the first flat portion (1231) by being pulled outward from the first housing (1210). For example, at least a portion of the folding portion may be rolled into the interior of the first housing (1210) by movement of the second housing (1220) with respect to the first housing (1210) in the second direction (d2). At least a portion of the folding portion may have a curved shape relative to the first flat portion (1231) by being rolled into the interior of the first housing (1210).

[0260] According to one embodiment, within the slide-in state of the electronic device (101), the size of the display area of ​​the externally visible display (1230) may be minimum. For example, within the slide-in state of the electronic device (101), only the first flat portion (1231) may be exposed. The position of the second housing (1220) relative to the first housing (1210) while the electronic device (101) is in the slide-in state may be referred to as the reduced position. Within the slide-out state of the electronic device (101), the size of the display area of ​​the externally visible display (1230) may be maximum. For example, within the slide-out state of the electronic device (101), at least a portion of the first flat portion (1231), the folding portion, and the second flat portion (1232) may be exposed. However, the present invention is not limited thereto. For example, within the slide-out state of the electronic device (101), the second flat portion (1232) may not be exposed to the outside of the first housing (1210). The position of the second housing (1220) relative to the first housing (1210) while the electronic device (101) is in the slide-out state may be referred to as the extended position.

[0261] FIGS. 12b and 12c illustrate examples of a method for displaying a screen including images of a plurality of software applications according to the frame rate of the software applications on a display of a rollable electronic device.

[0262] FIGS. 12B and 12C illustrate examples of a method for displaying a screen including images of multiple software applications through a display (1230) of an electronic device (101) of FIG. 12A. For example, the electronic device (101) of FIGS. 12B and 12C may be referred to as a rollable electronic device. For example, the display (1230) may be referred to as a flexible display.

[0263] FIG. 12b illustrates examples (1241, 1242, 1243) of screens including images of a plurality of software applications displayed in a display area of ​​a display (1230) as the housing (or display (1230)) of an electronic device (101) expands in a first direction (d1).

[0264] Example (1241) illustrates a slide-in state of the electronic device (101). For example, in the slide-in state of the electronic device (101), the size of the display (1230) that is visible from the outside may have a first size (1230a), which is a minimum size. Through the display (1230) having the first size (1230a), the electronic device (101) may display a screen including images of multiple software applications. For example, the screen may include a first image (1201) of a first software application (e.g., App A) and a second image (1202) of a second software application (e.g., App B). In one example, the second image (1202) may be floated (or superimposed on) at least a portion of the first image (1201). However, the present disclosure is not limited thereto. For example, the second image (1202) may not be floated relative to the first image (1201), but may be displayed together with the first image (1201) by splitting the display (1230) having the first size (1230a). In one example, the size of the second image (1202) may be changed.

[0265] Example (1242) illustrates a partial slide-out state of the electronic device (101). For example, in the partial slide-out state of the electronic device (101), the externally visible size of the display (1230) may have a second size (1230b). For example, the second size (1230b) may be larger than the first size (1230a). Through the display (1230) having the second size (1230b), the electronic device (101) may display a screen including images of multiple software applications. For example, the screen may include a first image (1201) of a first software application (e.g., App A) and a second image (1202) of a second software application (e.g., App B). The size of the first image (1201) of example (1242) may be larger than the size of the first image (1201) of example (1241). The size of the second image (1202) of example (1242) may be substantially the same as the size of the second image (1202) of example (1241). However, the present disclosure is not limited thereto. In one example, the sizes of each of the first image (1201) and the second image (1202) may be changed. In one example, the second image (1202) may be floated (or superimposed on) at least a portion of the first image (1201). However, the present disclosure is not limited thereto. For example, the second image (1202) may not be floated with respect to the first image (1201), but may be displayed together with the first image (1201) by dividing the display (1230) having the second size (1230b).

[0266] Example (1243) illustrates a slide-out state (or a complete slide-out state) of the electronic device (101). For example, in the slide-out state of the electronic device (101), the externally visible size of the display (1230) may have a third size (1230c). For example, the third size (1230c) may be larger than the second size (1230b). Through the display (1230) having the third size (1230c), the electronic device (101) may display a screen including images of multiple software applications. For example, the screen may include a first image (1201) of a first software application (e.g., App A) and a second image (1202) of a second software application (e.g., App B). The size of the first image (1201) of example (1243) may be substantially the same as the size of the second image (1202) of example (1243). However, the present disclosure is not limited thereto. In one example, the sizes of each of the first image (1201) and the second image (1202) may be changed. In example (1243), the first image (1201) and the second image (1202) are displayed by dividing the display (1230) having the third size (1230c), but the present disclosure is not limited thereto. The second image (1202) may be floated (or superimposed on) at least a portion of the first image (1201).

[0267] Referring to examples (1241, 1242, 1243) of FIG. 12B, the electronic device (101) can display a plurality of software applications through a display area of ​​the display (1230), which is a flexible display. According to one embodiment, the electronic device (101) can generate a synchronization signal according to a cycle determined according to frame rates of the plurality of software applications while displaying images of the plurality of software applications. For example, a first frame rate (e.g., 30 fps) of a first software application may be different from a second frame rate (e.g., 24 fps) of a second software application. The electronic device (101) can provide a synchronization signal generated according to the cycle (e.g., 120 Hz) according to the frame rates of each of the plurality of software applications. Accordingly, the electronic device (101) can cause each of the plurality of software applications to perform rendering caused by the synchronization signal provided according to the frame rate of the software application. In other words, in the examples (1241, 1242, 1243) of FIG. 12b, the electronic device (101) can use the methods of FIGS. 6 to 11b described above.

[0268] FIG. 12c illustrates examples (1251, 1252, 1253) of screens including images of a plurality of software applications displayed in a display area of ​​a display (1230) as the housing (or display (1230)) of the electronic device (101) expands in a third direction (d3) or contracts in a fourth direction (d4).

[0269] Example (1251) illustrates a partial slide-out state of the electronic device (101). For example, in the partial slide-out state of the electronic device (101), the display (1230) may have a first size (1230d). Through the display (1230) having the first size (1230d), the electronic device (101) may display a screen including images of a plurality of software applications. For example, the screen may include a first image (1201) of a first software application (e.g., App A), a second image (1202) of a second software application (e.g., App B), and a third image (1203) of a third software application (e.g., App C). For example, a first image (1201), a second image (1202), and a third image (1203) may be displayed together with the first image (1201) by dividing a display (1230) having a first size (1230d). In one example, the size and displayed position of each of the first image (1201), the second image (1202), and the third image (1203) may be changed.

[0270] Example (1252) illustrates a slide-out state of an electronic device (101) that is at least partially reduced in a fourth direction (d4) from the partial slide-out state of example (1251). In the slide-out state of the electronic device (101) of example (1252), a size of the display (1230) that is visible from the outside may have a second size (1230e). For example, the second size (1230e) may be smaller than the first size (1230d). Through the display (1230) having the second size (1230e), the electronic device (101) may display a screen including images of a plurality of software applications. For example, the screen may include a first image (1201) of a first software application (e.g., App A), a second image (1202) of a second software application (e.g., App B), and a third image (1203) of a third software application (e.g., App C). In one example, the third image (1203) may be floated (or superimposed on) at least a portion of the first image (1201). For example, the second image (1202) may not be floated with respect to the first image (1201), but may be displayed together with the first image (1201) by dividing the display (1230) having the second size (1230e). However, the present disclosure is not limited thereto. In one example, the sizes and positions of each of the first image (1201), the second image (1202), and the third image (1203) may be changed.

[0271] Example (1253) illustrates a slide-out state of the electronic device (101) that is at least partially extended in a third direction (d3) from the partial slide-out state of example (1251). In the slide-out state of the electronic device (101) of example (1253), the externally visible size of the display (1230) may have a third size (1230f). For example, the third size (1230f) may be larger than the first size (1230d). Through the display (1230) having the third size (1230f), the electronic device (101) may display a screen including images of a plurality of software applications. For example, the screen may include a first image (1201) of a first software application (e.g., App A), a second image (1202) of a second software application (e.g., App B), and a third image (1203) of a third software application (e.g., App C). In one example, the first image (1201), the second image (1202), and the third image (1203) may be displayed together by dividing a display (1230) having a third size (1230f). However, the present disclosure is not limited thereto. In one example, the size and position of each of the first image (1201), the second image (1202), and the third image (1203) may be changed.

[0272] Referring to examples (1251, 1252, 1253) of FIG. 12C, the electronic device (101) can display a plurality of software applications through a display area of ​​the display (1230), which is a flexible display. According to one embodiment, the electronic device (101) can generate a synchronization signal according to a cycle determined according to frame rates of the plurality of software applications while displaying images of the plurality of software applications. For example, a first frame rate of a first software application, a second frame rate of a second software application, and a third frame rate of a third software application may be at least partially different from each other. For example, a first frame rate of the first software application (e.g., 30 fps), a second frame rate of the second software application (e.g., 24 fps), and a third frame rate of the third software application (e.g., 60 fps) may be different from each other. A first frame rate (e.g., 30 fps) of a first software application may be substantially the same as a second frame rate (e.g., 30 fps) of a second software application, and the first frame rate of the first software application may be different from a third frame rate (e.g., 60 fps) of a third software application. The electronic device (101) may provide a synchronization signal generated according to the cycle (e.g., 120 Hz) according to the frame rates of each of the plurality of software applications. Accordingly, the electronic device (101) may cause each of the plurality of software applications to perform rendering caused by the synchronization signal provided according to the frame rates of the software applications. In other words, in the examples (1251, 1252, 1253) of FIG. 12c, the electronic device (101) may utilize the methods of FIGS. 6 to 11b described above.

[0273] Figures 13a and 13b illustrate examples of exemplary foldable electronic devices.

[0274] FIG. 13A illustrates an unfolded state of an exemplary electronic device according to one embodiment. FIG. 13B illustrates a folded state of an exemplary electronic device according to one embodiment. The electronic device (101) of FIGS. 13A and 13B may be referred to as a foldable electronic device. The electronic device (101) of FIGS. 13A and 13B may be an example of the electronic device (101) of FIG. 4.

[0275] Referring to FIGS. 13A and 13B , an electronic device (101) according to one embodiment may include a first housing (1310), a second housing (1320), and / or a folding housing (1335). For example, the first housing (1310) may be referred to as a first housing part. For example, the second housing (1320) may be referred to as a second housing part. For example, the folding housing (1335) may be referred to as a hinge structure.

[0276] In one embodiment, the display (1330) can be disposed on the first housing (1310) and the second housing (1320) across the folding housing (1335). The display (1330) can be disposed on the first side (1331) and the second side (1332) across the folding housing (1335). For example, an area of ​​the display (1330) disposed on the first side (1331) can be referred to as a first display part or a first area. For example, an area of ​​the display (1330) disposed on the second side (1332) can be referred to as a second display part or a second area. For example, the display (1330) can include a bending area (or a third display part, bending part) that can be bent between the first area and the second area. For example, the bending area may represent an area of ​​the display (1330) corresponding to the folding housing (1335).

[0277] For example, referring to FIG. 13A, the electronic device (101) may be in an unfolded state in which the first housing (1310) and the second housing (1320) are fully folded out by the folding housing (the folding housing (1335) of FIG. 13B). According to one embodiment, the unfolded state may mean a state in which a first direction (1341) toward which a first surface (1331) of the first housing (1310) faces corresponds to a second direction (1342) toward which a second surface (1332) of the second housing (1320) faces. For example, in the unfolded state, the first direction (1341) may be substantially parallel to the second direction (1342). For example, in the unfolded state, the first direction (1341) may be identical to the second direction (1342). In one embodiment, the first surface (1331) and the second surface (1332) may form a substantially flat surface within the unfolded state. In one embodiment, the angle (1333) between the first surface (1331) and the second surface (1332) within the unfolded state may be approximately 180 degrees. In one embodiment, the unfolded state may refer to a state in which the entire display area of ​​the display (1330) may be provided on a substantially flat surface. For example, within the unfolded state, the display area of ​​the display (1330) may not include a curved surface. The unfolded state may be referred to as an outspread state or an outspreading state.

[0278] For example, referring to FIG. 13B, the electronic device (101) may provide a folded state in which the first housing (1310) and the second housing (1320) are folded in by the folding housing (1335). According to one embodiment, the folded state may mean a state in which a first direction (1341) toward which the first surface (1331) (not shown in FIG. 13B) faces is distinguished from a second direction (1342) toward which the second surface (1332) (not shown in FIG. 13B) faces. For example, in the folded state, the angle between the first direction (1341) and the second direction (1342) is substantially approximately 180 degrees, and the first direction (1341) and the second direction (1342) may be distinguished from each other. For example, in a folded state, the angle (1357) between the first side (1331) and the second side (1332) may be substantially 0 degrees. The folded state may be referred to as a folded state. For example, the electronic device (101) may provide a folded state in which the display area (not shown in FIG. 13B) corresponding to the first side (1331) and the second side (1332) are made to face each other by the folding housing (1335), so that the display area (not shown in FIG. 13B) corresponding to the second side (1332) substantially completely overlaps the display area (not shown in FIG. 13B) of the display (1330). For example, the electronic device (101) may provide a folded state in which the first direction (1341) is substantially opposite to the second direction (1342). As another example, the folding state may mean a state in which the display area of ​​the display (1330) is hidden from the view of a user looking at the electronic device (101), but is not limited thereto.

[0279] According to one embodiment, the display (1330) may be bent by rotation provided through the folding housing (1335). For example, within the folded state, a portion of the display area of ​​the display (1330) may be bent. For example, the portion of the display area of ​​the display (1330) may be in a curved state to prevent damage to the display (1330) within the folded state. However, the present invention is not limited thereto.

[0280] For example, the processor (120) can identify an angle between a first direction (1341) toward which a first surface (1331) of the first housing (1310) faces and a second direction (1342) toward which a second surface (1332) of the second housing (1320) faces, through a Hall sensor within the electronic device (101), a rotation sensor within the folding housing (1335), and / or a stretch sensor within the electronic device (101).

[0281] Meanwhile, the first housing (1310) may include a display (1350), which is a cover display, on a third side (1355) opposite to the first side (1331). For example, the display (1350) may be used to provide visual information within the folded state in which the display area (e.g., the first area, the second area, the bending area) of the display (1330) is not visible.

[0282] FIGS. 13c and 13d illustrate examples of a method for displaying a screen including images of a plurality of software applications according to the frame rates of the software applications on a display of a foldable electronic device.

[0283] FIGS. 13C and 13D illustrate examples of a method for displaying a screen including images of multiple software applications through a display (1330) of an electronic device (101) of FIGS. 13A and 13B . For example, the electronic device (101) of FIGS. 13C and 13D may be referred to as a foldable electronic device. For example, the display (1330) may be referred to as a flexible display.

[0284] FIG. 13C illustrates an example (1361) of an electronic device (101) in an unfolded state and an example (1362) of an electronic device (101) in a partially folded state, with the housing (or display (1330)) of the electronic device (101) at least partially folded. In example (1362), the electronic device (101) may be folded by about 90°. However, the present disclosure is not limited thereto.

[0285] Referring to example (1361), the electronic device (101) may display a first image (1301) of a first software application (e.g., App A) through a display area of ​​a display (1330). For example, the first frame rate of the first software application may be 30 fps. However, the present disclosure is not limited thereto.

[0286] Referring to examples (1361) and (1362), the electronic device (101) may have a housing that can be at least partially folded by a user. For example, the electronic device (101) may display a screen including images of a plurality of software applications through the display (1330) when the folded angle is greater than or equal to a reference angle (e.g., 90°). For example, a mode for displaying a screen including images of a plurality of software applications in a state in which the electronic device (101) is folded greater than or equal to the reference angle may be referred to as a flex mode. For example, the electronic device (101) may display a screen including a first image in a first display area (1330-1) of the display (1330) and a second image in a second display area (1330-2). For example, the second image may be an image of a second software application (e.g., App B). For example, the second frame rate of the second software application may be 24 fps. However, the present disclosure is not limited thereto.

[0287] Referring to examples (1361, 1362) of FIG. 13C, the electronic device (101) can display a plurality of software applications through a display area of ​​the display (1330), which is a flexible display. According to one embodiment, the electronic device (101) can generate a synchronization signal according to a cycle determined according to frame rates of the plurality of software applications while displaying images of the plurality of software applications. For example, the first frame rate of a first software application may be different from the second frame rate of a second software application. The electronic device (101) can provide a synchronization signal generated according to the cycle (e.g., 120 Hz) according to the frame rate of each of the plurality of software applications. Accordingly, the electronic device (101) can perform rendering caused by the synchronization signal provided according to the frame rate of the software application, respectively, of each of the plurality of software applications. In other words, in the examples (1361, 1362) of FIG. 13c, the electronic device (101) can use the methods of FIGS. 6 to 11b described above.

[0288] FIG. 13d illustrates an example (1371) of displaying a screen including an image of one software application on a display (1330) of an electronic device (101) in an unfolded state, and examples (1372, 1373) of displaying screens including images of multiple software applications.

[0289] Referring to Example (1371), the electronic device (101) can display a first image (1301) of a first software application (e.g., App A) through a display area of ​​the display (1330). For example, the first frame rate of the first software application may be 30 fps. However, the present disclosure is not limited thereto. Example (1371) illustrates a case where the first image (1301) of the first software application (e.g., App A) is displayed through a display area of ​​the display (1330) in the electronic device (101) in an unfolded state, but the present disclosure is not limited thereto. For example, the present disclosure can also be applied to a case where the first image (1301) of the first software application (e.g., App A) is displayed through a part of the display area of ​​the display (1330) or the display area of ​​the cover display in the electronic device (101) in a folded state.

[0290] Referring to example (1372), the electronic device (101) can display a first image (1301) of a first software application through a first display area (1330-3) among the display areas of the display (1330), and can display a second image (1302) of a second software application (e.g., App B) through a second display area (1330-4). Referring to Example (1373), the electronic device (101) may display a first image (1301) of a first software application through a first display area (1330-3) of a display area of ​​a display (1330), a second image (1302) of a second software application through a first partial area (1330-4a) of a second display area (1330-4), and a third image (1303) of a third software application (e.g., App C) through a second partial area (1330-4b) of the second display area (1330-4). The positions, sizes, and arrangements of the images in Example (1372) and Example (1373) are merely exemplary, and the present disclosure is not limited thereto. For example, at least one of the positions, sizes, or arrangements of the images in Example (1372) and Example (1373) may be changed.

[0291] Referring to examples (1371, 1372, 1373) of FIG. 13D, the electronic device (101) can display a plurality of software applications through a display area of ​​the display (1330), which is a flexible display. According to one embodiment, the electronic device (101) can generate a synchronization signal according to a cycle determined according to frame rates of the plurality of software applications while displaying images of the plurality of software applications. For example, a first frame rate of a first software application, a second frame rate of a second software application, and a third frame rate of a third software application may be at least partially different from each other. For example, a first frame rate of the first software application (e.g., 30 fps), a second frame rate of the second software application (e.g., 24 fps), and a third frame rate of the third software application (e.g., 60 fps) may be different from each other. A first frame rate (e.g., 30 fps) of a first software application may be substantially the same as a second frame rate (e.g., 30 fps) of a second software application, and the first frame rate of the first software application may be different from a third frame rate (e.g., 60 fps) of a third software application. The electronic device (101) may provide a synchronization signal generated according to the cycle (e.g., 120 Hz) according to the frame rates of each of the plurality of software applications. Accordingly, the electronic device (101) may perform rendering caused by the synchronization signal provided according to the frame rates of the software applications. In other words, in the examples (1371, 1372, 1373) of FIG. 13d, the electronic device (101) may utilize the methods of FIGS. 6 to 11b described above.

[0292] FIG. 14A illustrates an example of an exemplary multi-foldable electronic device.

[0293] Referring to FIG. 14A, an electronic device (101) that is a multi-foldable electronic device of a first type (1400a) and an electronic device (101) that is a multi-foldable electronic device of a second type (1400b) are illustrated. For example, in the electronic device (101) of the first type (1400a), when the display (1430) is in a folded state (or a folded state), when viewed from one side of the electronic device (101), the housing (1410) of the electronic device (101) may have a G (or P) shape. In contrast, in the electronic device (101) of the second type (1400b), when the display (1430) is in a folded state (or a folded state), when viewed from one side of the electronic device (101), the housing (1410) of the electronic device (101) may have a Z shape.

[0294] Referring to FIG. 14A, the electronic device (101) may include a first housing (1411), a second housing (1412), a third housing (1413), a first hinge structure, a second hinge structure, and a display (1430). The first housing (1411) may be rotatably coupled to the second housing (1412) via the first hinge structure. For example, the first housing (1411) and the second housing (1412) may rotate about the first folding axis via the first hinge structure disposed along the first folding axis. The third housing (1413) may be rotatably coupled to the second housing (1412) via the second hinge structure. For example, the second housing (1412) and the third housing (1413) can rotate about the second folding axis through a second hinge structure arranged along the second folding axis.

[0295] The display (1430) may form at least a portion of the exterior of the electronic device (101). The display (1430) may be partially disposed within the first housing (1411), the second housing (1412), and the third housing (1413). The display (1430) may define the front of the electronic device (101) by forming one side of the first housing (1411), one side of the second housing (1412), and one side of the third housing (1413). The display (1430) may include an area where a front camera is positioned. The area of ​​the display (1430) may include an opening for the front camera. However, the present invention is not limited thereto, and the front camera may be disposed below an area corresponding to the area of ​​the display (1430). The display (1430) can provide visual information to the user through the above area, and the front camera can obtain an image of an external object located in a direction facing the front of the electronic device (101) through the above area of ​​the display (1430).

[0296] The display (1430) may include a first planar portion, a second planar portion, a third planar portion, a first deformable portion, and a second deformable portion. The first planar portion of the display (1430) may be disposed on one surface of the first housing (1411). The second planar portion of the display (1430) may be disposed on one surface of the second housing (1412). The third planar portion of the display (1430) may be disposed on one surface of the third housing (1413). The first deformable portion of the display (1430) may be located between the first planar portion of the display (1430) and the second planar portion of the display (1430). For example, the first deformable portion of the display (1430) may be disposed on a first hinge structure connecting the first housing (1411) and the second housing (1412). The second deformable portion of the display (1430) may be disposed between the second planar portion of the display (1430) and the third planar portion of the display (1430). For example, the second deformable portion may be disposed on a second hinge structure connecting the second housing (1412) and the third housing (1413).

[0297] For example, a first display area (1431) of a display (1430) may include at least a portion of a first deformable portion and a first planar portion. For example, a second display area (1432) of a display (1430) may include a second planar portion, at least a portion of a first deformable portion, and at least a portion of a second deformable portion. For example, a third display area (1433) of a display (1430) may include at least a portion of a second deformable portion and a third planar portion.

[0298] The first planar portion, the second planar portion, and the third planar portion of the display (1430) can maintain a plane regardless of the state of the electronic device (101). The first deformable portion and the second deformable portion of the display (1430) can unfold or bend depending on the state of the electronic device (101).

[0299] The additional display (or cover display), the first rear cover, and the second rear cover may form at least a portion of the exterior of the electronic device (101). The first rear cover may form another side of the first housing (1411), the cover display may form another side of the second housing (1412), and the second rear cover may be formed on another side of the third housing (1413). The cover display, the first rear cover, and the second rear cover may define the rear side of the electronic device (101). The first rear cover may include a structure (e.g., an opening) for exposing a rear camera disposed within the first housing (1411). The cover display may include an area where another front camera is positioned. The area of ​​the cover display may include an opening for the front camera.

[0300] FIGS. 14b and 14c illustrate examples of a method for displaying a screen including images of multiple software applications according to the frame rates of the software applications on a display of a multi-foldable electronic device.

[0301] FIGS. 14B and 14C illustrate examples of a method for displaying a screen including images of multiple software applications through a display (1430) of an electronic device (101) of FIG. 14A. For example, the electronic device (101) of FIGS. 14B and 14C may be referred to as a multi-foldable electronic device. For example, the display (1430) may be referred to as a flexible display.

[0302] FIG. 14b illustrates examples (1441, 1442) of an electronic device (101) of the second type (1400b) of FIG. 14a. FIG. 14c illustrates examples (1451, 1452, 1453) of an electronic device (101) of the first type (1400a) of FIG. 14a.

[0303] Referring to example (1441), the electronic device (101) may display a first image (1401) of a first software application (e.g., App A) through a first display area (1431) of a display (1430). For example, the first frame rate of the first software application may be 30 fps. However, the present disclosure is not limited thereto. For example, the electronic device (101) may also display images of a plurality of software applications (e.g., the first software application and a second software application (e.g., App B)) through the first display area (1431) of the display (1430).

[0304] Referring to examples (1441) and (1442), the electronic device (101) can be changed from a folded state to an unfolded state. For example, the electronic device (101) can be changed from a completely folded state to a completely unfolded state. For example, in the electronic device (101) in a completely unfolded state, the entire display areas (1431, 1432, 1433) of the display (1430) can be viewed from the outside.

[0305] Referring to Example (1442), the electronic device (101) can display a first image (1401) of a first software application through a first display area (1431) and a second display area (1432) of a display (1430), and can display a second image (1402) of a second software application through a third display area (1433) of the display (1430). For example, the second frame rate of the second software application can be 24 fps. In Example (1442), an example of the electronic device (101) displaying images of two software applications is illustrated, but the present disclosure is not limited thereto. For example, the electronic device (101) can also display three software applications (e.g., a first software application, a second software application, and a third software application (e.g., App C)). The size, position, and arrangement of images of two software applications displayed on the electronic device (101) may be changed.

[0306] Referring to examples (1441, 1442) of FIG. 14B, the electronic device (101) may display a plurality of software applications through a display area of ​​the display (1430), which is a flexible display. According to one embodiment, the electronic device (101) may generate a synchronization signal according to a cycle determined according to frame rates of the plurality of software applications while displaying images of the plurality of software applications. For example, a first frame rate (e.g., 30 fps) of a first software application and a second frame rate (e.g., 24 fps) of a second software application may be different from each other. The electronic device (101) may provide a synchronization signal generated according to the cycle (e.g., 120 Hz) according to the frame rates of each of the plurality of software applications. Accordingly, the electronic device (101) may perform rendering caused by the synchronization signal provided according to the frame rates of the software applications, respectively. In other words, in the examples (1441, 1442) of FIG. 14b, the electronic device (101) can use the methods of FIGS. 6 to 11b described above.

[0307] Referring to example (1451) of FIG. 14c, the electronic device (101) may display a first image (1401) of a first software application (e.g., App A) through a first display area (1431) of the display (1430). For example, the first frame rate of the first software application may be 30 fps. However, the present disclosure is not limited thereto. For example, the electronic device (101) may also display images of a plurality of software applications (e.g., the first software application and a second software application (e.g., App B)) through the first display area (1431) of the display (1430).

[0308] Referring to examples (1451) and (1452), the electronic device (101) can be changed from a folded state to an unfolded state. For example, the electronic device (101) can be changed from a completely folded state to a partially unfolded state. For example, in the electronic device (101) in a partially unfolded state, some display areas (1432, 1433) of the display (1430) can be viewed from the outside.

[0309] Referring to example (1452), the electronic device (101) can display a first image (1401) of a first software application through a second display area (1432) of a display (1430), and can display a second image (1402) of a second software application through a third display area (1433). For example, the second frame rate of the second software application can be 24 fps. However, the present disclosure is not limited thereto.

[0310] Referring to examples (1452) and (1453), the electronic device (101) can be changed from a partially unfolded state to a fully unfolded state. For example, in the fully unfolded state of the electronic device (101), the entire display areas (1431, 1432, 1433) of the display (1430) can be viewed from the outside.

[0311] Referring to example (1453), the electronic device (101) can display a first image (1401) of a first software application through a first display area (1431) of a display (1430), a second image (1402) of a second software application through a second display area (1432), and a third image (1403) of a third software application through a third display area (1433). For example, the third frame rate of the third software application can be 60 fps. However, the present disclosure is not limited thereto.

[0312] In examples (1451, 1452, 1453), the size, position, and arrangement of the image of each software application displayed through the display (1430) of the electronic device (101) can be changed.

[0313] Referring to examples (1451, 1452, 1453) of FIG. 14C, the electronic device (101) may display a plurality of software applications through a display area of ​​the display (1430), which is a flexible display. According to one embodiment, the electronic device (101) may generate a synchronization signal according to a cycle determined according to frame rates of the plurality of software applications while displaying images of the plurality of software applications. For example, a first frame rate of a first software application, a second frame rate of a second software application, and a third frame rate of a third software application may be at least partially different from each other. For example, a first frame rate of the first software application, a second frame rate of the second software application, and a third frame rate of the third software application may be different from each other. The first frame rate of the first software application may be substantially the same as the second frame rate of the second software application, and the first frame rate of the first software application may be different from the third frame rate of the third software application. The electronic device (101) may provide a synchronization signal generated according to the cycle, based on the frame rate of each of the plurality of software applications. Accordingly, the electronic device (101) may perform rendering caused by the synchronization signal provided according to the frame rate of each of the plurality of software applications. In other words, in the examples (1451, 1452, 1453) of FIG. 14c, the electronic device (101) may utilize the methods of FIGS. 6 to 11b described above.

[0314] FIG. 15 illustrates an example of an operational flow for a method in which an electronic device displays a screen including images of multiple software applications using a synchronization signal provided according to the frame rate of the software applications.

[0315] At least some of the methods of FIG. 15 may be performed by the electronic device (101) of FIG. 4. For example, at least some of the methods may be controlled by at least one processor of the electronic device (101). In the following embodiments, the operations may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.

[0316] Referring to FIG. 15, in operation (1510), the electronic device (101) can identify a first software application (e.g., the first software application (611) of FIG. 6) that provides images according to a first frame rate and a second software application (e.g., the second software application (612) of FIG. 6) that provides images according to a second frame rate lower than the first frame rate.

[0317] For example, the electronic device (101) can execute multiple software applications. For example, the electronic device (101) can execute the first software application in the foreground. For example, the electronic device (101) can execute the second software application in the foreground. In the above example, two software applications are executed, but the present disclosure is not limited thereto. For example, the electronic device (101) can execute three or more software applications in the foreground.

[0318] For example, the electronic device (101) can identify a frame rate for each software application. For example, the electronic device (101) can identify a first frame rate of a first software application. For example, the first software application can provide an image according to the first frame rate. For example, the electronic device (101) can identify a second frame rate of a second software application. For example, the second software application can provide an image according to the second frame rate. In one example, the second frame rate may be lower than the first frame rate. However, the present disclosure is not limited thereto.

[0319] In operation (1520), the electronic device (101) may determine the period of a synchronization signal to be provided to the first software application and the second software application according to the first frame rate and the second frame rate. For example, the electronic device (101) may determine the period of the synchronization signal according to the first frame rate and the second frame rate. For example, the period of the synchronization signal may be referred to as an integrated frame rate for the plurality of software applications.

[0320] For example, the electronic device (101) may generate a list including one or more candidate periods that can be supported by the display of the electronic device (101) (e.g., the display (420) of FIG. 4). For specific details on the method for generating the list, reference may be made to FIG. 9A described above.

[0321] For example, the electronic device (101) can determine the period of the synchronization signal to be provided to the first software application and the second software application. For example, the electronic device (101) can determine the period of the synchronization signal by comparing the list including the one or more candidate periods and the first frame rate of the first software application and the second frame rate of the second software application. For example, the electronic device (101) can determine the candidate period to be used as the period of the synchronization signal by determining a compatibility value between the candidate period in the list and the first frame rate and a compatibility value between the candidate period in the list and the second frame rate. For specific details related thereto, reference may be made to the above-described FIGS. 9B and 9C.

[0322] For example, the electronic device (101) can generate the synchronization signal according to the cycle. For example, the electronic device (101) can generate the synchronization signal according to the determined cycle. For example, the electronic device (101) can determine whether an image rendered by a software application is acquired based on the synchronization signal generated according to the cycle. At this time, when the synchronization signal is generated according to the cycle, the electronic device (101) can change the state of a framework (e.g., framework (620) of FIG. 6) from an inactive state to an activated state. When the state of the framework is in an activated state, the electronic device (101) can determine whether an image rendered by a software application is acquired. For example, when a rendered image is acquired, the electronic device (101) can perform synthesis on the rendered image on the framework in the activated state. Thereafter, the electronic device (101) can change the state of the framework from an activated state to a inactive state. Alternatively, if a rendered image is not acquired, the electronic device (101) may change the state of the framework from an activated state to a deactivated state without performing (or, refraining from, omitting, or delaying) synthesis. For specific details related thereto, reference may be made to FIGS. 10A to 10C described above.

[0323] In operation (1530), the electronic device (101) may display a first screen including a first image obtained from the first software application and a second image obtained from the second software application by providing a synchronization signal generated according to a cycle to each of the first software application and the second software application. For example, the electronic device (101) may display the first screen including the first image and the second image through a display. In other words, the electronic device (101) may display the first image and the second image simultaneously.

[0324] For example, the electronic device (101) may provide a synchronization signal generated according to the cycle to both the first software application and the second software application. In this case, the synchronization signal generated according to the cycle may be a synchronization signal generated initially. Alternatively, the synchronization signal generated according to the cycle may have a number of times of generation corresponding to both the first set of reference numbers according to the first frame rate and the second set of reference numbers according to the second frame rate.

[0325] In operation (1540), the electronic device (101) may display a second screen including a third image following the first image and a second image by providing the first software application with a synchronization signal generated according to the period before providing the second software application with a synchronization signal generated according to the period since displaying the first screen. For example, the electronic device (101) may display the second screen including the third image and the second image through the display. In other words, the electronic device (101) may display the third image and the second image simultaneously. For example, the third image may be an image changed from the first image by rendering caused by the synchronization signal provided to the first software application.

[0326] For example, when the electronic device (101) provides the synchronization signal generated according to the cycle to the first software application, it may refrain from providing the synchronization signal generated according to the cycle to the second software application.

[0327] For example, the electronic device (101) may display a third screen including a fourth image following the second image and the third image through the display by providing the second software application with the synchronization signal generated according to the cycle before providing the synchronization signal generated according to the cycle to the first software application and / or the second software application since displaying the second screen.

[0328] In other words, the electronic device (101) can provide a synchronization signal generated according to the cycle according to the frame rate of the software application. For example, the electronic device (101) can identify the number of times the synchronization signal is generated according to the cycle. For example, the electronic device (101) can determine whether the number of times ...

[0329] For example, the electronic device (101) may include a display (210) that is a flexible display. For example, the electronic device (101) may include an electronic device (101) that is a rollable electronic device, as illustrated in FIGS. 12A to 12C. For example, the electronic device (101) may include an electronic device (101) that is a foldable electronic device, as illustrated in FIGS. 13A to 13D. For example, the electronic device (101) may include an electronic device (101) that is a multi-foldable electronic device, as illustrated in FIGS. 14A to 14C.

[0330] As described above, the electronic device, method, and storage medium according to the present disclosure can generate a synchronization signal according to a cycle determined based on the frame rates of a plurality of software applications, and provide the generated synchronization signal according to the frame rate of each software application. The electronic device, method, and storage medium according to the present disclosure can perform rendering at a point in time (or timing) corresponding to the cycle (or rendering cycle) for rendering of each software application by using the synchronization signal provided according to the frame rate of each software application. Accordingly, the electronic device, method, and storage medium according to the present disclosure can reduce unnecessary resource consumption and power consumption. In addition, the electronic device, method, and storage medium according to the present disclosure can improve the speed of the overall system of the electronic device and extend the battery life.

[0331] The effects that can be obtained from the present disclosure are not limited to the effects mentioned above, and other effects that are not mentioned can be clearly understood by a person having ordinary skill in the art to which the present disclosure belongs from the description below.

[0332] As described above, the electronic device (101) may include a memory (430) that stores instructions and includes one or more storage media. The electronic device (101) may include a display (420). The electronic device (101) may include at least one processor (120) that includes a processing circuit. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to identify a first software application that provides images according to a first frame rate and a second software application that provides images according to a second frame rate lower than the first frame rate. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to determine a period of a synchronization signal to be provided to the first software application and the second software application according to the first frame rate and the second frame rate. The above instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to display, through the display (420), a first screen including a first image obtained from the first software application and a second image obtained from the second software application by providing the synchronization signal generated according to the cycle to each of the first software application and the second software application.The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to display, through the display (420), a second screen including a third image following the first image and the second image by providing the synchronization signal generated according to the cycle to the first software application before providing the synchronization signal generated according to the cycle to the second software application since displaying the first screen.

[0333] According to one embodiment, the instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to refrain from providing the synchronization signal generated according to the period to the second software application while providing the synchronization signal generated according to the period to the first software application.

[0334] According to one embodiment, the instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to display, through the display (420), a third screen including a fourth image following the second image and the third image by providing the synchronization signal generated according to the cycle to the second software application and / or the second software application before providing the synchronization signal generated according to the cycle since displaying the second screen.

[0335] According to one embodiment, the instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to acquire the third image from the first software application before providing the synchronization signal generated according to the period since displaying the first screen to the second software application. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to synthesize the acquired third image and the second image on a framework associated with the first software application and the second software application. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to display the second screen including the synthesized third image and the second image through the display (420). The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to acquire the fourth image from the second software application before providing the synchronization signal generated according to the cycle since displaying the second screen to the first software application and / or the second software application. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to synthesize the acquired fourth image and the third image in the framework associated with the first software application and the second software application.The above instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to display the third screen including the synthesized fourth image and the third image through the display (420).

[0336] According to one embodiment, the instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to determine whether a request indicating a frame rate of a software application has been obtained. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to determine a frame rate of the first software application as the first frame rate if a request indicating the first frame rate has been obtained from the first software application.

[0337] According to one embodiment, the instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to determine whether recorded information about a frame rate of the second software application exists if a request indicating the second frame rate is not obtained from the second software application. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to determine the frame rate of the second software application as the second frame rate based on the recorded information if the recorded information exists. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to determine the frame rate of the second software application as the second frame rate corresponding to a reference frame rate if the recorded information does not exist. The recorded information may include one or more frame rates of the second software application within a time interval. The second frame rate may have an average value of one or more of the frame rates.

[0338] According to one embodiment, the instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to identify a minimum period according to a maximum refresh rate supported by the display (420). The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to identify a list including one or more candidate periods corresponding to integer multiples of the minimum period.

[0339] According to one embodiment, the instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to determine whether a condition for a candidate period and the first frame rate among the one or more candidate periods is satisfied. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to determine a compatibility value for the candidate period as a first value if the condition is satisfied. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to determine the compatibility value for the candidate period as a second value lower than the first value if the condition is not satisfied. The above condition may include a case where the candidate period is equal to a rendering period according to the first frame rate or a case where the candidate period has a value that is an integer multiple of the rendering period.

[0340] According to one embodiment, the instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to identify one or more first suitability values ​​of the one or more candidate periods for the first frame rate. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to identify one or more second suitability values ​​of the one or more candidate periods for the second frame rate. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to identify a sum of suitability values ​​of each of the one or more candidate periods using a corresponding first suitability value of the one or more first suitability values ​​and a corresponding second suitability value of the one or more second suitability values. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to determine the period of the synchronization signal as a candidate period among the one or more candidate periods in which the sum of the suitability values ​​has a maximum value.

[0341] According to one embodiment, the instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to change the state of a framework associated with the first software application and the second software application from an inactive state to an activated state based on generating the synchronization signal according to the period. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to determine, in the framework in the activated state, whether an image rendered from the first software application or the second software application is obtained. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to perform synthesis on the rendered image in the framework when the rendered image is obtained from the first software application or the second software application, and to change the state of the framework from the activated state to the inactivated state after performing the synthesis. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to change the state of the framework from the activated state to the inactivated state when the rendered image is not obtained from the first software application or the second software application.

[0342] According to one embodiment, the instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to provide the synchronization signal to the first software application as the number of times the synchronization signal is generated corresponds to a first set of reference numbers according to the first frame rate. The instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to provide the synchronization signal to the second software application as the number of times the synchronization signal is generated corresponds to a second set of reference numbers according to the second frame rate.

[0343] According to one embodiment, the instructions, when individually or collectively executed by the at least one processor (120), may cause the electronic device (101) to, when the synchronization signal is generated according to the cycle since displaying the second screen and before displaying the third screen, acquire the second image and the third image stored in the image memory, and, based on a refresh rate of the display (420), display the second screen including the acquired second image and the acquired third image through the display (420).

[0344] According to one embodiment, the image memory may include a graphic random access memory (GRAM) of the display (420) and a dynamic random access memory (DRAM) of the at least one processor (120). The second image and the third image stored in the GRAM may be scanned according to the refresh rate of the display (420). The second image and the third image stored in the DRAM may be provided to the display (420) from the at least one processor (120) according to the refresh rate of the display (420).

[0345] According to one embodiment, the electronic device (101) may further include a housing including a first housing part and a second housing part movably arranged with respect to the first housing part. The display (420) may include a flexible display (420) at least a portion of which is bent according to relative movement of the first housing part and the second housing part. Images related to the first software application, including the first image and the third image, may be displayed in a first area of ​​the flexible display (420). Images related to the second software application, including the second image, may be displayed in a second area of ​​the flexible display (420) that is different from the first area.

[0346] According to one embodiment, the electronic device (101) may include at least one of a rollable electronic device (101), a foldable electronic device (101), or a multi-foldable electronic device (101).

[0347] As described above, the method performed by the electronic device (101) may include an operation of identifying a first software application that provides an image according to a first frame rate and a second software application that provides an image according to a second frame rate lower than the first frame rate. The method may include an operation of determining a period of a synchronization signal to be provided to the first software application and the second software application according to the first frame rate and the second frame rate. The method may include an operation of displaying a first screen including a first image acquired from the first software application and a second image acquired from the second software application by providing the synchronization signal to each of the first software application and the second software application. The method may include an operation of displaying a second screen including a third image following the first image and the second image by providing the synchronization signal generated according to the period to the first software application before providing the synchronization signal generated according to the period since displaying the first screen to the second software application.

[0348] According to one embodiment, the method may include an operation of refraining from providing the synchronization signal generated according to the period to the second software application while providing the synchronization signal generated according to the period to the first software application.

[0349] According to one embodiment, the method may include an operation of displaying a third screen including a fourth image following the second image and the third image by providing the second software application with the synchronization signal generated according to the cycle before displaying the second screen to the first software application and / or the second software application.

[0350] In one embodiment, the method may include an operation of acquiring the third image from the first software application before providing the synchronization signal generated according to the period since displaying the first screen to the second software application. The method may include an operation of synthesizing the acquired third image and the second image on a framework associated with the first software application and the second software application. The method may include an operation of displaying the second screen including the synthesized third image and the second image. The method may include an operation of acquiring the fourth image from the second software application before providing the synchronization signal generated according to the period since displaying the second screen to the first software application and / or the second software application. The method may include an operation of synthesizing the acquired fourth image and the third image on the framework associated with the first software application and the second software application. The method may include an operation of displaying the third screen including the synthesized fourth image and the third image.

[0351] As described above, a non-transitory computer-readable storage medium may store one or more programs including instructions that, when individually or collectively executed by at least one processor (120) of an electronic device (101) including a display (420), cause the electronic device (101) to identify a first software application that provides an image according to a first frame rate and a second software application that provides an image according to a second frame rate lower than the first frame rate. The non-transitory computer-readable storage medium may store one or more programs including instructions that, when individually or collectively executed by at least one processor (120), cause the electronic device (101) including the display (420) to determine a period of a synchronization signal to be provided to the first software application and the second software application according to the first frame rate and the second frame rate. The non-transitory computer-readable storage medium may store one or more programs including instructions that, when executed individually or collectively by at least one processor (120), cause a first screen including a first image obtained from the first software application and a second image obtained from the second software application to be displayed through the display (420) by providing the synchronization signal to each of the first software application and the second software application.The non-transitory computer-readable storage medium may store one or more programs including instructions that, when executed individually or collectively by at least one processor (120), cause a second screen, including a third image following the first image and the second image, to be displayed through the display (420) by providing the first software application with the synchronization signal generated according to the cycle before providing the second software application with the synchronization signal generated according to the cycle since displaying the first screen.

[0352] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.

[0353] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another component (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.

[0354] The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).

[0355] Various embodiments of the present document may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.

[0356] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as a computer program product. The computer program product may be traded between sellers and buyers as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or may be provided through an application store (e.g., Play Store). TM ) or directly between two user devices (e.g., smart phones), online distribution (e.g., downloading or uploading). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.

[0357] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

Claims

1. In an electronic device (101), A memory (430) storing instructions and including one or more storage media; display (420); and At least one processor (120) comprising a processing circuit, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101) to: Identifying a first software application providing images at a first frame rate and a second software application providing images at a second frame rate lower than the first frame rate; Determine the cycle of a synchronization signal to be provided to the first software application and the second software application according to the first frame rate and the second frame rate; By providing the synchronization signal generated according to the above cycle to each of the first software application and the second software application, a first screen including a first image obtained from the first software application and a second image obtained from the second software application is displayed through the display (420); and Before providing the synchronization signal generated according to the cycle to the second software application since displaying the first screen, by providing the synchronization signal generated according to the cycle to the first software application, a second screen including a third image following the first image and the second image is caused to be displayed through the display (420). Electronic device (101).

2. In claim 1, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101) to: While providing the synchronization signal generated according to the above cycle to the first software application, causing the synchronization signal generated according to the above cycle to be refrained from being provided to the second software application, Electronic device (101).

3. In claim 1, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101) to: Before providing the synchronization signal generated according to the cycle to the first software application and / or the second software application since the second screen is displayed, by providing the synchronization signal generated according to the cycle to the second software application, thereby causing a third screen including the fourth image following the second image and the third image to be displayed through the display (420). Electronic device (101).

4. In claim 3, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101) to: Before providing the synchronization signal generated according to the cycle since displaying the first screen to the second software application, acquiring the third image from the first software application; On a framework related to the first software application and the second software application, synthesizing the acquired third image and the second image; Displaying the second screen including the synthesized third image and the second image through the display (420); Before providing the synchronization signal generated according to the cycle since displaying the second screen to the first software application and / or the second software application, acquiring the fourth image from the second software application; In the framework related to the first software application and the second software application, synthesizing the acquired fourth image and the third image; and Causing the third screen, which includes the synthesized fourth image and the third image, to be displayed through the display (420). Electronic device (101).

5. In claim 1, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101) to: Determining whether a request has been obtained to indicate the frame rate of a software application; and When a request indicating the first frame rate is obtained from the first software application, causing the frame rate of the first software application to be determined as the first frame rate, Electronic device (101).

6. In claim 5, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101) to: If a request indicating the second frame rate is not obtained from the second software application, determining whether there is record information about the frame rate of the second software application; If the above record information exists, the frame rate of the second software application is determined as the second frame rate based on the above record information; and If the above record information does not exist, causing the frame rate of the second software application to be determined as the second frame rate corresponding to the reference frame rate, The above recorded information includes one or more frame rates of the second software application within a time interval, and The second frame rate has an average value of one or more frame rates, Electronic device (101).

7. In claim 1, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101) to: Identifying the minimum cycle according to the maximum refresh rate supported by the above display (420); and Identifying a list containing one or more candidate periods corresponding to an integer multiple of the minimum period, Electronic device (101).

8. In claim 7, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101) to: Determine whether a condition for a candidate period and the first frame rate among the one or more candidate periods is satisfied; If the above condition is satisfied, the compatibility value for the candidate period is determined as the first value; and If the above condition is not satisfied, causing the suitability value for the candidate period to be determined as a second value lower than the first value, The above conditions include cases where the candidate period is equal to the rendering period according to the first frame rate or cases where the candidate period has a value that is an integer multiple of the rendering period. Electronic device (101).

9. In claim 8, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101) to: Identifying one or more first suitability values ​​of said one or more candidate periods for said first frame rate; Identifying one or more second suitability values ​​of said one or more candidate periods for said second frame rate; Identifying the sum of the suitability values ​​of each of the one or more candidate periods using a corresponding first suitability value among the one or more first suitability values ​​and a corresponding second suitability value among the one or more second suitability values; and Causing the period of the above synchronization signal to be determined as a candidate period having a maximum value of the sum of the suitability values ​​among the one or more candidate periods, Electronic device (101).

10. In claim 1, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101) to: Based on generating the synchronization signal according to the above cycle, changing the state of the framework related to the first software application and the second software application from an inactive state to an active state; In the above framework in the activated state, determining whether an image rendered from the first software application or the second software application is obtained; When the rendered image is obtained from the first software application or the second software application, the framework performs synthesis on the rendered image and after performing the synthesis, changes the state of the framework from the activated state to the deactivated state; and If the rendered image is not obtained from the first software application or the second software application, causing the state of the framework to be changed from the activated state to the deactivated state, Electronic device (101).

11. In claim 1, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101) to: Providing the synchronization signal to the first software application as the number of times the synchronization signal is generated corresponds to the first set of reference numbers according to the first frame rate; and Causing the second software application to provide the synchronization signal, as the number of times the synchronization signal is generated corresponds to the second set of reference numbers according to the second frame rate. Electronic device (101).

12. In claim 3, The above instructions, when individually or collectively executed by the at least one processor (120), cause the electronic device (101) to: If the synchronization signal is generated according to the cycle before displaying the third screen after displaying the second screen: Acquiring the second image and the third image stored in the image memory; and Based on the injection rate of the display (420), causing the second screen including the acquired second image and the acquired third image to be displayed through the display (420). Electronic device (101).

13. In claim 1, The electronic device (101) further includes a housing including a first housing part and a second housing part arranged to be movable relative to the first housing part, The above display (420) includes a flexible display (420) that is bent at least partially according to the relative movement of the first housing part and the second housing part, Images related to the first software application, including the first image and the third image, are displayed in the first area of ​​the flexible display (420), and Images related to the second software application including the second image are displayed in a second area different from the first area of ​​the flexible display (420). Electronic device (101).

14. In a method performed by an electronic device (101), An operation for identifying a first software application providing images according to a first frame rate and a second software application providing images according to a second frame rate lower than the first frame rate; An operation for determining a period of a synchronization signal to be provided to the first software application and the second software application according to the first frame rate and the second frame rate; An operation of displaying a first screen including a first image obtained from the first software application and a second image obtained from the second software application by providing the synchronization signal to each of the first software application and the second software application; and An operation of displaying a second screen including a third image following the first image and the second image by providing the synchronization signal generated according to the cycle to the first software application before providing the synchronization signal generated according to the cycle to the second software application since displaying the first screen, method.

15. In a non-transitory computer-readable storage medium, when individually or collectively executed by at least one processor (120) of an electronic device (101) including a display (420): Identifying a first software application providing images at a first frame rate and a second software application providing images at a second frame rate lower than the first frame rate; Determine the cycle of a synchronization signal to be provided to the first software application and the second software application according to the first frame rate and the second frame rate; By providing the synchronization signal to each of the first software application and the second software application, a first screen including a first image obtained from the first software application and a second image obtained from the second software application is displayed through the display (420); and Storing one or more programs including instructions that cause a second screen, including a third image following the first image and the second image, to be displayed through the display (420) by providing the first software application with the synchronization signal generated according to the cycle before providing the second software application with the synchronization signal generated according to the cycle since displaying the first screen, Non-transitory computer-readable storage medium.

Citation Information

Patent Citations

  • Imaging device, image processing device, display control device and imaging display apparatus

    KR101779737B1

  • Method, system and non-transitory computer-readable recording medium for providing interactive contents

    KR1020230071943A

  • Air cleaner

    KR1020250145777A

  • Display Device and Method of Controlling a Power Integrated Circuit

    KR102453287B1

  • Project window

    KR102619879B1