【UE】UE的架构

【UE】UE的架构,第1张

这里尝试根据平时学习过程中了解到的只鳞片羽来对UE的架构进行总结,以备不时之需。

先来看下UE4的线程模型的概览图:

出于叙述方便,我们先来看下Game线程与Render线程:

从时序上来说,是Game线程先行,Render线程拿到的是之前的Game线程数据(比如延迟一帧之类,不过从图中绘制的对齐结果来看,并没有差到一帧这么大),Game线程到Render线程的跨线程调用是通过ENQEUE_RENDER_COMMAND实现的。

关于Render线程,我们还可以再深入一下:

Render线程中,相关的绘制逻辑是通过Rendering Command实现的,而Rendering Command最终要转化为D3D11等API的Command才能真正完成绘制,D3D11 Command的执行顺序是保序的,且与Rendering Command是交织进行的,参考上图中的蓝绿色块,蓝色表示Rendering Command,绿色表示D3D11 Command。

实际上,上面给出的是简化模型,在UE中还有一个RHI线程,负责完成Rendering Command到D3D11 Command的衔接与适配,具体的实现逻辑应该如下图所示:

Rendering Command进入到RHICmdList,经过RHI转换成对应API的调用指令,虽然上面绘制的示意图中看起来D3D11 Command的A(绿色A)绘制在Rendering Command的D(蓝色D)指令之后,但实际上并不是这样,两者应该是有重叠的,即RHICmdList并不是将所有的Rendering Command都搜集起来,之后串行转换为D3D11的Command,而是边搜集边转换的,如下图所示,有点类似于生产消费者模型(这个图看起来怪怪的,其实如果将RHICmdList放在Rendering Thread之下RHI Thread之上会好一些):

因为RHICmdList专门用于负责Rendering Command到图形API Command的转换,因此自然就有一种是否可以将这个功能单独分拆到一个线程的想法,如下图所示,分拆的好处是什么呢?

文献[2]中给出的理由是:

因为D3D11渲染线程提交能力提升不上去,因此导致的一个直接结果就是GPU长期处于低负载运行状态,相当于硬件能力没有较好发挥出来。因此一些较为新颖的特性比如RTX或者VRS等,通常都建议在DX12上才能开启。

我的理解,应该是还有其他的考虑,比如将渲染指令从CPU提交到GPU,可能会有阻塞,在这种情况下,如果执意使用Render Thread进行提交,就会导致Render Thread的阻塞,但实际上,我们可将阻塞放到RHI Thread上,Render Thread可以继续干自己想干的事情,可以实现部分工作的并行化,这样执行效率应该会高一些。

在多个Render线程提交的情况下,线程模型示意图给出如下:

转换到RHI线程模型,大概如下图所示:

[1] Scalability for All: Unreal Engine* 4 with Intel

[2] Unreal Engine中的RHI线程

[3] Epic Games 王祢:UE4制作多人大地型游戏的优化

UE图结构分为UGameEngine和UeditorEngine两个部分。

UE编辑器本身也是一个引擎,所以分为两个部分UGameEngine和UeditorEngine。

UE图是指用户界面功能图,UE是用户体验(userexperience)的缩写。UX,其实就是UserExperience的缩写。

UED 编辑

User Experience Design(用户体验设计),简称UED。UED是进行产品策划的主力之一,他们用自己的知识、经验、设计能力拿出设计方案。UED不只是互联网专家,还是行业专家。能够用自己的互联网知识来设计出行业专家想实现的操作,而付诸以商业营销。

其它含义:

US Electrodynamics Inc,美国电动力学公司。

the United Earth Directorate,地球联合理事会,星际争霸世界中虚构的政府,它是从前全球政府联合权力同盟演化而来的。

中文名 用户体验设计 外文名 User Experience Design 特    点 IT行业发展而来 UED团队 交互,视觉等设计师

目录

1 基本信息

▪ 含义

▪ 设计师

2 用户体验

▪ 简介

▪ 领域

▪ 信息架构

▪ 交互设计

▪ HCI

▪ 易用性

▪ 解析

3 设计管理

▪ 需求

▪ 易用

▪ 友好

▪ 吸引

▪ 总结

4 其他含义

▪ 电动力学公司

▪ 地球联合理事会

基本信息编辑

含义

UED团队包括:交互设计师(Interaction Designer)、视觉设计师(Vision Designer)、用户体验设计师(User Experience Design)、用户界面设计师(User Interface Design)和前端开发工程师(Web Developer)等等。

UED主要是从IT行业发展而来的。在计算机大型机的年代,计算机运算能力有限,为了更有效率地、更充分地利用计算机,采取的方式是:由“人类” 来适应 “程序(软件) ”、普通用户适应程序员的偏好与习惯、用户适应软件供应商提供的产品。

随着科技的进步、工业化大生产、微机时代的到来、微机普及化、大型机中型机陆续被淘汰,“科技以人为本”成为流行元素,UED逐步成为竞争的利器,那些关注UED的企业得以在市场中占领更多的市场份额,并得以生存下来;而不太关注UED的企业则逐渐被淘汰。UED逐渐成为流行元素,并渗透到其他行业,不再局限于IT行业。

UED是以用户为中心的一种设计手段,以用户需求为目标而进行的设计。设计过程注重以用户为中心,用户体验的概念从开发的最早期就开始进入整个流程,并贯穿始终。

普遍SEOer认为UED有时很难在网络蜘蛛方面体现。

设计师

用户体验设计师——user experience design,国外叫UX,国内叫UE。

我们来分析一则国外的UE设计师招聘要求,看看你还需要欠缺什么吧:

我们正在寻找一名高级用户体验设计师加入我们的产品设计团队。

We are looking for someone to join our growing Product Design group as a sr.

user experience designer.

职责包括产品创新,界面视觉引导,原型设计,与开发一起推动设计实现。

Responsibilities include producing innovative,visually appealing human interface designscreating design prototypesworking with developers to make designs a reality.

我们需要这个人可以独立工作,和团队成员合作,交流各种想法,画出原型,参与产品整个的周期。

We need someone who can work independently, engage team members, communicate ideas, create prototypes, and finally work with team members throughout the release cycle of the product. This position reports to the Principal Designer.

日常的工作包括:Day-to-Day Activities:

* 基于人机交互、图形化设计、界面设计和其他相关理论,进行设计。

Generate designs based on common sets of HCI, graphic design, interface design and other relevant theories

* 画出不同层次的原型:纸上的,框架的,可交互的网页,Flash的。

Create prototypes at different levels of fidelity: paper, wireframe,interactive HTML, and Flash

* 到不同的部门演示概念和想法,组织反馈意见。

Present ideas and concepts to x-functional teams and incorporate feedback accordingly

* 生成视觉元素比如icon,边框,用户控件,窗口规范,图形化的布局

Create visual elements such as icons, borders, custom widgets, window treatments, and graphical layouts

* 同产品设计团队合作去发展一些重要附加值的概念,还有修订产品。

Collaborate with Product Design team to develop concepts of key additions and edits for the product

* 同商业方面的专家、市场部沟通,确认设计并得到认可。

Communicate designs to business specialists and marketing team members for validation and buy-in.

* 同开发人员沟通,提供明确的定义和执行的方向。

Communicate designs to development and provide definition and direction during implementation

* 同质量控制部门沟通,提供在测试阶段需要的清晰理解。

Communicate designs to quality control and provide clarifications during the testing phase

* 同首席设计师和产品设计团队一起工作,符合内部设计流程和标准。

Work with Principal Designer and Product Design team to evolve internal design process and standards.

* 需要1/10的时间出差。

This job requires 10% travel

资格条件:Qualifications &Requirements:

* 在应用程序的交互设计方面(界面设计,产品设计)有4-5年的工作经验。在web应用和桌面应用方面有扎实的经验。

4-5 years experience in application interaction design (UI Design, Product Design)solid experience with both web applications (not web sites) and desktop applications

* 设计、人机交互、可用性专业或者可以展示对设计的理解、交互设计理论和实践的能力。

Education in design, HCI, usability or ability to display formal understanding of design and HCI theory and practice

* 理解室内产品设计的生命周期。

Understand in-house product design lifecycle

* 优秀的交流技巧:书写和口头。

Good communication skills: written and verbal

* 了解基于浏览器和客户端的技术(HTML, Java, Flash,.NET)。

Knowledge of browser-based and desktop technologies (HTML, Java, Flash,.NET)

* 原型技术,包括DHTML, Dream Weaver, Flash或类似的。

Prototyping skills using DHTML, Dream Weaver, Flash, or similar

* 有开发和运行可用性测试的经验。

Experience with developing and running usability testing

* 有行业研究经验(Cooper的目标导向设计方法优先)

Experience with field research (goal-directed method by Cooper is preferred).

* 可以使用设计过程描述清楚问题如何产生以及如何解决,无论是独立工作还是和团队一起。

Should demonstrate ability to use design processes for problem definition and solution creation while working individually and with a group

* 可以创造出图形元素:icon,控件,窗口,边框,数据布局。

Ability to create graphical elements: icons, widgets, windowing and boarders, data layout

用户体验编辑

简介

用户体验(User Experience,简称UX 或 UE)是一种纯主观的在用户使用一个产品(服务)的过程中建立起来的心理感受。因为它是纯主观的,就带有一定的不确定因素。个体差异也决定了每个用户的真实体验是无法通过其他途径来完全模拟或再现的。但是对于一个界定明确的用户群体来讲,能够通过设计良好的实验来收集其用户体验的共性。计算机技术和互联网的发展,使技术创新形态正在发生转变,以用户为中心、以人为本越来越得到重视,用户体验也因此被称做创新2.0模式的精髓。

领域

以用户为中心的设计, 英文叫做User-Centered Design 缩写为UCD

信息架构

英文叫做 information architecture,缩写为IA。

它是一个整理信息,斡旋信息系统与使用者需求的过程,主要是要将信息变成一个经过组织、归类、以及具有浏览体系的组合结构。

这样的结构性设计将使得使用者对于信息的内容存取更直接,让使用者的任务更容易完成,它也可说是在结构与分类上的艺术与科学,可以帮助我们寻找信息并且予以管理。

交互设计

英文叫做 Interaction Design

交互设计是指设计人和产品或服务互动的一种机制 , 以用户体验为基础进行的人机交互设计是要考虑用户的背景、使用经验以及在操作过程中的感受,从而设计符合最终用户的产品,使得最终用户在使用产品时愉悦、符合自己的逻辑、有效完成并且是高效使用产品。

交互设计的目的是使产品让用户能简单使用。任何产品功能的实现都是通过人和机器的交互来完成的。因此,人的因素应作为设计的核心被体现出来。

HCI

human computer interaction人机交互

用户界面 - User interface

图形界面 - Graphics User Interface

在人和机器的互动过程中,有一个层面,即我们所说的界面。

从心理学意义来分,界面可分为感觉(视觉、触觉、听觉等)和情感两个层次。

有效的界面设计经常是预见的过程,设计目标是开发者根据自己对用户需求的理解而制定的。 优秀的界面简单且用户乐于使用,这意味着设计需适应硬件的局限。

易用性

Usability

是交互式IT产品/系统的重要质量指标,指的是产品对用户来说有效、易学、高效、好记、少错和令人满意的程度,即用户能否用产品完成他的任务,效率如何,主观感受怎样,实际上是从用户角度所看到的产品质量,是产品.

解析

用户体验主要是来自用户和人机界面的交互过程。在早期的软件设计过程中,人机界面被看做仅仅是一层包裹于功能核心之外的“包装”而没有得到足够的重视。其结果就是对人机界面的开发是独立于功能核心的开发,而且往往是在整个开发过程的尾声部分才开始的。这种方式极大地限制了对人机交互的设计,其结果带有很大的风险性。因为在最后阶段再修改功能核心的设计代价巨大,牺牲人机交互界面便是唯一的出路。这种带有猜测性和赌博性的开发几乎是难以获得令人满意的用户体验。至于客户服务,从广义上说也是用户体验的一部分,因为它是同产品自身的设计分不开的。客户服务更多的是对人员素质的要求,而已经难以改变已经完成并投入市场的产品了。但是一个好的设计可以减少用户对客户服务的需要,从而减少公司在客户服务方面的投入,也降低由于客户服务质量引发用户流失的机率。

现在流行的设计过程注重以用户为中心。用户体验的概念从开发的最早期就开始进入整个流程,并贯穿始终。其目的就是保证(1)对用户体验有正确的预估(2)认识用户的真实期望和目的(3)在功能核心还能够以低廉成本加以修改的时候对设计进行修正(4)保证功能核心同人机界面之间的协调工作,减少BUG。

在具体的实施上,就包括了早期的focus group(焦点小组),contextual interview,和开发过程中的多次usability study(可用性实验),以及后期的user test(用户测试)。在设计--测试--修改这个反复循环的开发流程中,可用性实验为何时出离该循环提供了可量化的指标。

用户体验是一个多背景的梯形团队 。

为什么多背景呢?首先你要了解用户的需求,这不是很容易的事情。先要从社会学,人类学,心理学角度大量研究。然后需要技术人员去模拟UI的技术或者是后台的技术。视觉体验,又要从工业设计这个角度去看。这些事都要不同背景不同类型的人去做。同时还要分工程师,产品经理。甚至一些公司高层、市场部的人都要在一起工作。为什么说是梯型呢?因为第一要了解各个专业的人,他们知道些什么东西,你怎么跟他们合作;第二就是更专业。两方面都要去共同发展。这样整个联系在一起,就变成一个完整团队。

另外一点很重要,UE设计并非由用户体验部来设计。百度成立用户体验部,是因为用户体验部可以协助其他部门更专业、更系统地去做用户体验这件事。

百度每天几亿的流量,稍微做一点改变,就可以得到很大的提升。比如说百度搜索结果的摘要,你加两个字或者是减两个字可能就影响到一百万的收入。百度首页上之前的一句话叫“把百度设为首页”,最早是“设百度为首页”,就改一个字,每天会增加几千个以上的点击量。用户体验部要做的是指挥,而不是独自做专业的事,要让所有的人一起来思考问题,是跟其他部门在一起工作,提供给其他部门更专业更系统的用户体验信息,协助所有的人员来做这个事情。

发展

用户体验贯穿在一切设计、创新过程,如用户参与建筑设计和工作环境、生活环境的设计和改善,用户参与IT产品设计和改善等。随着计算机技术和互联网技术的发展,用户体验更加得到重视,IT应用设计方面的用户体验逐渐在软件设计、互联网设计中占据主流地位。而信息技术支撑下的创新模式,也就是面向未来的创新2.0模式,则从更加广阔的领域关注用户体验、强调以人为本,无论是欧盟 Living Lab中的用户体验创新、Fab Lab中的用户直接参与、还是AIP“三验”中的以用户为中心的体验,都将用户置于创新的中心地位,而带动用户体验向经济社会发展的纵深迈进。

设计管理编辑

需求

最重要的是要让产品有用,这个有用是指用户的需求。苹果90年代出来第一款PDA手机,叫牛顿,是非常失败的一个案例。在那个年代,其实很多人并没有 PDA的需求,苹果把90%以上的投资放到他1%的市场份额上,所以失败势在必然。

用户需求是根本,但用户需求不一定是功能

百度在半年前推出空间,从功能上来说它比较其他同类产品没有什么特别大的变化,就是三个最基本的功能:上传文章,上传图片,交友。这三个功能,所有博客都有做,而且有更多的功能。但是那个时候,大部分的博客,不管是CSP还是门户网站,都不能解决一个问题:速度。性能很不稳定,文章上传了,可能登录就进不去了,可能上传的东西没了。其实用户最基本的需求,就是速度和稳定性。百度虽然才做博客,但百度有很大的平台,有很多的服务器,有很大的流量,完全可以从稳定性和速度上把这两个用户体验做好,其次再做一些功能。很难用的产品注定会失败的,这个是非常关键的。

百度的搜索,可以用五个字归纳:快准全新稳。每一个字可以分解成很多小项,跟所有的搜索引擎 PK,每一个字后面都代表着一种用户体验。一个博客一推出来就有几百个链接,几十种功能,很多网站说我可以这样做,国外都是这样做的,像MYSPACE做得很成功,我就把它照搬过来。但是很多中国用户其实跟美国用户是不一样的,中国70%的人是30岁以下的,以娱乐为主,而不是信息搜索为主。而美国是 70%是30岁以上的,非常成熟和理性的这一类。很多功能拿到中国,中国人是不会用的。这就是你增加越多的功能,你就越增加产品的复杂性。

易用

其次是易用,这非常关键。不容易使用的产品,也是没用的。市场上手机有一百五十多种品牌,每一个手机有一两百种功能,当用户买到这个手机的时候,他不知道怎么去用,一百多个功能他真的可能用的就五、六个功能。当他不理解这个产品对他有什么用,他可能就不会花钱去买这个手机。产品要让用户一看就知道怎么去用,而不要去读说明书。这也是设计的一个方向。

怎么完成易用性这个任务?

百度就有一个专门做易用性这样的团队,每天请各种用户来做各种各样的调研。

特别提出,不要忽视文字的力量。当年的EBAY,注册一个EBAY的帐户,第一步第二步第三步。第三步,原来是这样说的:“你只要在你的邮件确认一下你就成功了”。这样一句话,很长。但是用户不是一个一个字去读,他是扫描,他一眼扫过去,他的意向可能就是成功了。把成功两个字记住他就走掉了,不会再去确认这个邮件了。EBAY后来改成五个大字,叫“快要成功了”。五个大字,非常大。用户一看,我没有成功,我要做什么事,下面写邮件。所以几个字就让EBAY提升了10%到20%的注册率,相当于每天给他带来一百万的最终价值。

友好

设计的下一个方向就是友好。最早的时候,加入百度联盟,百度批准后,发这样一个邮件:百度已经批准你加入百度的联盟。批准,这个语调让人非常非常难受。所以如今说:祝贺你成为百度联盟的会员。文字上的这种感觉也是用户体验的一个细节。

吸引

视觉设计的目的其实是要传递一种信息,是让产品产生一种吸引力。是这种吸引力让用户觉得这个产品可爱。“苹果”这个产品其实就有这样一个概念,就是能够让用户在视觉上受到吸引,爱上这个产品。视觉能创造出用户黏度。

怎么能让用户爱上你的产品

可以通过视觉去改善,去提供一种感觉。这就是为什么百度和Google要做节日LOGO的原因,因为搜索这个产品也是太普通了。节日的时候做做LOGO,用户产生一种感觉、情感,黏度会更好。这一类的东西我们都可以从视觉上去提高。

总结

前四者做好,就融会贯通上升到品牌。这个时候去做市场推广,可以做很好的事情。前四个基础没做好,推广越多,用户用得不好,他会马上走,而且永远不会再来。他还会告诉另外一个人说这个东西很难用。

用户体验设计经常犯的错误是,直接开发直接上线。很多人说,互联网作为一个实验室,我一上线就可以知道结果了。这当然也是一个正确的理念。但是在上线之前有太多的错误,那么就会大大地影响事态结局。一开始的时候就能很准确地作出一些判断,作出一些取舍,在互联网这个实验室里,才能够做得更好。

其他含义编辑

电动力学公司

UED = US Electrodynamics Inc,美国电动力学公司。

地球联合理事会

UED = the United Earth Directorate,地球联合理事会,星际争霸世界中虚构的政府,它是从前全球政府联合权力同盟演化而来的。地球联合理事会旗下有地球联合舰队,在资料片中,地球联合舰队带来新的科技:医疗兵(Medic)、瓦格雷(Valkyrie)、大脚机器人的超远程飞弹科技、雷达能量由75每次降低为50等等。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/484661.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-09
下一篇2023-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存