CN117078499B - Dual-graphics-card rendering processing method and device, computing equipment and readable storage medium - Google Patents

Dual-graphics-card rendering processing method and device, computing equipment and readable storage medium Download PDF

Info

Publication number
CN117078499B
CN117078499B CN202311326045.3A CN202311326045A CN117078499B CN 117078499 B CN117078499 B CN 117078499B CN 202311326045 A CN202311326045 A CN 202311326045A CN 117078499 B CN117078499 B CN 117078499B
Authority
CN
China
Prior art keywords
display
mode
rendering
kernel
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311326045.3A
Other languages
Chinese (zh)
Other versions
CN117078499A (en
Inventor
倪振
何鲁港
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202311326045.3A priority Critical patent/CN117078499B/en
Publication of CN117078499A publication Critical patent/CN117078499A/en
Application granted granted Critical
Publication of CN117078499B publication Critical patent/CN117078499B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention discloses a double-display-card rendering processing method, a device, computing equipment and a readable storage medium, relates to the technical field of display cards, and aims to solve the problem that the existing double-display-card technology cannot be universally used for different scenes. The method comprises the following steps: detecting a display card connection mode, creating a corresponding user mode interface, wherein the user mode interface comprises a working mode interface, the working mode corresponding to the working mode interface at least comprises an energy-saving mode and a performance mode, and when the direct connection of the nuclear display and the single display is detected, the working mode also comprises a balance mode; in balance mode: the application in the application rendering list adopts independent rendering, and the rendering result is redirected to the kernel display through kernel space data redirection and is sent to the kernel display; and rendering and sending the applications outside the application rendering list by adopting the kernel display. The technology disclosed by the invention is suitable for double-display-card equipment, can provide a double-display-card rendering processing mechanism which is unified and suitable for all display card connection modes, and improves compatibility and expandability.

Description

Dual-graphics-card rendering processing method and device, computing equipment and readable storage medium
Technical Field
The invention relates to the technical field of display cards, in particular to a double-display-card rendering processing method, a double-display-card rendering processing device, computing equipment and a readable storage medium.
Background
More and more desktop computers and notebook computers (notebook computers for short) have double display cards, and particularly, the notebook computers with the main propaganda of game and display performances are played. One of the double display cards is an integrated display (integrated display card) or a nuclear display (nuclear display card), and the integrated display is integrated in a north bridge chip and is used less now; more so, it is a nuclear display, which is widely used in notebooks as part of a processor. The other of the dual graphics cards is a single display (independent graphics card), typically connected by a PCIe slot.
The advantage of the nuclear display is that the power consumption is relatively low, which is sufficient for users who use only lightweight rendering applications; the unique advantage is better performance, and particularly when dealing with large games or other GPU (graphics processor) intensive workloads, the contrast kernel display has obvious advantages. The unique power consumption is also high corresponding to the high performance, so the cruising time is low, the heating value is large, the service life of the battery is also influenced to a certain extent, and the battery is a very adverse influence factor for the portable equipment. Therefore, it is a very practical value and a problem with wide application scenarios to balance display performance and power consumption in a notebook equipped with a dual display card.
However, the existing notebook double-display card scheme is aimed at different scenes, and cannot be used commonly, and has various defects and shortcomings. The user has a threshold for identification when using, and the limitation of specific conditions. At present, it is needed to provide a unified processing mechanism applicable to all the hardware connection modes of the graphics cards.
Disclosure of Invention
To this end, the present invention provides a dual graphics card rendering processing method, apparatus, computing device, and readable storage medium in an effort to solve or at least alleviate at least one of the problems presented above.
According to one aspect of the present invention, there is provided a dual display card rendering method, the dual display card including a single display and a nuclear display, at least one of the single display and the nuclear display being directly connected to a display, the dual display card rendering method comprising: during initialization, detecting a display card connection mode of the current equipment to create a corresponding user state interface according to the detected display card connection mode, wherein the user state interface comprises a working mode interface, a working mode corresponding to the working mode interface at least comprises an energy-saving mode and a performance mode, and when a nuclear display is detected to be directly connected with a single display, the working mode also comprises a balance mode; in balance mode: the application in the application rendering list adopts independent rendering, and the rendering result is redirected to the kernel display in a kernel space data redirection mode, and is sent and displayed by the kernel display; and rendering and sending the applications outside the application rendering list by adopting the kernel display.
Optionally, in the dual graphics card rendering processing method according to the present invention, the application rendering list includes one or more of the following applications: an application where the graphics processor load is greater than the load threshold; user added applications.
Optionally, in the dual graphics card rendering processing method according to the present invention, a main flow of the kernel space data redirection is stored in a kernel space, and the main flow includes: responding to a request of applying for a memory space from a user space, and judging whether an application corresponding to a current process is in an application rendering list; if the application corresponding to the current process is in the application rendering list, creating a frame buffer by using a memory of a single display driver, expanding a member variable in a frame buffer structure body, setting the member variable as a first value, and importing the frame buffer into a shared memory space by using the member variable to provide cross-driver access; if the application corresponding to the current process is not in the application rendering list, a frame buffer is created by the memory driven by the kernel display, a member variable is expanded in a frame buffer structure body, the member variable is set to be a second value, and the member variable is utilized to guide the frame buffer into a shared memory space.
Optionally, in the dual graphics card rendering processing method according to the present invention, the main flow further includes: if the member variable is a first value when issued by the image refreshing interface, binding a frame buffer created by the memory of the single display driver with a cathode ray tube controller of the nuclear display to finish the redirection of the data stream; and if the member variable is a second value when issued by the image refreshing interface, binding a frame buffer created by the memory of the nuclear display driver with the cathode ray tube controller of the nuclear display.
Optionally, in the dual display card rendering processing method according to the present invention, in the energy saving mode, a nuclear display is adopted for rendering and sending display; and in the performance mode, rendering all the applications in the preset range by adopting the independent display, and transmitting the rendered data to the core display by the independent display, wherein the core display or the independent display is used for displaying.
Optionally, in the dual graphics card rendering processing method according to the present invention, the user mode interface further includes a delay interface; the delay interface is correspondingly provided with a first delay mode and a second delay mode; in the first delay mode, the switching action between the working modes adopts delay processing; in the second delay mode, the switching action between the working modes adopts non-delay processing.
Optionally, in the dual graphics card rendering processing method according to the present invention, in the energy saving mode, when the amount of the rendering task for the core display is higher than the first task amount threshold, the performance mode is switched.
According to another aspect of the present invention, there is also provided a dual display card rendering apparatus including a single display and a nuclear display, at least one of the single display and the nuclear display being directly connected to a display, the dual display card rendering apparatus including: the detection unit is suitable for detecting the display card connection mode of the current equipment during the initialization period; the system comprises a creation unit, a display card connection unit and a display card detection unit, wherein the creation unit is suitable for creating a corresponding user mode interface according to the detected display card connection mode, the user mode interface comprises a working mode interface, a working mode corresponding to the working mode interface at least comprises an energy-saving mode and a performance mode, and when the detection unit detects that a nuclear display is directly connected with a single display, the working mode also comprises a balance mode; the processing unit is suitable for enabling the application in the application rendering list to adopt independent rendering under the balance mode, redirecting the rendering result to the kernel display in a kernel space data redirection mode, sending the rendering result to the kernel display by the kernel display, and enabling the application outside the application rendering list to adopt the kernel display for rendering and sending the rendering result.
According to another aspect of the present invention, there is also provided a computing device including: at least one processor and a memory storing program instructions; the program instructions, when read and executed by the processor, cause the computing device to perform the dual graphics card rendering processing method as described above.
According to still another aspect of the present invention, there is also provided a readable storage medium storing program instructions that, when read and executed by a computing device, cause the computing device to perform the dual graphics card rendering processing method as above.
According to the dual display card rendering processing method, the dual display card rendering processing device, the computing equipment and the readable storage medium, at least one of the following beneficial effects can be realized: providing a unified dual-display-card rendering processing mechanism which is applicable to the hardware connection mode of all display cards for the dual-display-card notebook; the threshold used by the user is reduced; compatibility and expandability are improved; the user friendliness can be improved.
Drawings
To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings, which set forth the various ways in which the principles disclosed herein may be practiced, and all aspects and equivalents thereof are intended to fall within the scope of the claimed subject matter. The above, as well as additional objects, features, and advantages of the present disclosure will become more apparent from the following detailed description when read in conjunction with the accompanying drawings. Like reference numerals generally refer to like parts or elements throughout the present disclosure.
FIG. 1 is a schematic diagram showing an example of a dual graphics card connection;
FIG. 2 is a schematic diagram of another example of a dual graphics card connection;
FIG. 3 is a schematic diagram of another example of a dual graphics card connection;
FIG. 4 shows a schematic diagram of a computing device 400 according to one embodiment of the invention;
FIG. 5 illustrates a flow diagram of a dual graphics rendering processing method 500 according to one embodiment of the invention;
FIG. 6 shows a flow chart of an exemplary process of the initialization flow;
FIG. 7 illustrates a flow chart of an exemplary process of a subject flow of kernel-space data redirection;
FIG. 8 illustrates a flow chart of an exemplary process of data redirection;
fig. 9 illustrates a schematic structure of a dual graphic card rendering processing apparatus 900 according to an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
The display card connection mode on the notebook is somewhat different from that of the desktop, the double display cards on the desktop are usually connected with the display directly respectively, and the two display cards do not generate direct intersection; the display card hardware connection modes of the notebook are three types, as shown in fig. 1 to 3.
In a first mode shown in fig. 1, a multiplexer chip (MUX) is provided between the graphics card and the display for switching the output between the two graphics cards, which enables switching between the core display and the single display, and only one graphics card can provide the output at a time, and the structure with the multiplexer chip is called MUXed.
Later, for reasons of cost control, the current notebook has turned to the second mode shown in fig. 2, i.e. Muxless connection mode, which is also the connection mode adopted by most of the middle-low end notebooks most popular at present. In this way, the single display is not directly connected with the display, and the single display can send the rendered data to the display controller of the nuclear display, and the nuclear display is connected with the display to display the picture. This approach corresponds to a slave device having a single display as the core display, meaning that the active display controller is always the display controller of the core display, and only the functions that can be achieved by the display controller of the core display are used when displaying the picture, for example, the variable refresh rate is not supported by the early core display, and in this case, the core display becomes a factor of the display performance of the high-end notebook.
The third mode shown in fig. 3 combines the above two display card connection modes, and is mainly applied to some high-end notebooks at present. In this way, the independent display can send the rendered data to the kernel display, and the kernel display displays the picture; the single display can also be directly connected with a display, and the display is rendered and displayed.
In the Windows operating system, NVIDIA provides a relatively sophisticated solution Optimus to the dual graphics card mix problem, however, this solution does not support the Linux operating system. There is also currently a lack of a unified, efficient and easy-to-use solution in Linux operating systems.
In the prior art, aiming at the MUXed structure, the Linux kernel provides a vga_switch boost subsystem to realize the switching output between GPUs, realizes the logic layer of a multiplexing chip, can switch display cards under the condition of not shutting down, can singly use nuclear display or singly use independent display, simultaneously realizes the unified management of the power supply state, directly powers down the unused display cards, and saves the energy consumption.
For the MUXless structure, PRIME and Bumblebee are currently available. Bumblebe has a relatively large number of problems at present and has general performance. The relatively mature, relatively more widely applied is the DRI Prime scheme, implemented by Dave Airlie (RedHat Graphics Engineers). PRIMEGPU offloading in the Prime scheme can send the result of the single display rendering to the core display for display, and Reverse Prime is opposite, can send the result of the core display rendering to the single display for display, and can cope with the situation that the core display cannot be directly connected with the single display external interface. The principles of the DRI Prime implementation are described below.
In kernel space, prime is implemented based on a method of sharing memory management objects between two kernel device drivers. The kernel sets a namespace of one GEM for each graphics device, but it cannot be shared between graphics devices. The DRI Prime introduces a new namespace PRIME, and two display card devices are respectively set as master-slave devices (generally, the core display is a master device and the independent display is a slave device), so that the display card devices can import and export the memory in the PRIME namespace through specific ioctl.
In the user space, a display server (X server) is required to configure a virtual display for the unique display (actual use is not required), otherwise, the unique drive cannot be loaded. When the on-display rendering is to be triggered, the application needs to configure additional environment variables to distinguish which applications are in need of on-display rendering. The measa adds logic to identify the environment variables and to invoke the master-slave drivers. The DRI protocol is extended, PRIME buffer types are added, and a double buffer mechanism is utilized to finish redirection of frame buffers (frame buffering, i.e. frame memory blocks of display contents of a single layer) when front and back buffers (buffers) are replaced, i.e. single-display back buffers in a shared space are exchanged to core-display front buffers.
Implementation of this scheme involves drm, libdrm, mesa, xorg the entire Linux graphics display stack. However, this solution has the following problems: first, the steps of configuring Prime are cumbersome, require identification of different scenarios, and involve many limitations, related to many factors, such as the combination of different models of dual graphics cards, whether the graphics card driver is a closed or open source, the version of the graphics card driver, whether the DRI framework is a second or third generation, the version of the measa, the version of Xorg, combinations thereof, and the like. The common users are difficult to identify and operate, and the use cost is high. Second, the implementation of the entire Prime is highly coupled to the Linux entire graphics stack, and the development of DRI Prime loses flexibility and lacks compatibility, robustness and scalability.
Therefore, the existing double-display-card technology causes a threshold when a user uses the double-display-card technology, is designed aiming at different scenes and cannot be commonly used among schemes, and aiming at the problem, the invention provides a double-display-card rendering processing method, which can provide a unified processing mechanism applicable to hardware connection modes of all display cards and improves user friendliness.
FIG. 4 shows a schematic diagram of a computing device 400 according to one embodiment of the invention. It should be noted that, the computing device 400 shown in fig. 4 is only an example, and in practice, the computing device used to implement the dual graphics card rendering processing method of the present invention may be any type of device, and the hardware configuration of the computing device may be the same as the computing device 400 shown in fig. 4 or may be different from the computing device 400 shown in fig. 4. In practice, the computing device for implementing the dual graphics card rendering processing method of the present invention may add or delete hardware components of the computing device 400 shown in fig. 4, and the present invention is not limited to the specific hardware configuration of the computing device.
As shown in fig. 4, computing device 400 typically includes memory 410, one or more processors 420, a display 430, and a graphics processing unit 440.
Depending on the desired configuration, processor 420 may be any type of processing including, but not limited to: microprocessor (μp), microcontroller (μc), digital information processor (DSP), or any combination thereof. The graphics processing unit 440 includes a dual display card including an independent display card (i.e., a single display) and a core display card (i.e., a core display).
Depending on the desired configuration, memory 410 may be any type of memory including, but not limited to: volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof. The memory 410 includes at least program instructions 415 for performing a dual graphics card rendering processing method.
Computing device 400 may be implemented as a server, such as a file server, database server, application server, WEB server, etc., as well as a personal computer including desktop and notebook computer configurations. Of course, computing device 400 may also be implemented as part of a small-sized portable (or mobile) electronic device. In an embodiment according to the present invention, the computing device 400 is configured to perform the dual graphics rendering processing method 500 according to the present invention.
The dual display card rendering processing method 500 according to the embodiment of the invention comprises the following steps: the double-display card rendering processing method comprises the steps that the double-display card comprises a single display and a nuclear display, at least one of the single display and the nuclear display is directly connected with a display, and the double-display card rendering processing method comprises the following steps: during initialization, detecting a display card connection mode of the current equipment to create a corresponding user state interface according to the detected display card connection mode, wherein the user state interface comprises a working mode interface, a working mode corresponding to the working mode interface at least comprises an energy-saving mode and a performance mode, and when a nuclear display is detected to be directly connected with a single display, the working mode also comprises a balance mode; in balance mode: the application in the application rendering list adopts independent rendering, and the rendering result is redirected to the kernel display in a kernel space data redirection mode, and is sent and displayed by the kernel display; and rendering and sending the applications outside the application rendering list by adopting the kernel display.
In the following, the above-mentioned dual graphics rendering processing method is described with reference to fig. 5, and it should be understood that, although in the embodiment of the present invention, an example of application of the Linux operating system is mainly mentioned, other embodiments of the present invention may also be applied to dual graphics devices of other operating systems, such as a Windows operating system, etc.
In order to overcome the limitations and disadvantages of the current situation of double display cards in the notebook field, the invention provides a universal mechanism and a solution, and aims to shield technical details in a user space, so that a user obtains the balance of display card performance and power consumption with less perception.
FIG. 5 illustrates a flow chart of a dual graphics rendering processing method 500 according to one embodiment of the invention. The dual graphics rendering processing method 500 is performed in a computing device (e.g., the computing device 400 described previously).
In an embodiment of the present invention, the dual display card includes a single display and a nuclear display, at least one of which is directly connected to the display.
As shown in FIG. 5, the dual graphics rendering processing method 500 begins at step 510.
In step 510, during initialization, the graphics card connection mode of the current device is detected. Then, step 520 is performed. The current device is, for example, a current computer such as a desktop or notebook having the dual graphics card configuration described above. In the present embodiment, a notebook is taken as an example of the current device.
The initialization stage may detect a hardware connection mode of the graphics card, that is, a graphics card connection mode, for example, in a kernel start-up stage of a machine (such as a notebook) start-up. The graphics card connection manner may include, for example, the three connection manners of the first manner, the second manner, and the third manner as mentioned above. After that, different solutions are provided for different connection modes.
For example, in the first mode shown in fig. 1, the dual display cards are directly connected to the display through the multiplexer chips, respectively, and the dual display cards are not connected. In other words, if the display card connection mode is the first mode, only one of the independent display and the core display is allowed to participate in rendering and sending display, and rendering and sending display are executed by the same display card.
For another example, in the second mode shown in FIG. 2, the single display is connected to the nuclear display, the nuclear display is directly connected to the display, and the single display is not directly connected to the display. In other words, if the display card connection mode is the second mode, the data is rendered independently, and the rendered data is sent to the core display and then sent to the display by the core display.
For another example, in the third mode shown in fig. 3, the dual display cards are directly connected to the display through the multiplexer chips, and the dual display cards are connected to each other, for example, through PCI-E (i.e., PCIe slot).
Next, in step 520, a corresponding user interface is created according to the detected graphics card connection mode, where the user interface includes a working mode interface, and the working mode corresponding to the working mode interface includes at least an energy saving mode and a performance mode. The energy-saving mode aims at saving energy, and the performance mode aims at reflecting a better rendering effect.
Fig. 6 shows one possible implementation of the initialization procedure described above. In this implementation, as shown in fig. 6, in the kernel initialization stage, for different graphics card connection modes, for example, different user mode interfaces may be created through the virtual memory file interface, for example, may be placed under the/sys/kernel/hybrid path.
In fig. 6, the graphics card connection modes one to three may be, for example, the first to third modes mentioned above.
The display card connection modes I and III are provided with a multiplexer chip, and when the two connection modes are detected, the driving of the multiplexer chip is initialized.
And initializing the display card drive and performing power management when the operation is started for the single display. The power management mechanism automatically powers up and down according to the running time of the driver.
As an example, in the energy saving mode, a kernel display may be employed for rendering and rendering.
In the power saving mode, if the video card connection mode is the third mode, the independent display can be suspended.
And in the performance mode, rendering all the applications in the preset range by adopting the independent display, and transmitting the rendered data to the core display by the independent display, wherein the core display or the independent display is used for displaying.
For example, in the graphics card connection method of the second embodiment, the graphics card connection method may be displayed by the core when in the performance mode.
For another example, in the graphics card connection mode of the third mode, when in the performance mode, the graphics card may be displayed by a core display or may be displayed by a single display. For example, when there is a higher performance requirement, a single display may be employed in this case.
The preset range is, for example, the first range or the second range. The first range may be, for example, all applications requiring rendering, and the second range may be, for example, all applications requiring 3D rendering.
As an example, in the power saving mode, when the amount of the rendering task on the core display is higher than the first task amount threshold, for example, the current power saving mode may be switched to the performance mode.
Further, in the performance mode, when the unique rendering task amount is below the second task amount threshold, for example, the current performance mode may be switched to the energy saving mode.
In this way, the automatic switching between the energy-saving mode and the performance mode can be respectively realized for the dual display card devices with various connection modes in the above mode, and the appropriate mode can be matched according to the current rendering requirement in real time.
The first task amount threshold value and the second task amount threshold value may be the same or different. The first task volume threshold may be higher than the second task volume threshold, or may be lower than the second task volume threshold.
In addition, the first task volume threshold and the second task volume threshold may be set empirically, or determined experimentally, for example, and will not be described in detail herein.
As an example, the user state interface may also include a delay interface. The delay interface may for example be provided with a first delay pattern and a second delay pattern, respectively.
In the first delay mode, the switching action between the operation modes may employ a delay process.
In the second delay mode, the switching action between the operation modes may employ non-delay processing.
In addition, in step 520, if the detected graphics card connection mode is directly connected to the independent display, for example, when the detected graphics card connection mode is the second mode or the third mode, the operation mode further includes a balance mode. The balance mode is a mode between the energy saving mode and the performance mode.
And under the balance mode, the application in the application rendering list adopts independent rendering, and the rendering result is redirected to the kernel display in a kernel space data redirection mode and sent and displayed by the kernel display.
As an example, the subject flow of kernel-space data redirection may be stored in kernel space.
In one example, the subject flow of kernel-space data redirection described above may include, for example, steps 710, 720, and 730 as shown in FIG. 7.
As shown in fig. 7, in step 710, in response to a request from a user space to apply for a memory space, it is determined whether an application corresponding to a current process is in an application rendering list.
If the application corresponding to the current process is in the application rendering list, step 720 is executed, a frame buffer is created from the memory of the independent driver, the member variable is extended in the frame buffer structure, the member variable is set to a first value (for example, true), and the member variable is used to import the frame buffer into the shared memory space to provide cross-driver access.
If the application corresponding to the current process is not in the application rendering list, step 730 is performed, creating a frame buffer from the memory driven by the kernel display, expanding a member variable in the frame buffer structure, setting the member variable to a second value (for example, false), and importing the frame buffer into the shared memory space by using the member variable.
In another example, the main flow of kernel space data redirection may include steps 740, 750, and 760 in addition to steps 710, 720, and 730 shown in fig. 7. As shown in fig. 7, in this example, after step 720 or 730 is performed, step 740 is performed.
In step 740, it is detected whether the value of the member variable at the time of issuing the image refresh interface is a first value or a second value: if the value is the first value, execute step 750; if the value is the second value, step 760 is performed.
In step 750, the frame buffer created by the memory of the single display driver is bound to the Cathode Ray Tube (CRTC) controller of the core display to complete the redirection of the data stream.
In step 760, the frame buffer created by the memory of the display driver is bound to the cathode ray tube controller of the display.
As an example, in balanced mode, for applications outside of the application rendering list, kernel rendering and send rendering are employed.
For example, a first type of application, such as an application with a GPU load greater than a load threshold, may be included in the application rendering list. The load threshold may be set empirically, or determined experimentally, for example, and will not be described in detail herein. As another example, a second type of application, such as a user-added application, may also be included in the application rendering list. Alternatively, the application rendering list may include the first and second types of applications described above.
In the following, specific implementation examples of various graphics card hardware connection manners are described in one embodiment of the present invention.
Referring to fig. 6, when the video card connection mode is one of the video card connection modes, for example, the first mode described above, only one video card can participate in rendering and sending. For example, a mode and delay file is created under the corresponding path (the/sys/kernel/hybrid path mentioned above) as a user-mode interface.
mode file as an example of an operation mode interface, for graphics card connection mode one, mode (as an example of an operation mode) may be set to 0 (e.g., as a default value) or 1. The mode is set to be 0 time and represents an Energy-saving mode, and at the moment, the display card can be switched to a nuclear display mode. mode is set to 1 time to represent Performance mode, and the display card is switched to the independent mode.
delay file as an example of a delay interface, delay represents a delay mode, a delay corresponds to a first delay mode when delay is set to 1, a delay corresponds to a second delay mode when delay is set to 0, and a default value of delay is, for example, 1.delay 1 represents that all switching actions will delay processing, and will switch to another graphics card until the last user state process has closed the device file of the current GPU and the sound card device file on that graphics card. A delay of 0 indicates that the process is not delayed.
The switching of the physical paths is realized through the driving of the multiplexer chip, and the power management mechanism can automatically detect the unique running time to carry out power management. The exposed user interface can be combined with an upper tool to achieve the effect of automatic switching. For example, the amount of rendering tasks for a kernel may be detected by a kernel GPU detection tool (e.g., intel may use intel-GPU-top, amd uses radiontop), and a threshold may be set to determine whether a switch to a single-kernel is required.
It should be noted that the paths shown in fig. 6, such as the sys/kernel/bypass, are only examples, and other paths may be selected or created in other examples.
Referring to fig. 6, when the video card connection mode is the second video card connection mode, for example, the second mode described above, a mode, delay, pids file is created under the hybrid path.
For graphics card connection mode two, a mode file is an example of an operation mode interface, which may be set to 0, 1 (e.g., as a default value), or 2. The pids file is used as an example of an application rendering list, and is used for storing names, codes or serial numbers (pids) of applications to which the processes of the application need to adopt the single-display rendering.
When the mode set value is 0, the energy-saving mode is represented, and in the mode, for example, the single display device can be suspended, and the nuclear display is used for rendering and displaying pictures, so that the optimal energy consumption effect is achieved.
When the mode set value is 1, representing a Balance mode, according to the process pid filled in the pids file, rendering the corresponding process by using a single display, rendering the rest by using a kernel display, and finally displaying the picture by a display controller of the kernel display.
For example, the stuffing of the pids file may be accomplished by creating a service (e.g., custom system service) in user space for stuffing the pids file and creating an application rendering list.
The system d service described above may, for example, automatically detect an application rendering list, automatically populate the pids to the pids files when the process is created. The application store has entry of rendering degree attributes (used for representing the load of the GPU) when the application is put on the game or the application, so that programs with high GPU loads can be automatically added into an application rendering list. In addition, the user can have the authority to modify the list, for example, an application program which the user wants to display and render singly can be set.
When the mode set value is 2, representing a performance mode, adopting the best display performance, for example, all applications needing 3D rendering can be rendered by using the single display, the core display does not participate in rendering, and only the result of the single display rendering is displayed.
In the second approach, involving the redirection of data, a design that differs from the original DRI display framework is required, where the existing Prime scheme is not employed. In the embodiment of the invention, the redirection main flow of the data is placed in the kernel space, so that the user does not feel, the use cost is reduced, the coupling degree with the DRI framework is reduced, and the implementation mode can be the mode shown in fig. 8.
Referring to fig. 8, in response to a request from a user space to apply for a memory space, at the time of creating a frame buffer, a global pointer (e.g., current) is used to check whether a current process is a process filled in a pids file, if so, the current process uses a single display to render, a frame buffer is created by a single display driver, and a member variable (e.g., drm_redirect) is extended in the frame buffer structure to set it to true (true). The frame buffer is then imported into the shared memory space (e.g., dma-buf may be utilized) for cross-driver access. If there is no process in the pids file, a frame buffer is created using the kernel driver, and drm_redirect is set to false (false).
When the image refreshing interface in the libdrm library issues, whether redirection is needed or not is determined according to a drm_redirect variable, if the drm_redirect variable value is true, frame buffering and CRTC of a nuclear display are bound, and redirection of a data stream is completed. If the drm_redirect variable value is false, the data rendered by the core display is bound with the CRTC of the core display, namely the original normal sending and displaying flow.
Similarly, since the run-time power management mechanism is turned on by itself, the power is automatically turned off when the device is not used for a period of time, and the device is turned on first if the device is to be recovered.
Referring to fig. 6, when the graphics card connection mode is the graphics card connection mode three, such as the third mode described above, since this mode combines the features of the former two modes, its main implementation scheme is mostly the same as the second mode. In this manner, for example, a mode, delay, pids file may be created under the hybrid path. In the third mode, the delay file functions in the same way as in the first mode.
In this manner, mode is also three setting values.
When the set value of mode is 0, the single display is suspended, and the kernel display is used for rendering and sending display. When the set value of mode is 1, a kernel space data redirection mode is adopted, a single display rendering is adopted for the process designated in the pids file, and the result is redirected to a kernel display.
When the set value of mode is 2, the difference between the third mode and the second mode of the graphics card connection is the performance improvement point of the third mode. In the second approach, rendering may use single display, but all rendering results (including single display and kernel display) are presented by the kernel display controller, where the kernel display becomes a bottleneck for performance in GPU high load scenarios. Therefore, under the condition that the set value is 2, the multiplexer can be used for switching to a single display direct connection mode, and the single display performance can be improved to the greatest extent.
Because the single display turns on the power management mechanism in the running process, the power is turned off when the mode set value is 0; when the mode set value is 1, the device is displayed for a certain time without power down (if the preset time is exceeded), and the device is powered up first after the device is recovered.
Embodiments of the present invention also provide a dual graphic card rendering processing apparatus 900 capable of performing the respective step processes of the dual graphic card rendering processing method 500 as described above. Next, the above-described dual graphic card rendering processing apparatus 900 is described with reference to fig. 9.
As shown in fig. 9, the dual graphic card rendering processing apparatus 900 includes a detection unit 910, a creation unit 920, and a processing unit 930.
The detection unit 910 is adapted to detect, during initialization, a graphics card connection mode of the current device.
As an example, the graphics card connection manner includes a first manner, a second manner, and a third manner; in the first mode, the double display cards are respectively and directly connected with the display through the multiplexer chip, and the double display cards are not connected; in the second mode, the single display is connected with the nuclear display, the nuclear display is directly connected with the display, and the single display is not directly connected with the display; in the third mode, the double display cards are respectively and directly connected with the display through the multiplexer chip, and the double display cards are connected.
The creating unit 920 is adapted to create a corresponding user interface according to the detected display card connection mode, where the user interface includes an operation mode interface, and an operation mode corresponding to the operation mode interface includes at least an energy saving mode and a performance mode, where when the core display and the single display are directly connected in the display card connection mode detected by the detecting unit 910, for example, when the second mode or the third mode is detected, the operation mode further includes a balance mode.
The processing unit 930 is adapted to, in a balanced mode, cause applications in the application rendering list to adopt independent rendering, redirect the rendering result to the kernel display by way of redirecting kernel space data, send the rendering result to the kernel display, and cause applications outside the application rendering list to adopt the kernel display to perform rendering and send the rendering result.
As an example, one or more of the following applications may be included in the application rendering list: applications where the GPU load is greater than the load threshold; user added applications.
As an example, the subject flow of kernel space data redirection may be stored in kernel space, and the subject flow may include: responding to a request of applying for a memory space from a user space, and judging whether an application corresponding to a current process is in an application rendering list; if the application corresponding to the current process is in the application rendering list, creating a frame buffer by using a memory of a single display driver, expanding a member variable in a frame buffer structure body, setting the member variable as a first value, and importing the frame buffer into a shared memory space by using the member variable to provide cross-driver access; if the application corresponding to the current process is not in the application rendering list, a frame buffer is created by the memory driven by the kernel display, a member variable is expanded in a frame buffer structure body, the member variable is set to be a second value, and the member variable is utilized to guide the frame buffer into a shared memory space.
As an example, the subject process may further include: if the member variable is a first value when issued by the image refreshing interface, binding a frame buffer created by the memory of the single display driver with a cathode ray tube controller of the nuclear display to finish the redirection of the data stream; and if the member variable is a second value when issued by the image refreshing interface, binding a frame buffer created by the memory of the nuclear display driver with the cathode ray tube controller of the nuclear display.
As an example, in energy-saving mode, a kernel display may be employed for rendering and sending; and in the performance mode, rendering all the applications in the preset range by adopting the independent display, and transmitting the rendered data to the core display by the independent display, wherein the core display or the independent display is used for displaying.
As an example, the user-mode interface may also include a delay interface; the delay interface is correspondingly provided with a first delay mode and a second delay mode; in the first delay mode, the switching action between the working modes adopts delay processing; in the second delay mode, the switching action between the working modes adopts non-delay processing.
As an example, in the power saving mode, when the amount of the rendering task on the core display is higher than the first task amount threshold, the performance mode may be switched.
Further, in the performance mode, when the unique rendering task amount is below the second task amount threshold, for example, the current performance mode may be switched to the energy saving mode.
In summary, the dual-graphics-card rendering processing method and device can provide a unified dual-graphics-card switching mechanism applicable to all graphics cards in a hardware connection mode for dual-graphics-card desktops and notebooks (such as Linux, windows dual-graphics-card notebooks and the like), can reduce the use threshold of users, and improves compatibility and expandability.
The various techniques described herein may be implemented in connection with hardware or software or, alternatively, with a combination of both. Thus, the methods and apparatus of the present invention, or certain aspects or portions of the methods and apparatus of the present invention, may take the form of program code (i.e., instructions) embodied in tangible media, such as removable hard drives, U-drives, floppy diskettes, CD-ROMs, or any other machine-readable storage medium, wherein, when the program is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention.
In the case of program code execution on programmable computers, the computing device will generally include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. Wherein the memory is configured to store program code; the processor is configured to execute the dual graphics card rendering processing method of the present invention according to instructions in the program code stored in the memory.
By way of example, and not limitation, readable media comprise readable storage media and communication media. The readable storage medium stores information such as computer readable instructions, data structures, program modules, or other data. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. Combinations of any of the above are also included within the scope of readable media.
In the description provided herein, algorithms and displays are not inherently related to any particular computer, virtual system, or other apparatus. Various general-purpose systems may also be used with examples of the invention. The required structure for a construction of such a system is apparent from the description above. In addition, the present invention is not directed to any particular programming language. It should be appreciated that the teachings of the present invention as described herein may be implemented in a variety of programming languages and that the foregoing descriptions of specific languages are provided for disclosure of preferred embodiments of the present invention.
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. Those skilled in the art will appreciate that the modules or units or components of the devices in the examples disclosed herein may be arranged in a device as described in this embodiment, or alternatively may be located in one or more devices different from the devices in this example. The modules in the foregoing examples may be combined into one module or may be further divided into a plurality of sub-modules.
Those skilled in the art will appreciate that the modules in the apparatus of the embodiments may be adaptively changed and disposed in one or more apparatuses different from the embodiments. The modules or units or components of the embodiments may be combined into one module or unit or component and, furthermore, they may be divided into a plurality of sub-modules or sub-units or sub-components. Any combination of all features disclosed in this specification, and all processes or units of any method or apparatus so disclosed, may be employed, except that at least some of such features and/or processes or units are mutually exclusive. Each feature disclosed in this specification may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features but not others included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. Furthermore, some of the embodiments are described herein as methods or combinations of method elements that may be implemented by a processor of a computer system or by other means of performing the functions. Thus, a processor with the necessary instructions for implementing the described method or method element forms a means for implementing the method or method element. Furthermore, the elements of the apparatus embodiments described herein are examples of the following apparatus: the apparatus is for carrying out the functions performed by the elements for carrying out the objects of the invention.
As used herein, unless otherwise specified the use of the ordinal terms "first," "second," "third," etc., to describe a general object merely denote different instances of like objects, and are not intended to imply that the objects so described must have a given order, either temporally, spatially, in ranking, or in any other manner.
While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of the above description, will appreciate that other embodiments are contemplated within the scope of the invention as described herein. Furthermore, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter.

Claims (9)

1. The double-display card rendering processing method is characterized in that the double-display card rendering processing method is used for a Linux operating system and comprises the following steps:
during initialization, detecting a display card connection mode of the current equipment to create a corresponding user state interface according to the detected display card connection mode, wherein the user state interface comprises a working mode interface, a working mode corresponding to the working mode interface at least comprises an energy-saving mode and a performance mode, and when a nuclear display is detected to be directly connected with a single display, the working mode also comprises a balance mode;
In balance mode: the application in the application rendering list adopts independent rendering, and the rendering result is redirected to the kernel display in a kernel space data redirection mode, and is sent and displayed by the kernel display; rendering and sending the application outside the application rendering list by adopting a kernel display;
the main flow of the kernel space data redirection is stored in the kernel space, and the main flow comprises:
responding to a request of applying for a memory space from a user space, and judging whether an application corresponding to a current process is in an application rendering list;
if the application corresponding to the current process is in the application rendering list, creating a frame buffer by using a memory of a single display driver, expanding a member variable in a frame buffer structure body, setting the member variable as a first value, and importing the frame buffer into a shared memory space by using the member variable to provide cross-driver access;
if the application corresponding to the current process is not in the application rendering list, a frame buffer is created by the memory driven by the kernel display, a member variable is expanded in a frame buffer structure body, the member variable is set to be a second value, and the member variable is utilized to guide the frame buffer into a shared memory space.
2. The dual graphics card rendering processing method of claim 1, wherein the application rendering list includes one or more of the following applications:
an application where the graphics processor load is greater than the load threshold;
user added applications.
3. The dual graphics card rendering processing method of claim 1, wherein the main flow further comprises:
if the member variable is a first value when issued by the image refreshing interface, binding a frame buffer created by the memory of the single display driver with a cathode ray tube controller of the nuclear display to finish the redirection of the data stream;
and if the member variable is a second value when issued by the image refreshing interface, binding a frame buffer created by the memory of the nuclear display driver with the cathode ray tube controller of the nuclear display.
4. The dual display card rendering processing method according to claim 1, wherein:
in the energy-saving mode, rendering and sending display are performed by adopting a nuclear display;
and in the performance mode, rendering all the applications in the preset range by adopting the independent display, and transmitting the rendered data to the core display by the independent display, wherein the core display or the independent display is used for displaying.
5. The dual graphics card rendering processing method of claim 1, wherein the user mode interface further comprises a delay interface; the delay interface is correspondingly provided with a first delay mode and a second delay mode;
In the first delay mode, the switching action between the working modes adopts delay processing;
in the second delay mode, the switching action between the working modes adopts non-delay processing.
6. The dual graphics card rendering processing method of any one of claims 1-5, wherein:
and in the energy-saving mode, when the amount of the rendering task of the nuclear display is higher than a first task amount threshold, switching to a performance mode.
7. The double-display card rendering device comprises a single display and a nuclear display, wherein at least one of the single display and the nuclear display is directly connected with a display, and the double-display card rendering device is characterized in that the double-display card rendering device is used for a Linux operating system and comprises:
the detection unit is suitable for detecting the display card connection mode of the current equipment during the initialization period;
the system comprises a creation unit, a display card connection unit and a display card detection unit, wherein the creation unit is suitable for creating a corresponding user mode interface according to the detected display card connection mode, the user mode interface comprises a working mode interface, a working mode corresponding to the working mode interface at least comprises an energy-saving mode and a performance mode, and when the detection unit detects that a nuclear display is directly connected with a single display, the working mode also comprises a balance mode;
the processing unit is suitable for enabling the application in the application rendering list to adopt independent rendering under the balance mode, redirecting the rendering result to the kernel display in a kernel space data redirection mode, and sending the rendering result to the kernel display by the kernel display, so that the application outside the application rendering list adopts the kernel display to conduct rendering and sending; the main flow of the kernel space data redirection is stored in the kernel space, and the main flow comprises: responding to a request of applying for a memory space from a user space, and judging whether an application corresponding to a current process is in an application rendering list; if the application corresponding to the current process is in the application rendering list, creating a frame buffer by using a memory of a single display driver, expanding a member variable in a frame buffer structure body, setting the member variable as a first value, and importing the frame buffer into a shared memory space by using the member variable to provide cross-driver access; if the application corresponding to the current process is not in the application rendering list, a frame buffer is created by the memory driven by the kernel display, a member variable is expanded in a frame buffer structure body, the member variable is set to be a second value, and the member variable is utilized to guide the frame buffer into a shared memory space.
8. A computing device, comprising:
at least one processor and a memory storing program instructions;
the program instructions, when read and executed by the processor, cause the computing device to perform the dual graphics card rendering processing method of any of claims 1-6.
9. A readable storage medium storing program instructions that, when read and executed by a computing device, cause the computing device to perform the dual graphics card rendering processing method of any of claims 1-6.
CN202311326045.3A 2023-10-13 2023-10-13 Dual-graphics-card rendering processing method and device, computing equipment and readable storage medium Active CN117078499B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311326045.3A CN117078499B (en) 2023-10-13 2023-10-13 Dual-graphics-card rendering processing method and device, computing equipment and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311326045.3A CN117078499B (en) 2023-10-13 2023-10-13 Dual-graphics-card rendering processing method and device, computing equipment and readable storage medium

Publications (2)

Publication Number Publication Date
CN117078499A CN117078499A (en) 2023-11-17
CN117078499B true CN117078499B (en) 2024-01-23

Family

ID=88708346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311326045.3A Active CN117078499B (en) 2023-10-13 2023-10-13 Dual-graphics-card rendering processing method and device, computing equipment and readable storage medium

Country Status (1)

Country Link
CN (1) CN117078499B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107302458A (en) * 2017-07-03 2017-10-27 武汉攀升鼎承科技有限公司 A kind of distributed desktop cloud structure and implementation method
CN108241510A (en) * 2016-12-23 2018-07-03 研祥智能科技股份有限公司 A kind of switching method of video card
CN112102143A (en) * 2020-09-11 2020-12-18 山东超越数控电子股份有限公司 Graphics accelerated optimization method based on domestic platform
CN112596852A (en) * 2020-12-08 2021-04-02 上海鲲鲸云股份有限公司 Graph display method, device and system, electronic equipment and storage medium
CN113064727A (en) * 2021-04-16 2021-07-02 上海众链科技有限公司 Image display scheduling method, terminal and storage medium applied to Android system
CN113094015A (en) * 2021-04-19 2021-07-09 上海跃影科技有限公司 Holographic multi-screen display implementation method and system, computer equipment and storage medium
CN114416376A (en) * 2022-01-27 2022-04-29 济南点量软件有限公司 Load balancing method and system for multiple display cards among different applications

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9111325B2 (en) * 2009-12-31 2015-08-18 Nvidia Corporation Shared buffer techniques for heterogeneous hybrid graphics
US9262795B2 (en) * 2012-07-31 2016-02-16 Intel Corporation Hybrid rendering systems and methods

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241510A (en) * 2016-12-23 2018-07-03 研祥智能科技股份有限公司 A kind of switching method of video card
CN107302458A (en) * 2017-07-03 2017-10-27 武汉攀升鼎承科技有限公司 A kind of distributed desktop cloud structure and implementation method
CN112102143A (en) * 2020-09-11 2020-12-18 山东超越数控电子股份有限公司 Graphics accelerated optimization method based on domestic platform
CN112596852A (en) * 2020-12-08 2021-04-02 上海鲲鲸云股份有限公司 Graph display method, device and system, electronic equipment and storage medium
CN113064727A (en) * 2021-04-16 2021-07-02 上海众链科技有限公司 Image display scheduling method, terminal and storage medium applied to Android system
CN113094015A (en) * 2021-04-19 2021-07-09 上海跃影科技有限公司 Holographic multi-screen display implementation method and system, computer equipment and storage medium
CN114416376A (en) * 2022-01-27 2022-04-29 济南点量软件有限公司 Load balancing method and system for multiple display cards among different applications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于虚拟化云计算的3D图形渲染系统架构与性能研究;朴钦浩等;《长春师范大学学报》(第04期);全文 *

Also Published As

Publication number Publication date
CN117078499A (en) 2023-11-17

Similar Documents

Publication Publication Date Title
US8487943B2 (en) Driver architecture for computing device having multiple graphics subsystems, reduced power consumption modes, software and methods
EP2225752B1 (en) Video rendering across a high speed peripheral interconnect bus
US8868945B2 (en) Device having multiple graphics subsystems and reduced power consumption mode, software and methods
US5925134A (en) Method and apparatus for power management
US8558839B1 (en) Displaying critical system screens in a multiple graphics adapter environment
US8259119B1 (en) System and method for switching between graphical processing units
US7581037B2 (en) Effecting a processor operating mode change to execute device code
CN112965771B (en) Virtual screen construction method, computing device and storage medium
US20080055322A1 (en) Method and apparatus for optimizing data flow in a graphics co-processor
JP2006351013A (en) Method and system for storing/restoring procedure in electronic equipment
JP3685401B2 (en) CPU control method, computer apparatus and CPU using the same, and program
JP2021142399A (en) Game machine
EP2677427A1 (en) Techniques for directly accessing a graphical processing unit memory by an application
JP2002132496A (en) Emulating apparatus and parts, emulation method, recording medium, and program
US5966142A (en) Optimized FIFO memory
CN117078499B (en) Dual-graphics-card rendering processing method and device, computing equipment and readable storage medium
KR102603856B1 (en) low latency composer
JP2021142417A (en) Game machine
JP6903627B2 (en) Pachinko machine
JP6903624B2 (en) Pachinko machine
JP6903625B2 (en) Pachinko machine
CN115601476A (en) Boot animation implementation method based on VBIOS rendering
JPH11143566A (en) Method and system for maximizing apparent initial throughput of computer
UltraTM Workstation Just the Facts

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant