`
pterodactyl
  • 浏览: 766593 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

上网也要显卡:浅谈未来GPU之Web应用

阅读更多

   随着进入DX10时代以来统一渲染技术的引入,显卡在整个计算机中的重要性已经逐渐超越了CPU。并行架构上的优势让GPU可以完成大规模的计算需求,而 NVIDIA CUDA与AMD的Stream技术更是给GPU完成大规模计算赋予了灵魂,之前本来只用CPU来计算的应用现在可以使用GPU进行计算,大幅度减轻了 CPU的负担,也正是如此GPU就显得越来越重要了。

    其实CPU与GPU莫非都是晶体管制成的产物,但是架构上确有很大的区别。GPU采用的是并行计算架构,可以在同一单位时间内处理多条任务。比如一个拥有 240个流处理器的GPU,理论上同一时间内可以处理240个任务,而单核心的CPU同一时间内只能处理一条任务。近几年,CPU也在朝着并行计算方向发 展,比如超线程技术、双核甚至多核心处理技术等等。但是由于架构的限制,CPU想要发展成超多核的可能性并不大。

现在各行各业都已经开始逐渐采用GPU作为计算核心,与CPU相比,GPU的计算能力可以达到CPU的数倍甚至数十倍,在一些特殊的场合下甚至可以达到数 百倍。而成本上GPU却和CPU差不多,甚至比CPU成本更低。这也是为什么国产超级计算机“天河一号”采用了5120颗GPU作为加速处理器的原因。

     除了在大规模计算应用环境下需要GPU之外,对于普通的个人电脑来说,GPU也非常重要。现在NVIDIA和AMD的GPU中都支持并行计算,都拥有专门 的视频解码模块。比如在看高清视频的时候,使用GPU进行“硬解码”可以让CPU的占用率非常低,甚至可以忽略不计。而在日常的一些应用比如 Photoshop图像处理、视频转码中,使用GPU进行加速也可以让效率得到很大程度上的提高,这些内容我们之前都有过很多的测试,这里就不再赘述。

    21世纪是互联网与信息的时代,很多的应用都要在互联网上完成,比如通过Youtube我们可以看到来自全世界网友分享的视频,通过Facebook我们 可以与全球的互联网用户交朋友,通过Twitter我们可以直接给奥巴马总统留言甚至聊天,通过Flickr我们可以浏览全世界网友分享的照片。

从目前来看,互联网上一切的应用都是由CPU来处理。但是随着应用的复杂度越来越高,对计算量的要求也同样正在增长。同时,网页中的多媒体应用也越来越 多,越来越复杂,比如高清图片渲染、高清视频播放等等,甚至未来在网页中玩3D游戏等等,这些应用显然只依靠CPU是很不靠谱的,GPU必然要参与其中。

全球最大的视频分享网站Youtube从今年11月就开始就陆续提供1080P的高清视频了,要想流畅播放,对于CPU来说显然是一个巨大的挑 战,Youtube要想普及这一项功能,也必须要得到GPU的全面支持。前段时间,Adobe发布了FlashPlayer 10.1测试版,支持Flash视频GPU硬件加速,给1080P高清网络视频的普及做出了铺垫。

    除了视频图片之外,网页文字的处理也同样需要GPU加速。我们知道,操作系统以及网页上的每一个文字都是经过渲染才能生成,而在渲染的过程中是需要消耗 CPU资源的。如果文字渲染不好就会导致文字模糊、字体难看等问题。虽然我们现在还没有感受到这样的问题,但是在未来基于Web的办公套件中,文字的渲染 就会变得非常重要。

    绝大部分的Web内容都是通过浏览器呈现给用户,前面我们说到Web应用的复杂度越来越高,已经迫切需要GPU加速的支持。就在上个月底微软举办的PDC09大会上,透露了微软下一代浏览器产品IE9将支持GPU硬件加速。

    然而,另一大浏览器厂商FireFox则直接在最近的FireFox 3.7中加入了对GPU硬件加速的支持。由于IE9的测试版都至少需要明年下半年才会面世,这难免让微软非常尴尬。同时,也体现出了GPU加速已经成为了未来网络浏览器必备的功能。

IE9与FireFox中的硬件加速功能都是通过DirectWrite与Direct2D实现的,对于网页开发者来说,这两项技术都不需要重新编写网页代码,直接就可以支持GPU硬件加速。

    DirectWrite是一种全新的文字渲染引擎,主要作用是让文本更加平滑美观,而不会出现锯齿、杂边等现象。相对于GDI文字渲染来 说,DirectWrite可以提供水平与垂直两个方向的抗锯齿功能,而前者只能提供水平方向的平滑功能。Direct2D则是一种新的图形API,主要 是使用GPU来加速网页中的图形绘制,包括网页图像的缩放等等。

    其实除了FireFox与IE9之外,Google的浏览器产品Chrome早在10月份就计划加入DirectWrite功能,但由于与Chrome的Sandbox(沙盒)技术存在一定的兼容性问题,故该项目还在研发阶段。

绝大部分的网络视频都基于Adobe公司推出的Flash技术,该技术对视频的压缩率相当高,但画质也还能说得过去。但随着人们对网络视频清晰度的要求越 来越高,比如前面我们所说的Youtube已经推出了1080P的网络视频,这样高清晰的网络视频播放必然需要GPU进行渲染。

实际上Flash Player 10.0就已经开始支持GPU加速,但并不是完全依靠GPU,甚至很大一部分处理仍然是依靠CPU来完成的。 

    Web Flash的处理过程主要分为三个部分:目标视频处理——合成处理——屏幕渲染。在Flash 10.0中,目标视频处理与合成处理这两大部分仍然依靠CPU来完成,GPU只是完成了最后一个步骤——屏幕渲染。显然,这还是很大程度上依赖 CPU,GPU的性能并没有得到完全的利用。 

    而在最新发布的Flash 10.1测试版中,Adobe加入了对Flash完全硬解码的支持,Web Flash的三个部分全部都使用GPU加速,NVIDIA和AMD的显卡都可以支持,这样就可以大大的降低CPU的占用率。

对Web开发者来说Silverlight是一个非常熟悉的技术,Silverlight是一个跨浏览器、跨客户平台的技术,能够设计、开发和发布有多媒 体体验与富交互(RIA,Rich Interface Application)的网络交互程序。其本质和Adobe的Flash差不多,但开发方面更加具有灵活性。目前Silverlight的主要竞争对手 就是Adobe Flash。

    微软在Silverlight 3中加入了几个关键技术的支持,包括支持更多的媒体编码格式,如H.264,AAC等等;图形计算采用GPU加速,有效的减轻CPU的负担;透视化3D技 术,也就是把2D对象放到3D空间中去;Shader概念的引入,同样采用GPU进行加速。

    Silverlight对GPU加速的支持也体现出了微软对于未来Web应用中GPU重要性的认可,作为微软近两年来极力打造的一个Web媒体标 准,Silverlight能否成功其实很大程度上取决于更加简化代码以及如何更好的调用用户的硬件资源,而GPU加速则正好可以满足后者。

事实上,微软的其他产品也非常注重GPU加速,包括前面我们提到的IE9浏览器,还有Windows 7操作系统中的Direct Compute以及世人皆知的DirectX应用程序接口,这一切都是微软重视GPU的表现。 

    前面我们主要讲到的是Web中的2D与网络视频播放需要用到GPU加速,相信大家都已经有所了解。但2D与Flash加速相对于我们接下来要说的内容简直就是小巫见大巫。接下来的技术将会让在Web中玩3D游戏变成现实,当然还是需要GPU进行加速。

    首先我们来看看网络巨头Google推出的O3D API,O3D是一个基于网页的开源的3D应用程序接口,该技术可以独立的工作在操作系统之外,完全基于Web。也就是说该API不受平台的限制,不管你 是使用Windows、Linux还是Mac操作系统都可以支持,因为它本身并不是依靠操作系统来运行。

如上图所示,通过O3D应用程序接口可以直接在浏览器中实现3D渲染,渲染的流畅度完全取决与你GPU的计算能力。笔者经过简单的测试,使用笔记本中的8400M GS显卡渲染场景就非常卡,然而使用笔者台式机中的9800GTX显卡进行渲染时,整个场景就非常流畅。

目前,Google O3D还是通过插件的形式安装到浏览器中,感兴趣的朋友可以通过这里安装,Windows和Mac平台的插件都已经直接可以使用,而Linux平台的插件则需要手动编译。同时,Google还提供了大量的O3D演示DEMO,大家可以自行测试。

和前面介绍的O3D类似,WebGL也是一种基于Web的图形应用程序接口,目前Webkit内核的浏览器包括Safari、Google Chrome以及Mozilla公司的FireFox都内建了WebGL技术。

WebGL是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。 显然,WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏等等。

WebGL完美地解决了现有的Web交互式三维动画的两个问题:第一,它通过HTML脚本本身实现Web交互式三维动画的制作,无需任何浏览器插件支持;第二,它利用底层的图形硬件加速功能进行的图形渲染,是通过统一的、标准的、跨平台的OpenGL接口实现的。

不管是Google的O3D还是Khronos的WegGL都无疑是要将3D内容从本地搬到网页上来运行,两者都需要GPU加速才能获得更好的效果。从目 前来看这两者似乎存在着一些竞争的关系,但我们完全可以相信在未来的两三年之内,在网页上运行大型3D游戏将不再是梦想。

    大量的技术以及未来的应用都充分的反映出了一个趋势,那就是GPU将会在未来的互联网应用中扮演着非常重要的角色,正如我们文章标题所说的那样,即使是上 上网,有GPU的电脑和没有GPU的电脑可能得到的体验都完全不一样。因为互联网的内容会随着技术的发展而更新,到时候电脑中没有GPU都不行。

    反过来说,正是由于GPU提供了更加优秀的计算性能和更低的成本,才使得这一系列技术有发展的根本。我们才有理由相信未来互联网上的内容将会越来越精 彩,1080P的在线视频、浏览器中畅玩3D游戏、Linux平台不再为不支持3D游戏而发愁、网页文字的表现更加多样化等等都将实现,而这一切都归功于 GPU与3D Web技术的软硬结合使用GPU加速Web内容不仅仅可以互联网内容更加丰富,而且从很大程度上降低了CPU的负担,用户在选购电脑的时候就可以直接搭配较低规格的CPU,但 是至少需要配备一块独立显卡。而对于选购中高端CPU的用户来说也同样不算浪费,使用GPU加速闲置的CPU资源可以用来处理更多其它的应用,比如一边欣 赏着互联网上的高清视频,一边使用闲置的CPU执行大文件压缩等等。

    随着GPU的应用范围越来越广,在未来的互联网应用中大规模的采用GPU加速已经成为了一种必然,我们要做的仅仅是等待GPU创造的全新互联网时代的到来。

 

分享到:
评论

相关推荐

    揭示显卡的秘密:探讨GPU能耗比之谜.pdf

    揭示显卡的秘密:探讨GPU能耗比之谜.pdf

    并行显卡:nVIDIA SLI Multi-GPU技术再现.pdf

    总之,nVIDIA的SLI Multi-GPU技术是并行处理技术在图形领域的具体应用,它通过创新的架构和优化的算法,实现了两块或更多显卡的协同工作,显著提升了系统的图形处理能力,为游戏和专业应用提供了强大的性能支持。...

    计算机应用行业:GPU的那些事儿:关于GPU的科普(2021)(20页).pdf

    随着技术的不断进步和市场需求的多元化,GPU将继续在多个领域发挥关键作用,同时也为投资者提供了丰富的投资机会。在信创、网络安全、云计算等高景气度的子领域,相关企业和GPU厂商将持续受益,建议关注相关股票如景...

    显卡测试软件GPU-Z使用详解

    * 核心代号/GPU:显示 GPU 芯片的代号,如:G84M、G86M、RV630、RV610 等。 * 修订版本/Revision:显示 GPU 芯片的步进制程编号。 * 制造工艺/Technology:显示 GPU 芯片的制程工艺,如 80nm、65nm、55nm 等。 * ...

    浅谈GPU在遥感影像融合中的应用.pdf

    本文主要探讨了GPU(Graphics Processing Unit)在遥感影像融合中的应用,介绍了GPU的发展历史、特点以及其在遥感影像处理中的优势...随着GPU技术的不断发展,未来在遥感、地球科学、环境监测等领域将有更广泛的应用。

    使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)

    禁用GPU设置 # 在import tensorflow之前 import os os.environ['CUDA_VISIBLE_DEVICES'] = '-1' CPU与GPU对比 显卡:GTX 1066 CPU GPU 简单测试:GPU比CPU快5秒 补充知识:tensorflow使用CPU可以跑(运行),但是...

    GPU服务器上显卡压力测试工具及测试方法介绍.docx

    "GPU服务器上显卡压力测试工具及测试方法介绍" GPU 服务器上的显卡压力测试是保障其性能和稳定性的重要环节。本文将介绍一种常用的 GPU 服务器显卡压力测试工具 NVIDIA-smi 及测试方法。 一、GPU 服务器显卡压力...

    GPU-Z(显卡CPU识别工具)

    1. **GPU识别**:GPU-Z的核心功能之一是识别系统中的显卡型号,无论是NVIDIA的GeForce系列、Turing架构,还是AMD的Radeon系列,或者是集成在Intel CPU中的核显,都能准确识别。用户可以通过GPU-Z看到显卡的品牌、...

    Gpu_z,显卡检测工具,查询显卡(相关信息)

    GPU-Z是一款广受欢迎的显卡检测工具,专为用户提供详尽的显卡信息查询服务。这款软件由TechPowerUp开发,旨在帮助用户了解他们的显卡性能、运行状态以及硬件规格等重要信息。以下是对GPU-Z及其相关知识点的详细介绍...

    GPU显卡风扇转速手动设置方法.docx

    ### GPU显卡风扇转速手动设置方法 #### 概述 在进行深度学习等高性能计算任务时,GPU(图形处理器)作为重要的计算资源,往往会产生大量的热量。为了保证GPU能够稳定运行并保持良好的性能,有效的散热措施至关重要...

    gpu- z 一个用于看显卡具体参数的软件

    GPU-Z 是一款非常实用的系统工具,主要用于检测和监控显卡的详细参数。这款软件被广大用户昵称为“Z武器”,它提供了丰富的图形处理器(GPU)信息,帮助用户了解自己的显卡性能,诊断问题,或者在升级硬件时作为参考...

    显卡识别好帮手:GPU-Z.pdf

    GPU-Z是一款专为识别和监测显卡而设计的软件工具,由硬件网站TechPowerUp提供。该工具的主要功能是获取显卡的核心信息,并且能够实时检测显卡的运行状态,帮助用户了解显卡的各项参数。最新版本为0.0.7,支持Windows...

    GPU_显卡计算

    ### GPU显卡计算:核心概念与技术趋势 #### 引言 随着计算机科学的发展,图形处理器(GPU)作为加速计算的重要组成部分,其在...随着技术的不断进步,GPU的应用场景将更加广泛,成为推动未来计算技术发展的重要力量。

    Volta-Architecture-Whitepaper:NVIDIA TESLA V100 GPU ARCHITECTURE.pdf

    NVIDIA TESLA V100 GPU架构是NVIDIA推出的一款面向数据中心、人工智能和高性能计算的GPU。其设计理念旨在为深度学习、科学计算等高性能计算任务提供强大的支持。以下是对该架构相关知识点的详细介绍: 1. 标题知识...

    显卡检测GPU-Z

    GPU-Z是一款广受欢迎的显卡信息检测工具,由TechPowerUp公司开发,旨在为用户提供详细的显卡硬件信息。它能够帮助用户了解显卡的各项参数,包括但不限于GPU型号、制造工艺、核心频率、显存类型、显存大小以及运行时...

    显卡测试工具,测试GPU性能

    显卡测试工具,测试GPU性能 GPU-Z,显卡测试工具,测试GPU性能 GPU-Z

    显卡检测工具GPU-Z0.35.rar

    10. **更新与兼容性**:随着硬件的不断更新,GPU-Z也会定期发布新版本以支持最新的显卡和功能,0.35版可能不支持较新的硬件,建议定期更新至最新版本以确保最佳体验。 通过GPU-Z,无论是普通用户想要了解自己的显卡...

    VMware ESXi安装NVIDIA GPU显卡硬件驱动和配置vGPU.doc

    VMware ESXi 安装 NVIDIA GPU 显卡硬件驱动和配置 vGPU VMware ESXi 安装 NVIDIA GPU 显卡硬件驱动和配置 vGPU 是一篇介绍如何在 VMware ESXi 平台上安装 NVIDIA GPU 显卡硬件驱动和配置 vGPU 的技术文档。该文档...

    查看显卡参数GPU-Z

    7. **OpenGL和DirectX支持**:GPU-Z会列出显卡支持的最高OpenGL和DirectX版本,这关系到能否运行特定的图形密集型游戏和应用。 8. **SLI/CrossFire支持**:对于多GPU配置,GPU-Z会显示是否启用了NVIDIA的SLI或AMD的...

    GPU-Z显卡测试软件

    2. **实时监控**:GPU-Z提供实时监控功能,显示显卡的当前工作状态,如GPU温度、核心频率、显存频率、电压等,帮助用户了解显卡在运行游戏或应用程序时的表现。 3. **内存信息**:它详细展示了显存类型、带宽、时序...

Global site tag (gtag.js) - Google Analytics