精华内容
下载资源
问答
  • Flutter 引擎是一个用于运行高品质移动应用的可移植运行时。它实现了 Flutter 的核心库,动画和图形,文件和网络的 I/O,支持可访问性(accessibility),插件架构,以及用于开发,编译和运行 Flutter 应用程序的 Dart...

    作者:Ian Hickson   译者:隔壁老王S 

    Flutter 结合了一个 Dart 框架和一个高性能的引擎。

    Flutter 引擎是一个用于运行高品质移动应用的可移植运行时。它实现了 Flutter 的核心库,动画和图形,文件和网络的 I/O,支持可访问性(accessibility),插件架构,以及用于开发,编译和运行 Flutter 应用程序的 Dart 运行时和开发工具。

    架构概览

    Flutter 引擎采用的核心技术有:Skia 是一个 2D 的图形渲染库,Dart,一个具有垃圾回收和面向对象语言的虚拟机,并将它们托管在一个壳(shell)中。不同的平台有不同的壳,比如,我们有 Android 和 iOS 的 壳(shell)。我们同样提供了嵌入式 API,这些 API 可以把 Flutter 的引擎作为一个库嵌入到其他环境(见《自定义 Flutter 引擎嵌入环境》)。

    壳实现了特定平台的代码,比如:和 IME(屏幕上的键盘)通信,和系统的应用生命周期事件。

    Dart 虚拟机实现了基础的 Dart 核心库,另外还有一个叫 dart:ui 的库,这个库提供了对 Skia 和壳底层的访问接口。壳可以绕过引擎,通过平台通道(Platform Channels)直接与 Dart 代码直通信。

    61e5eee298dbbdd5c81bef72498f19f1.png

    线程

    概览

    Flutter 引擎不会自己创建或者管理自身的线程。相反,嵌入环境(embedder)负责给 Flutter 引擎 创建和管理线程(以及消息循环)。嵌入环境将自己管理的线程作为 task runner 提供给Flutter 引擎。除了嵌入环境管理的线程,Dart 虚拟机也有自己的线程池。不论是 Flutter 引擎还是嵌入环境都无法访问 Dart 虚拟机线程池中的线程。

    Task Runner 配置

    Flutter 引擎需要嵌入环境给4个 task runner 提供引用。Flutter 引擎并不关心这些引用是不是属于同一个 task runner,或者同一个线程是否在为多个 task runner 服务。为了获得最好性能,嵌入环境应该给每一个 task runner 创建一个专用的线程。虽然 Flutter 引擎并不关心线程在为哪一个 task runner 服务,但是 Flutter 引擎确实期望线程配置在 Flutter 引擎的整个生命周期内保持稳定。嵌入环境应该只在一个线程上执行对应 task runner 的任务(直到 Flutter 引擎被销毁)。

    主要的 task runner 有:

    • Platform Task Runner

    • UI Task Runner

    • GPU Task Runner

    • IO Task Runner

    Platform Task Runner

    嵌入环境线程的 task runner, 可以认为是主线程的 task runner。这个通常是 Android 的主线程 或者在 Apple 平台上的 Foundation 引用的线程。

    分配给 task runner 对应线程的不论什么优先级的任务,这些任务的分配都是由嵌入环境来决定的。Flutter 引擎没有给这个线程赋予任何特殊的意义。事实上,可以使用基于不同线程的 Platform Task Runner 来启动多个 Flutter 引擎。这就是 Fuchsia 操作系统中 Flutter Content Handler 的工作原理。在每一个 Flutter 应用实例创建的过程中就会对应的创建一个 Flutter 引擎的实例,相应的也会为每一个 Flutter 引擎的实例创建对应的平台线程。

    不论以什么方式和 Flutter 引擎交互,都必须在平台的线程上进行。在其他线程上和引擎交互在未优化版本中会跳过断言,并且这在发布版本中是线程不安全的。Flutter 引擎中许多组件都是线程不安全的。一旦 Flutter 引擎设置好并开始运行,只要对 Flutter 引擎的嵌入 API 都是在平台线程上进行访问的,嵌入环境就不需要发布任务到任何 task runner 去配置 Flutter 引擎。

    除了作为嵌入环境启动之后与 Flutter 引擎进行交互的线程之外,task runner 还要执行正在等待的平台消息。这是非常方便的,因为访问 Platform 上的大多数 API 只有在 Platform 的主线程上是安全的。插件就不需要把自己的调用重新穿入(rethread)到主线程上。如果插件管理自己的工作线程,那么插件就要负责将响应队列返回给平台线程,然后才能把响应提交给引擎上的 Dart 代码去处理。始终在平台线程上与引擎交互的规则在这里得到保证。

    UI Task Runner

    UI task runner 是引擎在根隔离(root isolate )上执行所有 Dart 代码的地方。根隔离是一种特殊的隔离,具有 Flutter 功能所必须的绑定。根隔离运行应用的主 Dart 代码。引擎在根隔离上设定绑定以及调度和提交帧。对于 Flutter 必须渲染的每个帧会做以下操作:

    • 根隔离(root isolate)必须告诉引擎需要渲染的每一帧。

    • 引擎会询问平台是不是在下一个 vsync 的时候通知 UI Task runner。

    • 平台会等待下一个 vsync

    • 在 vsync 中, 引擎会唤醒 Dart 代码并执行以下操作:

      • 更新动画插值器(interpolators)。

      • 在布局阶段重建应用程序中的 widget。

      • 布局新实例化的 widgets 并立即绘制图层树并提交给引擎,并没有实际的渲染到屏幕上(rasterized);这里只构造出在渲染阶段所需要渲染的描述。

      • 构造或者更新包含语义信息的的 widgets 节点树,这将会用来更新特定平台的可访问(accessibility)组件。

    除了为引擎构建最终要渲染的每一帧之外,根隔离还要执行平台上插件消息的所有响应,定时器(timers),微任务(microtask)和异步 I/O (socket,文件句柄(handles)等)。

    由 UI 线程构造的图层树决定了引擎最终在屏幕上渲染什么,图层树是屏幕上所有内容的真实来源。因此在在 UI 线程上做耗时的操作将导致 Flutter 应用的卡顿(几毫秒足以导致错过下一帧!)。耗时操作一般是执行 Dart 代码导致的,因为引擎不会在 UI task runner 上调度任何 native 代码的任务。因此,UI task runner(线程)通常被称为 Dart 线程。嵌入器可以发布任务到这个 task runner 上。这有可能导致 Flutter 应用的卡顿,建议不要执行这样的操作,而是应该给这样的操作分配特定的线程。

    如果在 Dart 代码里做耗时操作是不可避免的,建议将这样的代码移动到独立的 Dart isolate 里(比如:使用 compute 方法)。如果 Dart 代码在非根隔离上执行,那么这段代码将会在 Dart VM 管理的线程池里的线程中执行。这不会导致 Flutter 应用内的卡顿。终止根隔离也会导致在该根隔离上创建的所有隔离终止。此外,非根隔离无法调度帧,也没有 Flutter 框架依赖的绑定。因此,在次隔离上无法和 Flutter 框架进行有意义的交互,对于需要大量计算的任务请使用次隔离。

    GPU Task Runner

    GPU Task Runner 执行访问设备上 GPU 的 任务。执行在 UI task runner 上的 Dart 代码创建的图层树是客户端的渲染 API 是感知不到的。也就是说,相同的图层树可以使用 OpenGL,Vulkan 或者为 Skia 配置的其它渲染库来渲染帧。GPU task runner 使用图层树构造出相对应的 GPU 指令。GPU task runner 还负责为特定帧设置所有GPU资源。这包括,与平台通信来设置帧缓冲区,管理 surface 生命周期,并确保完全准备特定帧的 texture(GPU 显存中一段连续的空间) 和缓冲区。

    根据处理图层树所需的时间以及GPU完成显示帧所需的时间,GPU task runner 上的各种组件可以延迟 UI 线程上的其他帧的调度, 通常,UI和GPU任务运行程序位于不同的线程上。在这种情况下,GPU 线程可能处于向 GPU 提交帧的过程中,而 UI 线程已经在准备下一帧。流水线操作机制确保 UI 线程不会为 GPU 安排太多工作。

    由于GPU task runner 的组件可能会在 UI 线程上引起帧调度延迟,因此在 GPU 线程上执行太多工作将导致 Flutter 应用程序的卡顿。通常,用户没有机会在 GPU task runner 上执行自定义任务,因为平台代码和 Dart 代码都无法访问 GPU task runner。但是,嵌入器仍然可以在此线程上安排任务。因此,建议嵌入器为每个引擎实例的 GPU task runner 提供专用线程。

    IO Task Runner

    到目前为止,所有提到的 task runner 都对可以执行的操作类型有很强的限制。过长时间阻塞的 platform task runner 可能会触发平台的 watchdog,阻塞 UI 或 GPU task runner 将导致 Flutter 应用程序的卡顿。但是,GPU 线程需要执行一些非常昂贵的操作。这些昂贵的操作是在 IO task runner 上执行的。

    IO task runner 的主要功能是从 asset store 读取压缩图像,并确保这些图像已准备好在 GPU task runner 上渲染。为了确保 texture 已准备好进行渲染,首先必须将其作为压缩数据(通常为PNG,JPEG等)从 asset store 读取,解压缩为 GPU 友好格式并传递给 GPU。这些操作很昂贵,如果在 GPU task runner 上执行,将导致卡顿。由于只有 GPU task runner 可以访问 GPU,因此 IO task runner 组件会设置一个特殊的上下文,该上下文与主 GPU task runner 上下文位于同一个共享组中。这在引擎设置的早期就会发生,也是 IO 任务有一个 task runner 的原因。实际上,压缩字节的读取和解压可以在线程池上进行。IO task runner 是比较特殊的,因为只能从特定线程访问上下文才是安全的操作。获取像 ui.Image 这样的资源的唯一方法是通过异步调用;允许框架与 IO task runner 通信,以便它可以异步执行所提到的所有 texture 操作。然后可以立即在帧中使用该图像,而 GPU 线程不必进行昂贵的操作。

    用户代码无法通过 Dart 或原生插件访问此线程。甚至嵌入器也可以自由地在这个线程上调度相当昂贵的任务。这不会导致 Flutter 应用程序的卡顿,但可能会延迟未来对图片和其他资源的的及时的处理。即便如此,建议自定义嵌入器为 IO task runner 设置专用线程。

    当前平台特定线程的配置

    就像之前提到的,引擎支持多线程的配置,支持多线程配置的平台有:

    iOS

    为每一个引擎实例的 UI,GPU 和 IO task runner 创建专用线程。在同一平台上所有的引擎实例共享平台线程和 task runner。

    Android

    为每一个引擎实例的 UI,GPU 和 IO task runner 创建专用线程。在同一平台上所有的引擎实例共享平台线程和 task runner。

    Fuchsia

    为每一个引擎实例的 UI,GPU 和 IO task runner 创建专用线程。

    Flutter Tester (用来给 Flutter 做测试的)

    进程中单实例引擎的 UI, GPU, IO 和 平台的 task runner 使用相同的主线程。

    文本渲染

    我们的文本渲染过程如下:

    • libtxt:字体选择, bidi, 断行(line breaking)。

    • HarfBuzz:字形(glyph)选择, shaping。

    • Skia:(渲染/GPU 后台), 它在Android和Fuchsia上使用FreeType进行字体渲染,在iOS上使用CoreGraphics进行字体渲染。

    原文地址:https://github.com/flutter/flutter/wiki/The-Engine-architecture

    推荐阅读:

    「译」为 JavaScript 开发者准备的 Flutter 指南

    ad97a889b12db1e43a78ad10e93fd66d.png

    请关注我们的公众号

    展开全文
  • 功能需求、质量属性、以及约束共同决定了架构1),对这三类需求的把握是否到位、设计决策是否合理,可以说是架构设计成败的关键所在。 质量属性和约束,同属非功能需求,都是重要的“架构决定因素”。质量属性...

    文章洋洋洒洒,抛开自己已经懂得的,再抛开过于高深的(很多东西看懂了不代表得到了),剩下自己有心得的(往往是跟自己经历相关的),也就剩下用荧光笔标注出来的几句话了,但也足够了。 

     

     

    架构设计对系统成败非常关键,那么什么对架构设计成败非常关键呢?

    功能需求、质量属性、以及约束共同决定了架构(图1),对这三类需求的把握是否到位、设计决策是否合理,可以说是架构设计成败的关键所在。

    质量属性和约束,同属非功能需求,都是重要的“架构决定因素”。质量属性是软件系统的整体质量品质——所谓整体品质,就是它往往和大多数功能都有关,而不是仅仅表现在某个功能“内部”。

    至于约束性需求,它们要么是架构设计中必须遵循的限制,要么经过约束分析、转化为质量属性需求或者功能需求。但是,约束分析没有受到架构师的普遍重视,于是约束背后的“衍生需求”变成了“遗漏需求”,造成了架构设计的偏离甚至失败。

     

    约束是最危险的需求

     

    功能需求、质量属性、约束这三类需求,其“危险性”各有不同。

    功能需求是需求变更的主要来源。一刀切地认为“需求变更无处不在”并不正确,也对实践有害(失去了把握较稳定需求的机会)。质量属性需求最为稳定,如多年以来,银行系统总是对安全性、持续可用性要求很高。而约束性需求也相对稳定,技术趋势发生变化、法律法规重新界定、用户组织调整改组等,可能使约束性需求变更。

    质量属性往往是架构设计的难点所在。例如,为了满足高性能要求,必须考虑外部及内部不同因素、在各种情况下、对系统不同部分的影响。另外,不同质量属性之间往往相互影响,笔者在《软件架构设计》一书中归纳了其中规律:可重用性、可扩展性等开发期质量属性之间往往是相互促进的;性能和安全性与其他质量属性常有矛盾……

    但是,不知道危险何在,才是最危险的!

    一方面,质量属性“难”也好,功能需求“变”也罢,这些已为越来越多的人所认识,但对约束当前较为普遍的看法依然是“直接遵守即可”,这是危险的。Mike Dyer最早指出,从需求转入设计时,会激增出大量衍生需求。约束性需求背后就包含许多衍生需求,“约束直接遵守即可”的观点就像“一叶障目”的那片树叶,让架构师忘了约束分析的必要性。

    另一方面,我们往往仅关注来自甲方的、位于技术层面的约束,这很危险。有与遗留系统集成的要求吗?行业趋势有何新的动向?……这些深刻影响架构的约束虽来自甲方,但都是非技术约束。乙方自身的技术水平如何?产品在整个产品路线图中的什么位置?……乙方约束,对架构设计亦影响重大!

    看来,对架构师而言,最“危险”的需求非约束莫属。

     

    对待约束的三种境界

     

    境界一是“守”。既然书上说,“约束直接遵守即可”,那在架构设计中就不去费脑子分析约束,这种做法就是第一种境界。

    境界二是“破”。尽信书不如无书,越来越多的架构师已经注意到了技术性约束、标准性约束、法律法规性约束等的不同之处,懂得分析约束直接遵守即可、还是会造成间接影响。例如,“必须基于J2EE平台”是条可直接遵守的约束,但“执行现行利率”这条法规性约束却牵扯出诸多功能、及质量考虑。

    境界三是“离”。在架构师看来,所有影响架构设计的因素都是需求,只不过需求类型不尽相同罢了。所以,不仅技术方面会有约束,业务方面也会有约束。约束不仅来自于我们经常注意到的甲方,也来自于乙方自身……

    外界(甲方)因素是一种约束条件,自身(乙方)能力也是一种约束条件。

    守,意味着学习,照本宣科;

    破,意味着突破,开始思考;

    离,意味着创造,面向实践。

    实践者自然崇尚“破”和“离”的境界,接下来的两节,分享一些笔者的实际经验。

     

    正交表作为思维工具

     

    实践中,我们可以用一个3×3的表格,来辅助全面理解需求、把握需求脉络、发现需求冲突、特别是分析约束背后的衍生需求。我把这种方法叫作“正交表”(图2)。

    正交表的“行”代表需求的层次。一个成功的软件系统,对客户高层而言能够帮助组织达到业务目标,这些目标就是客户高层眼中的需求;对实际使用系统的最终用户而言,系统提供的能力能够辅助他们完成日常工作,这些能力就是最终用户眼中的需求;对开发者而言,有着更多用户没有觉察到的“需求”要实现……

    正交表的“列”代表需求的类型。例如,一个网上书店系统的功能需求可能包括“浏览书目”、“下订单”、“跟踪订单状态”、“为书籍打分”等,质量属性需求包括“互操作性”和“安全性”等,而“必须运行于Linux平台之上”属于约束性需求之列。实践一再表明,忽视质量属性和约束性需求,常常导致架构设计最终失败。

    值得注意的是,正交表的“约束”列纵穿了组织、用户、开发三级需求层次,这恰是正交表方法的特点所在,体现了“约束来自甲方也来自乙方”的思想。

    首先,是组织级约束,例如行业标准、法律法规所约束的对象一般为组织。其次,是用户级约束,例如软件的最终用户是老人还是年轻人、是商务人士还是电脑水平较低的人,都会使得架构在易用性、鲁棒性方面有不同考虑。最终,乙方也有影响架构设计的约束,例如团队技术水平较低的话,架构师就要慎重选择较难掌握的技术。

     

    架构设计中的约束分析

     

    从需求转入设计时,有经验的架构师非常重视衍生需求对架构设计的影响,特别是针对约束、进行约束分析、发现约束背后隐藏的衍生需求。

    总体而言,约束分析就是要区分约束影响设计的三种不同途径,并借助正交表方法把衍生需求找出来(结合图3示例进行说明):

    直接制约设计决策的约束。例如,“系统运行于Unix平台之上”作为一条约束,架构师直接遵守即可。

    转化为功能需求的约束。例如,“本银行系统必须严格执行人行统一规定的利率”是一条约束,但分析后发现,正是它引出了一条功能需求:即必须提供调整利率设置的实用功能。

    转化为质量属性需求的约束。例如,有经验的系统分析员发现了一条重要约束:“任职于各储蓄所和分理处的柜员,计算机水平普遍不高”。由此,未来的软件系统必须具有很高的易用性(否则不会用)和鲁棒性(否则将导致系统瘫痪)。

    所谓风险?风险是“你忘了它,它就会找上门来”的一类东西。所以,付诸实践而言,千万不要忘了架构设计中的约束分析环节。

     

    图1功能需求、质量属性、以及约束共同决定了架构

     

    图2 正交表帮助把握需求脉络、进行约束分析

     

    图3 银行系统:约束分析示例

    展开全文
  • 品质管理资料大全.chm

    2020-04-05 20:45:18
    00品保组织架构.xls 01检验流程.xls 02.品质政策与质量目标.doc 03-1抽样检验作业办法.doc 03-2批检验记录表.doc 03-3字码和抽样方案表.xls 04-1首件及制程巡检办法.xls 04-2.首(末)件确认书.doc 05....
  • 四、我公司的生产工艺流程及流程见附件一 生产工艺流程仅为我公司的各项基本生产工序,品保部还根据不同的产品 制定该产品的《制程品质计划》,具体来对产品品质进行控制 例:制程品质计划For VA-740(见附件二)
  • Visio、Axure(基于网站构架的带注释页面示意、操作流程、以及交互设计,并可自动生成用于演示的网页文件和规格文件,以提供演示与开发)原型设计工具QA:Qualtiy Assurance,品质保证。QA的主要职责就是质量...

    RT:

    • RT=real time意思是实时,指延时不足以造成影响. 
    • RT=Reaction Time 响应时间

    PM:产品经理

    擅长:PPT和高层确认战略。project。
        
    PD:产品设计师,也可能叫产品规划师、需求分析师。

    擅长:word写文档 。Visio、Axure(基于网站构架图的带注释页面示意图、操作流程图、以及交互设计,并可自动生成用于演示的网页文件和规格文件,以提供演示与开发)原型设计工具

    QA: 
    Qualtiy Assurance,品质保证。QA的主要职责就是质量保证工作

    UE:
    User Experience  用户体验,可能称作交互设计师、界面设计师。
    擅长:Dreamweaver做网页

    UI:
    User Interface 用户界面,可能也叫界面设计师、视觉设计师,
    擅长:PhotoShop做图

    注:

    PM、PD、UE与UI,分别是产品经理、产品设计师、用户体验师、视觉设计师四个角色。一般来说,这个顺序就是一个产品从规划到最终成型的任务流方向,是一个从抽象到具体、商业到技术的过程。
    当然上面这个过程不是静态的,一方面产品设计的流程是可以并必然要反复、迭代的,另一方面各个角色的分工有时候是模糊的,对上下游的业务也必须有所了解。
    UCD  User-Centered Design 以用户为中心的设计
    UED  User-Experience Design 用户体验设计

    RD  Research and Development engineer,研发工程师,

    FE: FE有多种解释,在实体经济中,FE可以指Facility Engineer,厂务工程师,主要负责工厂的外围的一些支持系统。在网络经济中,FE可以指Front-End Development,前端开发,新新职业。

    BRD  Business Requirement Document   商业需求描述,是基于商业目标或价值所描述的产品需求内容文档。核心的用途就是用于产品在投入研发之前,由企业高层作为决策评估的重要依据。BRD是产品生命周期中最早的文档,再早就应该是脑中的构思了,其内容涉及市场分析,销售策略,盈利预测等,通常是供决策层们讨论的演示文档,一般比较短小精炼,没有产品细节。


    MRD  Market Requirement Document,市场需求文档。 该文档在产品项目中是一个“承上启下”的作用,“向上”是对不断积累的市场数据的一种整合和记录,“向下”是对后续工作的方向说明和工作指导。作用是:产品项目由“准备”阶段进入到“实施”阶段的第一文档,其作用就是“对年度产品中规划的某个产品进行市场层面的说明”,这个文档的质量好坏直接影响到产品项目的开展,并直接影响到公司产品战略意图的实现。


    PRD  Product Requirements Document  产品需求文档。是产品项目由“概念化”阶段进入到“图纸化”阶段的最主要的一个文档,其作用就是“对MRD中的内容进行指标化和技术化”,这个文档的质量好坏直接影响到研发部门是否能够明确产品的功能和性能。


    注:
    1.MRD侧重的是对产品所在市场、客户(client)、购买者(buyer)、用户(user)以及市场需求进行定义,并通过原型的形式加以形象化
    2.PRD要把MRD中的“产品需求”的内容独立出来加以详细的说明,而产品需求本身是在MRD中有所体现的
    3.如果说PRD的好坏,直接决定了项目的质量水平;那么BRD的作用,就是决定了你的项目的商业价值。

     

    BD Bussiness Development,行政公关。BD的职责主要包括两方面,一是负责与运营商之间的沟通,如新业务的申报等;再就是公关,与运营商的一些负责人搞好关系。



    UC评审  需求评审。在需求完成以后,是PD说给开发、测试听                                                                                                                                
    设计评审   设计完成之后,是开发把对需求的理解以设计文档的形式说给PD、测试听,这部在时间紧的情况下会被省略(代码评审现在几乎不做);(iamsujie补:开发很强可省,他们在需求评审时会问很多;开发较弱、新人、业务不熟则必须。)                                                                                                                                
    TC评审   测试用例评审。在TC写完测试开始之前,是测试把对需求的理解以TC的形式说给PD、开发听      

    相关文章

    1. 详细名词解释(PM、PD、UE、UI、RD....)

                                     

    展开全文
  • 线框向整个团队展示了布局、导航、视觉层次、信息架构和内容优先级等关键的问题,它勾勒出了整个项目的基本轮廓,呈现了关键信息。而今天的文章会帮你了解提升线框设计品质的所需要知道的一切。继续读下去,你会...
  • 格科微(Galaxycore)电子(上海)有限公司推出1/4英寸VGA图像传感器,具有尺寸小,功耗低,图像品质好,成本比较低等特点,能够广泛用于手机、PDA、电脑摄像头、玩具等消费类电子领域。 作为大陆地区涉足CMOS IMAGE ...
  • 凭借AMD和苹果等厂商的订单,台积电毫无疑问已经在7nm领域站稳了脚跟。三星电子则准备跳过7nm制程...根据Digitimes的报道,目前半导体从业者认为三星7nm EUV制程在良品率与品质方面的情况仍然无法预测,但是由于制程...

    凭借AMD和苹果等厂商的订单,台积电毫无疑问已经在7nm领域站稳了脚跟。三星电子则准备跳过7nm制程,直接采用7nm LPP EUV。最近有消息传出,由于报价更低,所以英伟达将重新采用三星代工,并且2020年的图形芯片Ampere(安培)将采用三星7nm EUV制程。

    62f8b74ecc00ce8560352d4a8a886afa.png

    根据Digitimes的报道,目前半导体从业者认为三星7nm EUV制程在良品率与品质方面的情况仍然无法预测,但是由于制程规划上的偏差,所以英伟达错过了下单台积电7nm制程的机会,目前台积电的7nm生产线已经有了足够多的订单,再加上台积电7nm EUV制程报价昂贵,三星的报价相对较低,英伟达准备重新使用三星代工。

    目前苹果和高通都使用台积电代工,AMD最近的Ryzen 3000系列也采用了台积电7nm工艺,所以台积电7nm产能比较饱和,但作为目前的独立显卡大户,英伟达并没有出现在台积电的7nm/7nm EUV列表当中。

    另一边,三星由于在7nm方面起步较晚,并且准备直接升级制程,所以只能通过降低价格来度过过渡期。根据三星此前透露的最新制程规划,三星决定跳过7nm制程,直接用上7nm LPP EUV制程,并且在今年初已经开始量产采用EUV技术的7nm相关产品,并在4月实现出货。三星也在6nm方面也与大客户进行了生产协议,目前已经完成设计定案,预计将会在今年下半年投产,三星的5nm制程也已经完成了开发。

    为吸引客户订单,三星也拿出了多个卖点,如客户可使用三星的EUV技术,降低光罩使用数量以及提供制程选择,为客户降低成本且缩短产品开发的流程和时间,同时三星也拿出“三星高级代工生态系统”(SAFE),为5nm制程提供强大的设计基础架构。目前三星除自家手机外,7nm EUV制程仅拥有IBM Power系列处理器代工订单。

    此次英伟达传出成为三星7nm EUV制程大客户,这也是三星于2012年取得部分Tegra芯片代工订单以及与台积电分担Pascal架构芯片订单后(三星此前用14nm制程代工了GTX 1050 Ti及GTX 1050)再次争取到英伟达的订单。

    业内人士表示,英伟达拥抱三星应该是早在半年前就已经确定,主要是因为台积电7nm制程订单已经饱和,同时台积电不愿意降低7nm、7nm EUV报价,加上三星给出了极其诱人的代工价格,所以才让英伟达选择了三星。

    另一方面,挖矿潮令GPU市场失衡,英伟达出货规模下滑,订单也明显萎缩,英伟达现在与台积电供货与议价方面很难有谈判空间,这也是回归三星的关键所在。

    47fc583314bb0d640d3f90b8c25e7757.png

    展开全文
  • 格科微(Galaxycore)电子(上海)有限公司推出1/4英寸VGA图像传感器,具有尺寸小,功耗低,图像品质好,成本比较低等特点,能够广泛用于手机、PDA、电脑摄像头、玩具等消费类电子领域。 作为大陆地区首家涉足CMOS IMAGE...
  • 亿最大,覆盖所有的领域,你能想象计划和图表流程,数据库架构,组织结构,思维导图,网络和更多的图表,种有几个部分的形状库中的各种,以及附带的软件的几个例子。您可以保存自己的形状的形状库中,以便...
  • 品质的照片处理 GIMP 提供高质量图像处理所需的工具。 从修饰到恢复到创意复合,唯一的限制是你的想象力。 原创艺术创作 GIMP 为艺术家提供了将图像转换为真正独特创作的强大功能和灵活性。 编程算法 GIMP 是...
  • 软件工程类 人月神话 http://www.aspsun.com/show.php/2009.html PDF版 ,品质高 设计模式:可复用面向对象软件的基础 http://www.vipbook.net/soft/976.htm PDF速度快 人件 ...,英文版 企业应用架构模式 ...
  • 介绍架构概念和架构图 目标 完成这一模块(章),你可以: 1、区别架构和设计 2、描述阶层,层,系统品质 3、描述架构工作流 4、描述重要的架构视角的图 5、选择架构类型 6、创建架构工作流工件 证明为什么要...
  • Unity3D实战之残影技术

    千次阅读 2016-12-27 18:33:45
    我们使用Unity3D开发动作类游戏或者RPG游戏时,为了增加战斗的效果,经常会使用残影技术,该技术可以使角色的动作更具有观赏性,可以使游戏品质更上一个台阶。本章实现了游戏中经常使用的残影技术,从原理到技术实现...
  • 百度开放云·大数据分析解决方案,是基于百度搜索和百度推广多年的使用经验,提供数据分析和数据挖掘等高品质的技术,帮助用户快速发现大数据的价值。使用场景架构图如何在百度开放云中搭建大数据分析...
  • 并利用了色调映射品质因素(tone mapped image quality index TMQI)和自然图像品质评价因素(naturalness image quality evaluator NIQE)来进行了测评。(from 首都大学东京) 利用了基于Unet ...
  • 针对拖网在海洋环境监测中的应用,设计并实现了一...该系统所使用的高清摄像机和千兆以太网通信架构使其能够实现高品质的图像效果,激光浮游生物计数器使其能够实现水下浮游生物粒径谱实时采集,以获得便捷使用的效果。
  • 支援 Intel Pentium 4处理器 支援双通道DDR2和DDR记忆体架构 配备支援RAID 0, RAID1功能的SATA储存介面 具新一代PCI-Express x16 介面插槽的革命性绘图技术 内建高速千兆(Gigabit)乙太网路连接介面 内建高品质8声道...
  • 主要看是使用那种开发方法,一般有:结构性方法,面向对象的方法,原型法,面向服务。一般需求明确的话会选结构化开发方法。通常是分为五大阶段0.业务场景分析:用这个要解决啥问题。...功能清单和功能信息架构图...
  • A40i芯片架构图A40i特性介绍工控平台级芯片,支持Android与Linux双系统,十年以上供货周期工业品质标准,100ppm,工作温度-40-85℃支持双屏异显和多种显示接口 RGB/MIPI /双LVDS/HDMI支持多路摄...
  • erp 全称 Enterprise resource planning 译文企业 资源计划,ERP是针对物资资源管理物流人力资源管理 人流 财务资源管理 财流信息资源管理 信息流 集成 一体化的企业管理软件它将包含客户 / 服务架构使用 ...
  • 本书包含了基本的一些影像...同时建立一个架构,让读者学会去分析影像。本书的作者以消费者摄影的角度,来体现如何比较图像品质的好坏。这本书填补了分析影像时候,文献中所缺少的一些基本研究目标类型以主观的指标。
  • 对播放器架构演进、流媒体存储传输、视频编解码标准及图像声音信号处理,既对数学要求较高又与当时全民IT热相结合的专业——(计算机)信息安全,精妙绝伦的数论及密码学。既能应用密码学的知识技能又能和声色并茂的...
  • ERP是针对物资资源管理(物流)、人力资源管理(人流)、财务资源管理...它将包含客户/服务架构,使用图形用户接口,应用开放系统制作。除了已有的标准功能,它还包括其它特性,如品质、过程运作管理、以及调整报告等。
  • ERP系统详解

    2008-01-09 10:28:00
    它包含客户端/服务器架构,使用图形用户界面,采用开放式的系统设计,并随着因特网的出现与发展,ERP也可以支持浏览器/服务器架构。除了MRPII已有的标准功能,它还包括其它特性,如品质、过程运作管理以及均衡报告等...
  • 什么是ERP

    2006-11-23 15:47:43
    它包含客户端/服务器架构,使用图形用户界面,采用开放式的系统设计,并随着因特网的出现与发展,ERP也可以支持浏览器/服务器架构。除了MRPII已有的标准功能,它还包括其它特性,如品质、过程运作管理以及均衡报告等...
  • 对播放器架构演进、流媒体存储传输、视频编解码标准及图像声音信号处理,既对数学要求较高又与当时全民IT热相结合的专业——(计算机)信息安全,精妙绝伦的数论及密码学。既能应用密码学的知识技能又能和声色并茂的...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 123
精华内容 49
关键字:

品质架构图