Cross-screen display method and device, electronic equipment, storage medium and program product
By obtaining the initial pixel density of the display, the rendering resolution and screen scaling parameters are determined, solving the problem of inconsistent window sizes in cross-screen display and achieving a consistent display effect on multiple displays.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-19
- Publication Date
- 2026-03-31
AI Technical Summary
Differences in resolution and physical size between different monitors result in inconsistent window sizes when displayed across screens, failing to provide a good user experience.
By obtaining the initial pixel density of each monitor, the rendering resolution and screen scaling parameters are determined, ensuring that the application window maintains a consistent pixel density when displayed across multiple monitors.
It achieves consistent window size across monitors of different sizes and resolutions, providing a good cross-screen user experience.
Smart Images

Figure CN121764430A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computers, and more particularly to a cross-screen display method, apparatus, electronic device, storage medium, and program product. Background Technology
[0002] With the rapid development of information technology, multi-screen display systems are increasingly widely used in fields such as office work, entertainment, industrial control, and virtual reality. By expanding the display area, multi-screen displays can significantly improve work efficiency and user experience. For example, in scenarios such as financial transactions, video surveillance, and e-sports gaming, simultaneous multi-screen display is crucial.
[0003] However, different displays have different resolutions and different physical sizes, which makes it difficult to maintain a consistent display effect for the same content across screens. This results in inconsistent window sizes when application windows are displayed across screens. Summary of the Invention
[0004] In view of this, this disclosure provides a cross-screen display method, apparatus, electronic device, storage medium, and program product.
[0005] According to one aspect of this disclosure, a cross-screen display method is provided, the method comprising: obtaining initial pixel densities of N displays, wherein the initial pixel densities are determined by the initial resolution and physical size of the displays, and N is an integer greater than 1; determining a rendering resolution of at least one display based on the maximum initial pixel density among the N initial pixel densities; determining a screen scaling parameter of at least one display based on the rendering resolution and the initial resolution of the at least one display; and configuring the rendering resolution and the screen scaling parameter for each of the at least one display, so that an application window can be displayed across the N displays.
[0006] In one possible implementation, determining the rendering resolution of at least one display based on the maximum initial pixel density among N initial pixel densities includes: obtaining the maximum virtual resolution supported by the graphics processor chip; and determining the rendering resolution of at least one display based on the maximum initial pixel density among N initial pixel densities and the maximum virtual resolution.
[0007] In one possible implementation, determining the rendering resolution of at least one display based on the maximum initial pixel density among N initial pixel densities and the maximum virtual resolution includes:
[0008] Based on the product of the physical size of each of the N displays and the maximum initial pixel density, the first resolution of each of the N displays is determined. If the first resolution of each of the N displays is less than or equal to the maximum virtual resolution, the first resolution is used as the rendering resolution.
[0009] In one possible implementation, the method further includes: when the first resolution of any display is greater than the maximum virtual resolution, determining the first pixel density of each of the N displays based on the maximum virtual resolution and the physical dimensions of the N displays; and determining the rendering resolution of each of the N displays based on the product of the physical dimensions of the N displays and the maximum first pixel density.
[0010] In one possible implementation, the screen scaling parameter is used to adjust the hardware scaling unit of the display controller in the graphics processor chip. The display controller further includes a line buffer, and the hardware scaling unit is used to scale the line display data cached in the line buffer in a line scanning manner.
[0011] In one possible implementation, displaying the application window across N displays includes: determining a maximum rectangular area based on the layout information of the N displays, wherein the maximum rectangular area is the largest inscribed rectangle in the spliced shape formed by the N displays; and displaying the application window within the maximum rectangular area.
[0012] In one possible implementation, obtaining the initial pixel density of N displays includes: obtaining extended display identification data of the displays; parsing the extended display identification data to obtain the initial resolution and physical size of the displays; and determining the initial pixel density of the displays based on the ratio of the initial resolution to the physical size of the displays in the same direction.
[0013] According to another aspect of this disclosure, a cross-screen display device is provided, comprising: an acquisition module, configured to acquire initial pixel densities of N displays respectively, the initial pixel densities being determined by the initial resolution and physical size of the displays, where N is an integer greater than 1; a first determination module, configured to determine a rendering resolution of at least one display based on the maximum initial pixel density among the N initial pixel densities; a second determination module, configured to determine a screen scaling parameter of at least one display based on the rendering resolution and initial resolution of the at least one display; and a configuration module, configured to configure the rendering resolution and the screen scaling parameter for each of the at least one display, so that an application window can be displayed across the N displays.
[0014] In one possible implementation, the first determining module is configured to: obtain the maximum virtual resolution supported by the graphics processor chip; and determine the rendering resolution of at least one display based on the maximum initial pixel density among N initial pixel densities and the maximum virtual resolution.
[0015] In one possible implementation, determining the rendering resolution of at least one display based on the maximum initial pixel density among N initial pixel densities and the maximum virtual resolution includes: determining the first resolution of each of the N displays based on the product of the physical size of the N displays and the maximum initial pixel density; and using the first resolution as the rendering resolution when the first resolution of all N displays is less than or equal to the maximum virtual resolution.
[0016] In one possible implementation, the first determining module is further configured to: determine the first pixel density of the N displays respectively based on the maximum virtual resolution and the physical size of the N displays when the first resolution of any display is greater than the maximum virtual resolution; and determine the rendering resolution of the N displays respectively based on the product of the physical size of the N displays and the maximum first pixel density.
[0017] In one possible implementation, the screen scaling parameter is used to adjust the hardware scaling unit of the display controller in the graphics processor chip. The display controller further includes a line buffer, and the hardware scaling unit is used to scale the line display data cached in the line buffer in a line scanning manner.
[0018] In one possible implementation, the configuration module is used to: determine the largest rectangular area based on the layout information of N displays, wherein the largest rectangular area is the largest inscribed rectangle in the splicing shape formed by the N displays; and display the application window in the largest rectangular area.
[0019] In one possible implementation, the acquisition module is configured to: acquire extended display identification data of the display; parse the extended display identification data to obtain the initial resolution and physical size of the display; and determine the initial pixel density of the display based on the ratio of the initial resolution to the physical size of the display in the same direction.
[0020] According to another aspect of this disclosure, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the above-described method.
[0021] According to another aspect of this disclosure, a non-volatile computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the steps of the above-described method.
[0022] According to another aspect of this disclosure, a computer program product is provided, including a computer program or a non-volatile computer-readable storage medium carrying the computer program, wherein the computer program, when executed by a processor, implements the steps of the above-described method.
[0023] The cross-screen display method of this disclosure can obtain the initial pixel density of N displays respectively, wherein the initial pixel density is determined by the initial resolution and physical size of the displays, and N is an integer greater than 1; determine the rendering resolution of at least one display based on the maximum initial pixel density among the N initial pixel densities; determine the screen scaling parameters of at least one display based on the rendering resolution and initial resolution of at least one display; configure the rendering resolution and screen scaling parameters for at least one display respectively, so that the application window can be displayed across N displays.
[0024] In this way, the same pixel density can be simulated for different displays, so that the same window has the same physical size on displays of different sizes and resolutions, thus ensuring consistency when displayed across displays and providing a good cross-screen window experience.
[0025] Other features and aspects of this disclosure will become clear from the following detailed description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description
[0026] The accompanying drawings, which are included in and form part of this specification, illustrate exemplary embodiments, features, and aspects of this disclosure together with the specification and serve to explain the principles of this disclosure.
[0027] Figure 1 This diagram illustrates the cross-screen display effect in related technologies.
[0028] Figure 2 A flowchart illustrating a cross-screen display method according to an embodiment of the present disclosure is shown.
[0029] Figure 3 A schematic diagram of a display controller according to an embodiment of the present disclosure is shown.
[0030] Figure 4 The diagram illustrates the effect of a cross-screen display method according to an embodiment of the present disclosure.
[0031] Figure 5 A block diagram of a cross-screen display device according to an embodiment of the present disclosure is shown.
[0032] Figure 6 A block diagram of an electronic device according to an embodiment of the present disclosure is shown. Detailed Implementation
[0033] Various exemplary embodiments, features, and aspects of this disclosure will now be described in detail with reference to the accompanying drawings. The same reference numerals in the drawings denote elements that have the same or similar functions. Although various aspects of the embodiments are shown in the drawings, they are not necessarily drawn to scale unless specifically indicated otherwise.
[0034] As used herein, the terms “comprising,” “including,” “having,” or variations thereof are open-ended and include one or more of the stated features, integrals, elements, steps, components, or functions, but do not exclude the presence or addition of one or more other features, integrals, elements, steps, components, functions, or groups thereof.
[0035] When an element is referred to as “connected,” “coupled,” “responding,” or a variation thereof relative to another element, it may be directly connected, coupled, or responding to another element, or there may be an intermediate element present.
[0036] Although the terms first, second, third, etc., may be used herein to describe various elements / operations, these elements / operations should not be limited by these terms. These terms are only used to distinguish one element / operation from another. Therefore, without departing from the teachings of the inventive concept, a first element / operation in some embodiments may be referred to as a second element / operation in other embodiments.
[0037] The term “exemplary” as used herein means “serving as an example, embodiment, or illustration.” Any embodiment illustrated herein as “exemplary” is not necessarily to be construed as superior to or better than other embodiments.
[0038] Furthermore, to better illustrate this disclosure, numerous specific details are set forth in the following detailed description. Those skilled in the art will understand that this disclosure can be practiced without certain specific details. In some instances, methods, means, components, and circuits well known to those skilled in the art have not been described in detail in order to highlight the main points of this disclosure.
[0039] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, data stored, data displayed, etc.) and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant regions.
[0040] Different monitors have different resolutions and physical sizes, especially in the scenario of using a laptop with an external monitor, where the laptop's built-in screen and the external monitor are quite different. In order to display content of the appropriate size on different monitors, the operating system provides an option to set the display scaling ratio, such as 100%, 125%, 150%, 175%, 200%, 300%, etc.
[0041] The solutions in related technologies involve the operating system providing a few simple scaling ratios for users to choose from. However, when there are significant differences in the pixel density of the displays, it is impossible to maintain a consistent display effect for the same content across screens using just a few scaling ratios. As a result, when application windows are displayed across screens, the window sizes are inconsistent, which fails to provide users with a good single-window cross-screen experience. Figure 1 This diagram illustrates the cross-screen display effect in related technologies.
[0042] The inconsistency in how the same content or window appears on different monitors stems from the different pixel densities of each monitor—that is, the number of pixels per unit area varies. To achieve a consistent display, it is essential to ensure that the content rendered by the application is presented with the same pixel density on different monitors.
[0043] In view of this, embodiments of the present disclosure provide a cross-screen display method, which can obtain the initial pixel density of N displays (N is an integer greater than 1), the initial pixel density being determined by the initial resolution and physical size of the displays; then, based on the maximum initial pixel density among the N initial pixel densities, a rendering resolution of at least one display is determined, and based on the rendering resolution and initial resolution of at least one display, a screen scaling parameter of at least one display is determined; the rendering resolution and the screen scaling parameter are configured for at least one display respectively, so that the application window can be displayed across the N displays.
[0044] In this way, the same pixel density can be simulated for different displays, so that the same window has the same physical size on displays of different sizes and resolutions, thus ensuring consistency when displayed across displays and providing a good cross-screen window experience.
[0045] Figure 2 A flowchart illustrating a cross-screen display method according to an embodiment of the present disclosure is shown. Figure 2 As shown, the cross-screen display method includes:
[0046] In step S11, the initial pixel density of N displays is obtained respectively. The initial pixel density is determined by the initial resolution and physical size of the display, where N is an integer greater than 1.
[0047] In step S12, the rendering resolution of at least one display is determined based on the maximum initial pixel density among the N initial pixel densities.
[0048] In step S13, the screen scaling parameters of at least one display are determined based on the rendering resolution and initial resolution of at least one display.
[0049] In step S14, the rendering resolution and the screen scaling parameters are configured for at least one display to enable the application window to be displayed across N displays.
[0050] In one possible implementation, the cross-screen display method can be executed by a terminal device, server, or other information processing device. The terminal device can be a user equipment (UE), mobile device, user terminal, terminal, cellular phone, cordless phone, personal digital assistant (PDA), handheld device, computing device, in-vehicle device, wearable device, etc. In some possible implementations, the cross-screen display method can be implemented by a processor calling computer-readable instructions stored in memory.
[0051] In one possible implementation, the cross-screen display method can be applied to a cross-screen display device, which includes a host and multiple displays. The host and multiple displays can be connected via wired or wireless means, and the embodiments disclosed herein do not limit this.
[0052] In one possible implementation, the N displays may have the same shape and different size, and the embodiments of this disclosure do not limit this.
[0053] In one possible implementation, in step S11, the initial pixel density of each display can be obtained according to the calculation formula of the initial pixel density (e.g., initial resolution / physical size); or, the initial pixel density of each display can be obtained according to the specification of each display; or, the initial pixel density of each display can be obtained according to the built-in tools or functions of the operating system. The embodiments of this disclosure do not limit the method of obtaining the initial pixel density.
[0054] In step S11, the initial pixel density of N displays is obtained. In step S12, the rendering resolution of at least one display is determined based on the maximum initial pixel density among the N initial pixel densities.
[0055] In one possible implementation, the maximum initial pixel density among N initial pixel densities can be used as a benchmark. Instead of determining the rendering resolution of the display with the maximum initial pixel density, the rendering resolutions of the remaining N-1 displays can be determined. To ensure that the pixel densities of the remaining N-1 displays reach the maximum initial pixel density, and given that the physical dimensions of the remaining N-1 displays cannot be changed, the resolution of the remaining N-1 displays can be increased, and this increased resolution can be used as the rendering resolution of the N-1 displays.
[0056] The resolution can be adjusted based on the physical dimensions of N-1 monitors. The rendering resolution of each of the N-1 monitors is determined by multiplying the physical dimension of each monitor by its maximum initial pixel density. Each monitor can then render the image according to the adjusted resolution. For example, given monitor 1 and monitor 2, monitor 1 has a higher initial pixel density. Using monitor 1 as the baseline, the rendering resolution of monitor 2 can be determined by multiplying the physical dimension of monitor 2 by the initial pixel density (i.e., the maximum initial pixel density) of monitor 1. Monitor 2 can then render the image according to the adjusted resolution. Specifically, the rendering resolutions of monitor 1 and monitor 2 are calculated as follows: Monitor 2 horizontal rendering resolution = Monitor 2 horizontal physical dimension / Monitor 1 horizontal physical dimension × Monitor 1 initial horizontal resolution = Monitor 2 horizontal physical dimension × Monitor 1 initial pixel density. To maintain the aspect ratio of monitor 2, monitor 2 vertical rendering resolution = Monitor 2 horizontal rendering resolution × Monitor 2 initial vertical resolution / Monitor 2 initial horizontal resolution.
[0057] In this case, in step S13, it is not necessary to determine the screen scaling parameters for the display with the largest initial pixel density. Instead, the screen scaling parameters for the remaining N-1 displays are determined based on their rendering resolutions and initial resolutions. Specifically, for each of the N-1 displays, the screen scaling parameters can be determined according to the ratio of each display's rendering resolution to its initial resolution. These screen scaling parameters ensure that the same content maintains a consistent display effect across different screens. In step S14, in the display driver, it is not necessary to configure the rendering resolution and screen scaling parameters for the display with the largest initial pixel density. Instead, the rendering resolution and screen scaling parameters can be configured for the remaining N-1 displays separately, allowing the application window to be displayed across the N displays.
[0058] In one possible implementation, if the display with the maximum initial pixel density is chosen as the target display, there may be M (1 < M < N) target displays among the N displays. These M target displays have the same initial pixel density, and each has the maximum initial pixel density among the N initial pixel densities. Instead of determining the rendering resolution of the M target displays with the maximum initial pixel density, the rendering resolutions of the remaining NM displays can be determined. To ensure that the pixel density of the remaining NM displays reaches the maximum initial pixel density, given that the physical dimensions of the remaining NM displays cannot be changed, the resolution of the remaining NM displays can be increased, and this increased resolution can be used as the rendering resolution of the NM displays. Specifically, the resolution can be adjusted based on the physical dimensions of each of the NM displays, and the rendering resolution of each of the NM displays can be determined based on the product of the physical size of each display to be adjusted and the maximum initial pixel density.
[0059] In this case, in step S13, it is not necessary to determine the screen scaling parameters for the M target displays with the largest initial pixel density. Instead, the screen scaling parameters for the remaining NM displays are determined based on their rendering resolutions and initial resolutions. Specifically, for each of the NM displays, the screen scaling parameters are determined according to the ratio of each display's rendering resolution to its initial resolution. These screen scaling parameters ensure that the same content maintains a consistent display effect across different screens. In step S14, the rendering resolutions and screen scaling parameters for the remaining NM displays can be configured separately in the display driver, without needing to configure the rendering resolutions and screen scaling parameters for the M target displays with the largest initial pixel density, allowing the application window to be displayed across the N displays.
[0060] In one possible implementation, the maximum initial pixel density among N initial pixel densities can be used as a benchmark. The rendering resolution for each display is determined based on this maximum initial pixel density. Alternatively, the resolution can be adjusted based on the physical size of each display, and the rendering resolution for each display is determined by multiplying its physical size by the maximum initial pixel density. To save computational resources, the initial resolution of the display with the maximum initial pixel density can also be directly used as the rendering resolution for the display itself.
[0061] In this case, in step S13, the screen scaling parameters for each monitor can be determined based on the rendering resolution and initial resolution of each monitor. Specifically, the screen scaling parameter for each monitor can be determined based on the ratio of its rendering resolution to its initial resolution. This screen scaling parameter ensures that the same content displays consistently on different screens. To save computational resources, the screen scaling parameter for the monitor with the highest initial pixel density can be set to 1. In step S14, the rendering resolution and screen scaling parameters can be configured separately for each monitor in the display driver, allowing the application window to be displayed across N monitors. The monitor with the highest initial pixel density is assigned a screen scaling parameter of 1, and its initial resolution can be configured.
[0062] In this way, the display with the highest pixel density can be used as a benchmark, and the pixel density of other displays can be uniformly simulated to that benchmark level to ensure that the display effect is not affected.
[0063] In one possible implementation, if the maximum initial pixel density is used as a baseline, the rendering resolution to be adjusted for some displays may exceed the rendering capabilities of the graphics processor chip. In this case, a baseline pixel density can be determined based on the maximum virtual resolution supported by the graphics processor chip, and the rendering resolution for each display can be determined based on this pixel density. Having determined the rendering resolution for each display in step S12, in step S13, a screen scaling parameter for each display can be determined based on the ratio of its rendering resolution to the initial resolution. This screen scaling parameter ensures that the same content maintains a consistent display effect when displayed on different screens. In step S14, the rendering resolution and screen scaling parameters can be configured for each display in the display driver to allow the application window to be displayed across N displays.
[0064] In one possible implementation, in step S14, rendering resolution and screen scaling parameters can be configured in the display driver for at least one monitor, so that the application window can be displayed across N monitors, with each monitor displaying a portion of the application window. The application window may include applications from fields such as office work, entertainment, industrial control, and virtual reality; the embodiments of this disclosure do not limit this.
[0065] This can be achieved by reporting the rendering resolution as the resolution supported by the display to the operating system; this step is implemented in the display driver.
[0066] Once configured, the application window will generate image data that matches the rendering resolution based on the screen scaling parameters of each monitor during rendering, and then display the image on the monitor configured with the rendering resolution, thereby achieving consistent cross-screen display.
[0067] In this way, the same pixel density can be simulated for different displays, so that the same window has the same physical size on displays of different sizes and resolutions, thus ensuring consistency when displayed across displays and providing a good cross-screen window experience.
[0068] The cross-screen display method of this disclosure will now be described in detail.
[0069] In step S11, the initial pixel density of each of the N displays can be obtained.
[0070] In one possible implementation, step S11 may include: acquiring Extended Display Identification Data (EDID) of the display; parsing the Extended Display Identification Data to obtain the initial resolution and physical size of the display; and determining the initial pixel density of the display based on the ratio of the initial resolution to the physical size of the display in the same direction.
[0071] The extended display identification data is stored in the Display Data Channel (DDC) memory in the display. The extended display identification data stored in the display's DDC memory can be read through the DDC channel.
[0072] Extended display identification data contains parameters about the display and its performance, such as vendor information, optimal resolution, and physical dimensions. Once the extended display identification data for each display is obtained, it can be parsed to extract the optimal resolution and physical dimensions for each display, and the optimal resolution is used as the initial resolution.
[0073] Then, the initial pixel density of each display can be determined based on the ratio of its initial resolution to its physical size in the same direction. The initial resolution may include both initial horizontal and initial vertical resolutions, and the same direction includes either the horizontal or vertical direction of the display. For example, in the horizontal direction, the initial pixel density can be determined based on the ratio of the initial horizontal resolution to the physical width (horizontal physical size) of the display; similarly, in the vertical direction, the initial pixel density can be determined based on the ratio of the initial vertical resolution to the physical height (vertical physical size) of the display.
[0074] In this way, the initial pixel density of each display can be determined quickly and accurately.
[0075] In step S11, the initial pixel density of N displays is obtained. In step S12, the rendering resolution of at least one display is determined based on the maximum initial pixel density among the N initial pixel densities.
[0076] Assuming a computer host is connected to N monitors, the rendering resolution of these N monitors is closely related to the maximum virtual resolution and the maximum virtual resolution supported by the host's graphics processing unit (GPU) chip. The cross-screen display method of this disclosure, when deciding on the rendering resolution to use for all monitors, prioritizes ensuring the quality of the displayed image within the performance range of the GPU chip, using a higher virtual resolution to achieve the maximum pixel density. When this exceeds the GPU chip's capabilities, a slightly lower pixel density is used to conserve resources.
[0077] In one possible implementation, step S12 may include: obtaining the maximum virtual resolution supported by the graphics processor chip; and determining the rendering resolution of at least one display based on the maximum initial pixel density among N initial pixel densities and the maximum virtual resolution.
[0078] This method effectively balances display quality and system resources, avoiding system crashes or lag caused by improper resolution settings.
[0079] For example, the maximum virtual resolution supported by the graphics processor chip can be obtained through the graphics card control panel; or, the maximum virtual resolution supported by the graphics processor chip can be obtained by calling the operating system's application programming interface (API); or, the maximum virtual resolution supported by the graphics processor chip can be obtained by consulting the graphics processor's chip manual. The embodiments of this disclosure do not limit this.
[0080] In one possible implementation, determining the rendering resolution of at least one display based on the maximum initial pixel density among N initial pixel densities and the maximum virtual resolution includes: determining a first resolution for each of the N displays based on the product of the physical size of the N displays and the maximum initial pixel density; and using the first resolution as the rendering resolution if all the first resolutions of the N displays are less than or equal to the maximum virtual resolution. Alternatively, if the first resolution of any display is greater than the maximum virtual resolution, determining the first pixel density of each of the N displays based on the maximum virtual resolution and the physical size of the N displays; and determining the rendering resolution of each of the N displays based on the product of the physical size of the N displays and the maximum first pixel density.
[0081] For example, suppose there are N displays, the maximum initial pixel density among the N displays is Pmax, and the physical dimensions of the N displays are (W1, H1), (W2, H2) ... (WN, HN), where W1~WN represent the horizontal physical dimensions of each display and H1~HN represent the vertical physical dimensions of each display. Then the first resolution of each display can be expressed as (W1×Pmax, H1×Pmax), (W2×Pmax, H2×Pmax) ... (WN×Pmax, HN×Pmax).
[0082] When the first resolution of N monitors is less than or equal to the maximum virtual resolution, the first resolution of N monitors (W1×Pmax, H1×Pmax), (W2×Pmax, H2×Pmax)...(WN×Pmax, HN×Pmax) can be used as the rendering resolution.
[0083] Alternatively, if the first resolution of any display is greater than the maximum virtual resolution, the first pixel density of each display can be determined based on the ratio of the maximum virtual resolution to the physical size of each display; then, the rendering resolution of each display can be determined based on the product of the physical size of each display and the maximum first pixel density. For details, please refer to the above text, which will not be repeated here.
[0084] In this way, when the initial resolution exceeds the resource limit of the graphics processor chip, the image can be displayed at the maximum initial pixel density, thus improving the image quality; when the initial resolution exceeds the resource limit of the graphics processor chip, the image can be automatically downgraded to avoid overloading system resources, which is beneficial for various cross-screen display scenarios.
[0085] In one possible implementation, the screen scaling parameter is used to adjust the hardware scaling unit of the display controller in the graphics processor chip. The display controller further includes a line buffer, and the hardware scaling unit is used to scale the line display data cached in the line buffer in a line scanning manner.
[0086] To ensure the adjusted rendering resolution displays correctly on the monitor, the content of the application window needs to be scaled before being transmitted to the monitor to match the display's supported rendering resolution. This process is accomplished by the hardware scaling unit of the display controller within the graphics processor chip. In the display driver, the hardware scaling unit of the display controller can be configured according to the image scaling parameters, thereby achieving precise adjustment of the image size.
[0087] Figure 3 A schematic diagram of a display controller according to an embodiment of the present disclosure is shown. (As shown) Figure 3As shown, it can be based on the hardware scaling unit in the display controller inside the graphics processor chip ( Figure 3 (Not shown) Real-time scaling is achieved. This hardware scaling unit can scale the displayed frame content. This hardware scaling unit does not need to copy and convert the entire frame of the screen content. It can buffer the data around the pixel in a line scanning manner and generate new scaled pixel data according to the surrounding pixel data. This can save memory space and ensure the real-time performance of the displayed data.
[0088] In one possible implementation, displaying the application window across N displays includes: determining a maximum rectangular area based on the layout information of the N displays, wherein the maximum rectangular area is the largest inscribed rectangle in the spliced shape formed by the N displays; and displaying the application window within the maximum rectangular area.
[0089] For example, to improve the convenience of cross-screen display of application windows, an adaptive cross-screen display program corresponding to a shortcut key can be added. When the shortcut key triggers the cross-screen display program, it can automatically obtain the window of the currently focused monitor and, based on the monitor layout, find the extended range of the monitor and set the maximum rectangular area for displaying the application window. Specifically, the application window can be placed within the maximum rectangle across multiple monitors, and the entire maximum rectangular area must be visible; no part of it can extend beyond the range of any monitor. If there is only one monitor, the window is maximized; if there are multiple monitors, the windows are placed within the maximum rectangular area according to the monitor layout, while ensuring the entire application window remains visible.
[0090] For example, it can detect the display layout, obtain layout information for multiple displays, calculate the overlapping portions of multiple displays in the entire layout in the horizontal or vertical directions, and calculate the usable screen area spanning multiple displays. It can then set the position and size of the currently focused window to fill the entire largest rectangular area.
[0091] In this way, the maximum inscribed rectangular area after multiple monitors are spliced together can be quickly and accurately determined, enabling cross-screen display of application windows.
[0092] Figure 4 The diagram illustrates the effect of a cross-screen display method according to an embodiment of the present disclosure. Figure 4 As shown, the cross-screen display method proposed in this disclosure can be applied to any different displays (e.g., display 1 and display 2), ensuring consistency of any application window when displayed across displays. It should be understood that... Figure 4 Using only display 1 and display 2 as examples, the embodiments of this disclosure do not impose specific limitations on the number and shape of displays for cross-screen display.
[0093] The following example illustrates the cross-screen display method of this disclosure using a laptop connected to an external monitor.
[0094] Assuming the laptop's built-in screen has a resolution of 2880×1800 and physical dimensions of 300mm×190mm, and the external monitor has a resolution of 2560×1440 and physical dimensions of 527mm×296mm, the initial pixel density of each monitor can be calculated: Initial pixel density in the horizontal direction for the built-in screen: 2880 / 300 = 9.6; Initial pixel density in the horizontal direction for the external monitor: 2560 / 527 = 4.86.
[0095] Therefore, the built-in screen has a higher initial pixel density. Using the built-in screen as a benchmark, the rendering resolution of the external monitor is calculated. The virtual horizontal resolution of the external monitor is: 527mm × 2880 / 300mm = 5060; the virtual vertical resolution is: 5060 × 1440 / 2560 = 2846. A rendering resolution of 5060 × 2846 can be added to the external monitor in the monitor driver. The monitor driver sets the corresponding resolution of the external monitor to 5060 × 2846. Based on the ratio of the final displayed rendering resolution of 5060 × 2846 to the initial resolution of 2560 × 1440 (e.g., screen scaling parameters), the monitor driver adjusts the parameters of the hardware scaling unit of the display controller to correctly display the rendering resolution data on the external monitor. When the window adaptive shortcut key is triggered, the application window automatically expands to both monitors for display.
[0096] In summary, the embodiments of this disclosure provide a cross-screen display method, which can obtain the initial pixel density of N displays respectively, the initial pixel density being determined by the initial resolution and physical size of the displays; then, based on the largest initial pixel density among the N initial pixel densities, determine the rendering resolution of at least one display, and based on the rendering resolution and initial resolution of at least one display, determine the screen scaling parameters of at least one display; configure the rendering resolution and screen scaling parameters for at least one display respectively, so that the application window can be displayed across N displays.
[0097] This method enables consistent display across any monitor without sacrificing display quality, providing an excellent single-window cross-screen extension experience. It seamlessly extends the displayed content across different monitors, maintaining the continuity and consistency of the displayed content.
[0098] Figure 5 A block diagram of a cross-screen display device according to an embodiment of the present disclosure is shown. Figure 5As shown, the cross-screen display device includes:
[0099] The acquisition module 51 is used to acquire the initial pixel density of N displays respectively. The initial pixel density is determined by the initial resolution and physical size of the display, where N is an integer greater than 1.
[0100] The first determining module 52 is used to determine the rendering resolution of at least one display based on the maximum initial pixel density among N initial pixel densities.
[0101] The second determining module 53 is used to determine the screen scaling parameters of at least one display based on the rendering resolution and initial resolution of at least one display.
[0102] Configuration module 54 is used to configure the rendering resolution and the screen scaling parameters for at least one display, so that the application window can be displayed across N displays.
[0103] In one possible implementation, the first determining module 52 is configured to: obtain the maximum virtual resolution supported by the graphics processor chip; and determine the rendering resolution of at least one display based on the maximum initial pixel density among N initial pixel densities and the maximum virtual resolution.
[0104] In one possible implementation, determining the rendering resolution of at least one display based on the maximum initial pixel density among N initial pixel densities and the maximum virtual resolution includes: determining the first resolution of each of the N displays based on the product of the physical size of the N displays and the maximum initial pixel density; and using the first resolution as the rendering resolution when the first resolution of all N displays is less than or equal to the maximum virtual resolution.
[0105] In one possible implementation, the first determining module 52 is further configured to: determine the first pixel density of the N displays respectively based on the maximum virtual resolution and the physical size of the N displays when the first resolution of any display is greater than the maximum virtual resolution; and determine the rendering resolution of the N displays respectively based on the product of the physical size of the N displays and the maximum first pixel density.
[0106] In one possible implementation, the screen scaling parameter is used to adjust the hardware scaling unit of the display controller in the graphics processor chip. The display controller further includes a line buffer, and the hardware scaling unit is used to scale the line display data cached in the line buffer in a line scanning manner.
[0107] In one possible implementation, the configuration module 53 is used to: determine the largest rectangular area based on the layout information of the N displays, wherein the largest rectangular area is the largest inscribed rectangle in the splicing shape formed by the N displays; and display the application window in the largest rectangular area.
[0108] In one possible implementation, the acquisition module 51 is configured to: acquire extended display identification data of the display; parse the extended display identification data to obtain the initial resolution and physical size of the display; and determine the initial pixel density of the display based on the ratio of the initial resolution to the physical size of the display in the same direction.
[0109] In some embodiments, the functions or modules of the apparatus provided in this disclosure can be used to perform the methods described in the above method embodiments. The specific implementation can be referred to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.
[0110] This disclosure also provides an electronic device, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the above method.
[0111] This disclosure also provides a non-volatile computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the above-described method.
[0112] This disclosure also provides a computer program product, including a computer program or a non-volatile computer-readable storage medium carrying the computer program, wherein the computer program, when executed by a processor, implements the steps of the above method.
[0113] Figure 6 A block diagram of an electronic device 1900 according to an embodiment of the present disclosure is shown. For example, the electronic device 1900 may be provided as a server or a terminal device. (Refer to...) Figure 6 The electronic device 1900 includes a processing component 1922, which further includes one or more processors, and memory resources represented by memory 1932 for storing instructions, such as application programs, that can be executed by the processing component 1922. The application programs stored in memory 1932 may include one or more modules, each corresponding to a set of instructions. Furthermore, the processing component 1922 is configured to execute instructions to perform the methods described above.
[0114] Electronic device 1900 may also include a power supply component 1926 configured to perform power management of electronic device 1900, a wired or wireless network interface 1950 configured to connect electronic device 1900 to a network, and an input / output interface 1958 (I / O interface). Electronic device 1900 can operate on an operating system, such as Windows Server, stored in memory 1932. TM Mac OS X TM Unix TM Linux TM FreeBSD TM Or similar.
[0115] In an exemplary embodiment, a non-volatile computer-readable storage medium is also provided, such as a memory 1932 including computer program instructions that can be executed by a processing component 1922 of an electronic device 1900 to perform the above-described method.
[0116] Computer-readable storage media can be tangible devices capable of holding and storing programs / instructions used by instruction execution devices. Computer-readable storage media can be, for example—but not limited to—electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination of the foregoing. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.
[0117] The computer program (or computer-readable program instructions) described herein can be downloaded from a computer-readable storage medium to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage medium in the respective computing / processing device.
[0118] The computer program (or computer program instructions) used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing state information from the computer-readable program instructions to implement various aspects of this disclosure.
[0119] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0120] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0121] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0122] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0123] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or technical improvements to the embodiments in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A cross-screen display method, characterized in that, The method includes: Obtain the initial pixel density of N displays respectively. The initial pixel density is determined by the initial resolution and physical size of the displays, where N is an integer greater than 1. Determine the rendering resolution of at least one display based on the maximum initial pixel density among N initial pixel densities; Determine the screen scaling parameters for at least one monitor based on the rendering resolution and initial resolution of at least one monitor; Configure the rendering resolution and the screen scaling parameters for at least one monitor to enable the application window to be displayed across N monitors.
2. The method according to claim 1, characterized in that, Determine the rendering resolution of at least one display based on the largest initial pixel density among N initial pixel densities, including: Obtain the maximum virtual resolution supported by the graphics processing unit chip; The rendering resolution of at least one display is determined based on the maximum initial pixel density among N initial pixel densities and the maximum virtual resolution.
3. The method according to claim 2, characterized in that, Determining the rendering resolution of at least one display based on the maximum initial pixel density among N initial pixel densities and the maximum virtual resolution includes: The first resolution of each of the N displays is determined based on the product of the physical size of the N displays and the maximum initial pixel density. If the first resolution of all N monitors is less than or equal to the maximum virtual resolution, the first resolution is used as the rendering resolution.
4. The method according to claim 3, characterized in that, The method further includes: If the first resolution of any display is greater than the maximum virtual resolution, determine the first pixel density of each of the N displays based on the maximum virtual resolution and the physical size of the N displays. The rendering resolution of each of the N displays is determined based on the product of the physical size of the N displays and the maximum first pixel density.
5. The method according to any one of claims 1 to 4, characterized in that, The screen scaling parameters are used to adjust the hardware scaling unit of the display controller in the graphics processor chip. The display controller also includes a line buffer. The hardware scaling unit is used to scale the line display data cached in the line buffer in a line scanning manner.
6. The method according to any one of claims 1 to 4, characterized in that, Displaying the application window across N monitors includes: Based on the layout information of N displays, determine the largest rectangular area, which is the largest inscribed rectangle in the splicing shape formed by the N displays. The application window is displayed in the largest rectangular area.
7. The method according to any one of claims 1 to 4, characterized in that, Obtain the initial pixel density of each of the N displays, including: Obtain the extended display identification data of the display; The identification data of the extended display is parsed to obtain the initial resolution and physical size of the display; The initial pixel density of the display is determined based on the ratio of the initial resolution to the physical size of the display in the same direction.
8. A cross-screen display device, characterized in that, include: The acquisition module is used to acquire the initial pixel density of N displays respectively. The initial pixel density is determined by the initial resolution and physical size of the displays, where N is an integer greater than 1. The first determining module is used to determine the rendering resolution of at least one display based on the maximum initial pixel density among N initial pixel densities. The second determining module is used to determine the screen scaling parameters of at least one display based on the rendering resolution and initial resolution of at least one display. A configuration module is used to configure the rendering resolution and the screen scaling parameters for at least one monitor, so that the application window can be displayed across N monitors.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 7.
10. A non-volatile computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.
11. A computer program product comprising a computer program, or a non-volatile computer-readable storage medium carrying a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.