from: http://www.kaourantin.net/2008/05/what-does-gpu-acceleration-mean.html
The just released Adobe® Flash® Player 10 beta version includes two new window modes (wmode) which control how the Flash Player pushes its graphics to the screen.
Traditionally there have been 3 modes:
normal: In this mode we are using plain bitmap drawing functions to get our rasterized images to the screen. On Windows that means using BitBlt to get the image to the screen on OSX we are using CopyBits or Quartz2D if the browser supports it.
transparent: This mode tries to do alpha blending on top of the HTML page, i.e. whatever is below the SWF will show through. The alpha blending is usually fairly expensive CPU resource wise so it is advised not to use this mode in normal cases. In Internet Explorer this code path does actually not going through BitBlt, it is using a DirectDraw context provided by the browser into which we composite the SWF.
opaque: Somewhat esoteric, but it is essentially like transparent, i.e. it is using DirectDraw in Internet Explorer. But instead of compositing the Flash Player just overwrites whatever is in the background. This mode behaves like normal on OSX and Linux.
Now to the new modes:
direct: This mode tries to use the fastest path to screen, or direct path if you will. In most cases it will ignore whatever the browser would want to do to have things like overlapping HTML menus or such work. A typical use case for this mode is video playback. On Windows this mode is using DirectDraw or Direct3D on Vista, on OSX and Linux we are using OpenGL. Fidelity should not be affected when you use this mode.
gpu: This is fully fledged compositing (+some extras) using some functionality of the graphics card. Think of it being similar to what OSX and Vista do for their desktop managers, the content of windows (in flash language that means movie clips) is still rendered using software, but the result is composited using hardware. When possible we also scale video natively in the card. More and more parts of our software rasterizer might move to the GPU over the next few Flash Player versions, this is just a start. On Windows this mode uses Direct3D, on OSX and Linux we are using OpenGL.
Now to the tricky part, things which will cause endless confusion if not explained:
1. Just because the Flash Player is using the video card for rendering does not mean it will be faster. In the majority of cases your content will become slower.
...
Confused yet? Good, that means you have the same understanding what GPU support means that everyone else has.
Content has to be specifically designed to work well with GPU functionality. The software rasterizer in the Flash Player can optimize a lot of cases the GPU cannot optimize, you as the designer will have to be aware of what a GPU does and adapt your content accordingly. I realize this statement is useless unless we can provide guidance, something we can hopefully achieve in the not to distant future.
2. The hardware requirements for the GPU mode are stiff. You will need at least a DirectX 9 class card. We essentially have the exact same hardware requirements as Windows Vista with Aero Glass enabled. Aero Glass uses exact same hardware functionality we do. So if Aero Glass does not work well on your machine the Flash Player will likely not be able to run well either in GPU mode (but to clarify, you do NOT need Aero Glash for the GPU mode to work in the Flash Player, I am merely talking about hardware requirements here).
3. Pixel fidelity is not guaranteed when you use the GPU mode. You have to expect that content will look different on different machines, even colors might not match perfectly. This includes video. Future Flash Players will change the look of your content in this mode. We will try our best to limit the pain but please bear in mind that in many cases we have no control on this.
Here is an example, left shows it running using the new gpu mode, right using the normal mode. This a video which is 320x240 pixels large showing red text and as you notice the gpu mode arguably looks better as the hardware does UV blending:
The downside in this specific case is that the edges of the text are not as crisp anymore.
4. Frames rates will max out at the screen refresh rate. So whatever frame rate you set in your Flash movie is meaningless if it is higher than 60. This is the case for both the 'direct' and 'gpu' mode. In most cases you should end up at a frame rate of around 50-55 due to dropped frames which occur from time to time for various reasons.
5. Please do not blindly enable either new mode (gpu or direct) in your content. Creating a GPU based context in the browser is very expensive and will drain memory and CPU resources to the point where the browser will become unresponsive. It is usually best practice to limit yourself to one SWF per HTML page using these modes. The target should be content taking over most of the page and doing full frame changes like video. Never ever, ever enable this for banners. Plain Flex applications should not use these modes either if they are not doing full screen refreshes.
6. GPU functionality ties us together with the video card manufacturers and their drivers. Given that you can expect that a significant amount of customers will not be able to view your content if you enable this mode due to driver incompabilities, and various defects in the software stack.
Finally, this beta version of the Flash Player is not yet tuned for maximum performance in the gpu mode. We are making progress, but all the above points will still apply in the long term.
The 'direct' mode should never make your content slower, except in respect to point 4 I made. It should either not change anything or lower CPU consumption somewhat with very large content, i.e. something larger than 1024x768 pixels.
What we'd ask you to do though is to give this a test drive. This is completely new land for us and we expect to encounter lots of obstacles, meaning bugs.
相关推荐
Image Blending Techniques Based on GPU Acceleration
RapidLearning-Based Video Stereolization Using GPU Acceleration
使用FFmpeg与NVIDIA GPU硬件加速器 本文档旨在介绍如何使用FFmpeg与NVIDIA GPU硬件加速器,实现视频转码和解码的加速。FFmpeg是一个开源的多媒体处理工具,可以用于视频和音频的处理,而NVIDIA GPU硬件加速器则可以...
介绍GPU工作的原理,比较基础的文档,觉得有用的人下载吧.
要使***g充分利用NVIDIA GPU的硬件加速能力,需要对FFmpeg进行特定的编译配置。硬件加速可以显著提升视频的编码、解码以及转码速度。 ### 知识点二:NVIDIA GPU硬件加速 NVIDIA从Kepler架构起,其GPU提供了完全...
What Does Android Run On? 9 Why Develop for Android? 9 What Will Drive Android Adoption? 10 What Does It Have That Others Don’t? 10 Changing the Mobile Development Landscape 11 Introducing the ...
在MATLAB开发中,GPU Acceleration是一项强大的技术,它能够显著提升数值计算的效率,尤其在处理大规模数据或复杂算法时。"星期一用GPU Acceleration进行数字变压器转换的方法"这个主题聚焦于如何利用MATLAB的GPU...
标题中的“Intel Cache Acceleration Software”(简称ICAS)是一款由英特尔公司开发的软件,旨在提升计算机系统的存储性能。这款软件特别关注的是利用傲腾(Optane)内存技术,为系统提供更快的数据存取速度。...
6. 编译GPU代码:在向导中选择“GPU acceleration”,编译器会构建支持GPU运算的MEX文件。这里提到的“mex”文件就是编译生成的MEX文件,它们是MATLAB和C++代码之间的接口,实现了GPU计算功能。 7. 测试运行:编译...
Chapter 14 : Hardware Acceleration Some Definitions Rendering, or How Things Are Drawn to the Screen GPU Rendering on Android The Display List Matrices Hardware-Accelerated Audio and Video Conclusion ...
Chapter 14 : Hardware Acceleration Some Definitions Rendering, or How Things Are Drawn to the Screen GPU Rendering on Android The Display List Matrices Hardware-Accelerated Audio and Video Conclusion ...
Chapter 14 : Hardware Acceleration Some Definitions Rendering, or How Things Are Drawn to the Screen GPU Rendering on Android The Display List Matrices Hardware-Accelerated Audio and Video Conclusion ...
Chapter 14 : Hardware Acceleration Some Definitions Rendering, or How Things Are Drawn to the Screen GPU Rendering on Android The Display List Matrices Hardware-Accelerated Audio and Video Conclusion ...
首先, let's talk about HPL and GPU acceleration. HPL是一种高性能计算基准测试程序,用于测试计算机集群的计算性能。GPU加速HPL可以大幅提高计算速度,然而在单节点多GPU集群平台上,GPU之间的计算能力差距较大...
2. **GPU Acceleration**:利用GPU的强大并行计算能力,可以加速VINS的计算过程,尤其在处理大量图像数据和复杂的优化问题时,能够显著提高处理速度。 3. **Pixhawk**:这是一个开源的无人机控制系统,常用于多旋翼...
《Springer - Hardware Acceleration of EDA Algorithms (2010) - FPGA GPU CUDA.pdf》和《Performance Comparison of Single-Precision SPICE Model-Evaluation on FPGA GPU CUDA Cell and multi-core Procesors....
在FFmpeg中,DirectX Video Acceleration (DXVA) 是一种利用GPU进行硬件解码的技术,特别是在处理高清视频时能显著降低CPU的使用率,提高播放性能。GPU解码对于现代多媒体应用来说至关重要,因为它可以释放CPU资源...
"大规模稀疏线性方程组的GMRES-GPU快速求解算法" ...4. GPU acceleration:使用GPU来加速计算,能够获得显著的加速效果。 5. 并行计算:一种计算模式,能够同时执行多个计算任务,以提高计算速度。
- **硬件加速解码**:通过GPU硬件加速解码过程,显著降低CPU负载,提高视频播放的流畅度。 - **支持高清视频**:对于1080p甚至更高分辨率的视频内容,DXVA能够确保良好的播放效果。 - **灵活的后处理选项**:提供...
Training Acceleration Research-engTraining Acceleration Research