图片来源:videomaker
那什么是OpenCL?
OpenCL是比较新的系统,可以看作是CUDA的替代。它是一个开放标准,所以无论是谁都能在自己的硬件和软件里使用它的功能而无需付费。CUDA把显卡作副CPU用,而OpenCL把显卡当做一个独立的通用处理器。这样小小的不同却带来很大的变化。对于程序员,给OpenCL编程难度变大了,对于用户,他们可以不再局限于某个销售商,很多软件都默认支持OpenCL,甚至不会特意在说明书提到。
OpenGL
OpenGL才是故事的开始。它能直接在屏幕上画像素,让显卡以比CPU更快的速度创建出2D和3D画面。正如CUDA和OpenCL互为替代,OpenGL和DirectX等系统也互为替代。OpenGL能以极快的速度在屏幕上画出图形,而当视频出现特效时,OpenCL或CUDA会负责必要的运算。OpenGL把视频放在用户界面并播放,如果你在视频上增加调色,OpenCL或CUDA负责做改变像素的运算。
OpenGL可以在硬件层面实现,所以程序员不需要把它编入程序中,只需要调用它就可以了。而且硬件制造商可以用一些扩展程序来延展OpenGL的核心功能,实现自定义。
对于用户而言,OpenGL的优势体现在软件性能的提升,特别是预览的渲染速度会得到大幅提升。它也可以用来加快用户界面和图形叠加的速度,时间线、素材、窗口、网格、边框的处理都会受益。
对于用户而言,用OpenGL完全没问题,无论是OpenCL还是CUDA都能使用OpenGL系统。你需要知道的就是,如果你的显卡支持最新的OpenGL,那么电脑的速度会快很多。(T)