• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-20  評(píng)論-0  文章-0  trackbacks-0

            Hardware overlay

            From Wikipedia, the free encyclopedia

            Jump to: navigation, search

            Hardware overlay, also known as video overlay, is a method of rendering an image to a display screen with a dedicated memory buffer inside computer video hardware, to display a fast-moving video image such as a computer game, a DVD, or the signal from a TV card. Hardware overlay is supported by most video cards (since about 1998) and media players.

            Contents

            [hide]

            Overview

            The use of a hardware overlay is important for several reasons. First, in a graphical user interface (GUI) operating system such as Windows, one display is typically used to display multiple simultaneous applications. Second, consider how a display works without a hardware overlay. When each application draws to the screen, the operating system's graphical subsystem must constantly check to ensure that the objects being drawn appear on the appropriate location on the screen, and that they don't collide with overlapping and neighboring windows. The graphical subsystem must clip objects while they are being drawn when a collision occurs. This constant checking and clipping ensures that different applications can cooperate with one another in sharing a display, but also consumes a significant proportion of computing power.

            The way a computer draws on its display is by writing a bitmapped representation of the graphics into a special portion of its memory known as video memory. Without any hardware overlays, there is only one chunk of video memory which all applications must share - and the location of a given application's video memory moves whenever the user changes the position of the application's window. With shared video memory, an application must constantly check that it is only writing to memory that belongs to that application.

            When running a high-bandwidth video application such as games or movie playing, the computing power and complexity needed to perform this constant clipping and checking negatively impacts performance and compatibility. To escape these limitations, the hardware overlay was invented.

            An application using a hardware overlay gets a completely separate section of video memory that belongs only to that application. Because nothing else uses it, the program never needs to waste time considering whether a given piece of the memory belongs to it, nor does it need to worry about the user moving the window and changing the location of the video memory. To get the image from the separate video memory to display in tandem with the remaining shared elements on the display, the graphical subsystem associates a certain attribute (for example, a particular color) to be a "mask" for that overlay, which the graphics card understands to mean that it is to draw from the separate overlay buffer onto the screen. (This technique is commonly known as "chroma key".)

            As an example, assume the color "purple" is defined as the mask color that triggers the overlay to appear. An application that plays a DVD will draw a solid purple rectangle on the shared screen, and then "play" the DVD into the special region of memory dedicated to the overlay. The graphics card will render the DVD playback only inside the purple area. If another window moves over top of the purple area and obscures a part of it, then the graphics hardware performs the clipping by itself. In practice, the actual color "purple" is not used - rather, either a nondescript near-black color is used (as the system often has thousands of such shades to choose from), or the mask region is denoted using some similar masking method not involving colors.

            Screenshots

            One consequence of hardware overlay use is that a screenshot program (for example, the one automatically built into Windows that activates when the PrtSc key is pressed) often does not capture the content appearing in the hardware overlay window. Rather, a blank region containing only the special mask color is captured. This is because the screen capture routine doesn't consider the special video memory regions dedicated to overlays - it simply captures the shared main screen as rendered by the software's graphical subsystem. Some Digital Rights Management schemes use hardware overlay to display protected content on the screen, taking advantage of this quirk to prevent the copying of protected documents by way of screen capture[citation needed].

            Secondary displays

            Many newer graphics cards can support more than one monitor and/or a TV screen as output device. Typically one of these output devices has to be declared the "primary" one, and only the primary one can display hardware overlays. There are exceptions: Intel writes in its FAQ for their Embedded Graphics Drivers that the overlay can be attached to either one of the displays but not both and some newer Matrox graphics card support overlay on both displays (e.g. Parhelia Series).

            It is a combination of hardware support and driver features, some graphics cards may support overlay on the second display, but the drivers may not support it (yet).

            A common complaint is that DVD movies play fine on a laptop screen, but don't display on a TV connected to the laptop; in these cases the TV has to be designated as the primary display. In extreme cases the use of hardware overlays has to be disabled in the media player.

            Implementations in various operating systems

            Starting with Windows Vista's enhanced graphics capabilities, the basic concept of hardware overlays is replaced by full hardware compositing for every application window running on the system, not just movie players or games, through the Desktop Window Manager. Mac OS X has been using hardware compositing since Quartz Extreme was introduced in Mac OS X 10.2. To improve performance, each program draws to its own independent memory buffer instead of to a slow graphical subsystem. (In Windows Vista, each hardware overlay is more correctly known as a Direct3D surface). Then, the system's GPU assembles each of the windows into a single display screen in real time. With enhanced GPUs on the market capable of stunning 3D graphics as a consequence of the video game industry, impressive motion, scaling, and lighting effects can be applied to normal 2D windows by the operating system.

            In the X Window System, the windowing system of most Unix operating systems, the XVideo extension can be used to allow applications to employ hardware overlays.

            posted on 2008-02-27 09:39 Magic 閱讀(837) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 計(jì)算機(jī)技術(shù)

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            香蕉久久av一区二区三区| 日本免费一区二区久久人人澡 | 色综合久久综精品| 亚洲国产精品热久久| 久久久久国产视频电影| 久久九九久精品国产| 手机看片久久高清国产日韩| 久久免费看黄a级毛片| 狠狠久久亚洲欧美专区 | 久久亚洲精品中文字幕三区| 91精品国产色综久久| 热99RE久久精品这里都是精品免费| 久久久久人妻精品一区| 人人狠狠综合久久亚洲高清| 人妻丰满AV无码久久不卡| 国产精品99久久久久久董美香| 亚洲AV日韩精品久久久久久久| 久久97久久97精品免视看| 久久精品国产亚洲AV无码偷窥| 久久久久亚洲AV成人网人人网站 | 色偷偷888欧美精品久久久| 久久91精品国产91| 精品国产婷婷久久久| 久久夜色精品国产网站| 久久久国产99久久国产一| 精品一久久香蕉国产线看播放| 国产成人无码久久久精品一| 久久精品久久久久观看99水蜜桃| 久久国产香蕉一区精品| 久久被窝电影亚洲爽爽爽| 久久久久AV综合网成人| 久久午夜无码鲁丝片秋霞| 欧美国产成人久久精品| 久久精品亚洲欧美日韩久久| 久久久久久狠狠丁香| 成人久久精品一区二区三区 | 伊人久久综合热线大杳蕉下载| 亚洲精品乱码久久久久久| 久久精品国产亚洲AV蜜臀色欲 | 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 久久久精品2019免费观看|