前面一些小节里,又是出现呈现引擎,又是出现渲染引擎,那么它们究竟是什么东西?又该怎么区分他们呢?

其实他们都是Rendering Engine的翻译。

Render 的中文意思有翻译,呈送,粉刷的意思。直译的话,选取其呈送的意思,所以直译成呈现引擎。

文艺一点的话,那就翻译成渲染引擎(翻译成粉刷引擎可能会比较搞笑)。反正你跟做技术的人讲浏览器的“渲染引擎”,他们一定都知道你指的是 Gecko, KHTML/WebKit 这些。沟通起来也不会有障碍,大家知道呈现引擎和渲染引擎是一回事,只是直译和意译的区分。

绘画中的 render 就是一种“呈现”的技法,在线稿或底稿的基础上通过上色等手段将内容以更真实可感的样貌呈现而出,比如对光影和材质的表现,这到现在计算机绘图中的 render 是一脉相承的,比如底稿对应的线框模型,抽象对应抽象,具体对应具体。这或许是翻译成“呈现引擎”的另一种原因。浏览器中的 render 也是关于内容的呈现吧?以更具体可感的样貌呈现内容。

按 Wikipedia 上的说法,「render」指的是借助计算机程序,从一个模型生成图像的过程。这和美不美观或者准不准确都没关系。注意我们在屏幕上看到的一切东西本质上都是图像——哪怕它有文字的外形,哪怕它能够通过光标选择。

浏览器引擎做的正是这样的事情——输入一段 HTML,浏览器引擎把它处理成一个可视的画面。这个过程不能叫「翻译」或者「转译」。「译」指从一种文字到另一种文字,它是文字层面上的行为,严格地说与视觉或者说与文字的接受途径并无关联。一个人给我口述一段话,我把它用另一种语言讲述给另一人,在这个过程中没有视觉的介入但仍然叫「翻译」。而 render 则一定是与视觉相关的,一个人给我讲了个段子,我把它画成了漫画,这个才比较接近「render」的行为。以浏览器引擎为例,从 HTML 转换成 DOM 树,即从人类可读语言转换成计算机能理解的模型,这个过程或许可叫「译」。但 render 并不是指这个过程,它指的是如何从 DOM 树出发并在屏幕上画出各种元素。

render 一定是与视觉相关的。所以将「render」翻译成「渲染」取的是「渲染」的本义(画国画时用水墨或淡色涂抹画面以加强艺术效果),而不是它的引申义(比喻夸大的形容)。当我们说计算机术语的「render」时,强调的是「渲染」本义中绘画的过程。而在中文语境中「渲染」这个词词义的演变可能更突出了它「加强艺术效果」的目的性。

最早 render engine 主要处理 HTML 代码,表现为文字图片的排列。叫“排版引擎”是可以的。取 render 中“翻译”的意思。或者,个人认为是“表现”意思:把 HTML 代码,“表现为”图形的页面。

而今天 render engine 的很大一部分工作变为处理 CSS 。“排版”或者“翻译”就太朴素了。 CSS 所做的事情,非常类似“添油加醋”。引擎不再仅仅排版,也在作画。这时“表现引擎”的翻译方法仍然是妥当的。

简而言之,从 CSS 的描述(语言),到浏览器中图形(形象)之间的工作,是人定义的表现手法来完成的( render engine )。这不是单纯的翻译,而是一种表现过程。有通过人固化下来的表现手法( CSS 说要阴影,那么怎样实现才够美观?)。

参见维基百科:

Rendering engine may refer to:

Game engine, a software system designed for the creation and development of video games

Ray tracing (graphics), a technique for generating an image by tracing simulated rays of light

Rendering (computer graphics), software or hardware which converts specifications for images into pixels

Web browser engine, layout engine software which formats HTML, CSS, XML, or images into a graphical representation of a document

第一义项是游戏引擎。也就是根据代码生成3D世界的系统。中间两项都是和计算机图形有关的内容。最后一项指浏览器,指出另外一个名字叫做layout engine,即排版引擎。

游戏引擎翻译做渲染引擎,我认为完全没有问题。仿佛一个人拿着画笔渲染出了一个虚拟的3D世界。这是计算机术语里少有的好翻译,比什么“面向对象”好得多了

这个词只有在浏览器里面似乎稍微有点不恰当,但你也可以使用另外一个词layout engine。

Layout的观点是把这个词大大狭义化了。Layout之后,各个元素的位置确实已经确定下来了,接下来确实需要对每个block,每个div的border,每个线条。。。进行染色,渐变处理等等。浏览器的发展史也证明了这一点,html 5已经具有了视频播放,动画等功能,以后还不一定发展到什么样子呢。但是 rendering engine 将持续表达准确的概念。哪怕有一天连嗅觉味觉触觉都能 render的时候, rendering engine 也是准确的用词,而那时候渲染引擎只会更将是个名不副实的词。

计算机术语rander是什么意思,Rendering Engine,呈现引擎还是渲染引擎?相关推荐

  1. Rendering Engine 主流的浏览器内核(排版引擎、渲染引擎、解释引擎)有哪几种,分别的特点...

    一.A web browser engine A rendering engine is software that draws text and images on the screen. The ...

  2. 在计算机术语中常用byte表示,2016年计算机一级MS Office上机考试题

    1.CPU中有一个程序计数器(又称指令计数器),它用于存放( ).D A)正在执行的指令的内容 B)下一条要执行的指令的内容 C)正在执行的指令的内存地址 D)下一条要执行的指令的内存地址 2.CPU ...

  3. 《英文计算机术语译名研究》,试定义几个多媒体技术用语

    摘要: 对多媒体技术用语定名时,第一个要定名的术语就是"媒体(medium,media)".因为一旦"媒体"这词的名字与内涵确定无误之后,"多媒体&q ...

  4. Request: Headless HTML rendering engine

    Request: Headless HTML rendering engine? | Holovaty.com Request: Headless HTML rendering engine? Wri ...

  5. 计算机术语所见即所得,计算机应用基础作业四(16页)-原创力文档

    <计算机应用基础>作业四 windows操作系统 填空题: 在windows98中,要运行"记事本",可以选择"开始"∣" "∣ ...

  6. 在计算机术语中 将ALU控制器和,计算机组成原理试题与答案

    二.填空题 1 字符信息是符号数据,属于处理(非数值)领域的问题,国际上采用的字符系统是七单位的(ASCII)码.P23 2 按IEEE754标准,一个32位浮点数由符号位S(1位).阶码E(8位). ...

  7. 计算机用户登录,计算机术语:密码、用户、登录

    下面是日语计算机术语,育路教育网特别为您搜集整理,内容如下: パスワード:密码,来源自英文"password". 例:パスワードを入力する. 输入密码. 画面から取得されたパスワー ...

  8. 计算机mips是什么,在计算机术语中,什么叫MIPS

    2006-08-18 在计算机术语中,什么叫VGA 显卡所处理的信息最终都要输出到显示器上,显卡的输出接口就是电脑与显示器之间的桥梁,它负责向显示器输出相应的图像信号.CRT显示器因为设计制造上的原因 ...

  9. 计算机术语列是,计算机术语-RAM ROM

    计算机术语 abp: address bit permuting,地址位序列改变 atc(access time from clock,时钟存取时间) bsram(burst pipelined sy ...

最新文章

  1. 未来30年,这20项技术将颠覆人类生活
  2. C++中的static关键字的总结
  3. 8080端口被占用的解决方案(其它端口同理)
  4. 暑假N天乐【比赛篇】 —— 2019杭电暑期多校训练营(第四场)
  5. 在angularjs应用中如何做选择评星的效果
  6. 开放才能进步!Angular和Wijmo一起走过的日子
  7. 这张父子照曾火遍全国,如今他们的故事比照片更动人
  8. 这8种保证线程安全的技术你都知道吗?
  9. oracle11g教程视频教程,最新oracle11g DBA 开发和应用数据库视频教程_IT教程网
  10. JavaWeb学习之路(新手必看)
  11. stranssen矩阵乘法公式简易记法
  12. 继承关系下怎样使用Builder 模式
  13. 计算化学对计算机知识的要求,计算化学软件对大学有机化学教学的应用
  14. 2019-4-29-win10-uwp-使用-Border-布局
  15. 心理学上的被动_精神分析心理学:人际关系中的被动攻击(1)
  16. python大赛对名_团队作业1——团队展示选题
  17. 使用JavaScript实现GPA计算器(学科实践任务 一)
  18. 前端之- 一些外部引入的样式、框架、杂七杂八--vue常用依赖用法
  19. webgl学习之路(三)——透视投影矩阵的推导过程
  20. 基于LABVIEW和热电偶设计一个温度测量系统

热门文章

  1. ​​​​​​青少年软件编程(C语言)等级考试试卷目录一览
  2. 1微秒等于多少皮秒_秒的换算:ms(毫秒),μs(微秒),ns(纳秒),ps(皮秒)
  3. On the Factory Floor: ML Engineering for Industrial-Scale Ads Recommendation Models笔记
  4. 【廖雪峰】写一个验证Email地址的正则表达式
  5. eclipse theia_如何在Ubuntu 18.04上设置Eclipse Theia Cloud IDE平台[快速入门]
  6. QT 多语言 字库 编码 文字方向相关问题
  7. 用CSS实现一个聚光灯效果
  8. 洛谷 | P1226 【快速幂】
  9. 用计算机弹了,如何用计算器弹奏流行歌曲(图文教学),你需要学习了
  10. [笔记分享] [Tools] QPST使用过程