Litmin的笔记
Litmin
游戏 图形 渲染
  • [译]Post-processing Effects on Mobile: Optimization and Alternatives

    Overview 游戏质量之间的界限变得模糊,现在的手机的画面是前几年不能想象的。 如果手机要跟主机的画面比,开发者必须一致想一个问题:手机图形缺少什么来跟主机竞争?ARM团队最直接的答案就是理解GPU预算的差异。 移动GPU面临的最大挑战是设备外形尺寸,限制了面积和功耗。...

  • [译]The Mali GPU: An Abstract Machine, Part 3 - The Midgard Shader Core

    在本系列的前两篇文章中我介绍了frame-level pipelining和tile based rendering architecture,旨在开发一个心智模型,供开发人员用于在优化其应用程序性能时解释图形堆栈的行为。 在这篇文章中我将组件最后一个组成部分完成这个抽象机器的开发:它就是 M...

  • [译]The Mali GPU: An Abstract Machine, Part 2 - Tile-based Rendering

    在我上一篇博文中,我定义了一台抽象机器,用于描述 Mali GPU和驱动程序软件对应用程序可见的行为。此机器的用意是为开发人员提供 OpenGL ES API 的一个生动形象的模型,而这反过来也可用于解释影响其应用程序性能的问题。我在本系列后面几篇博文中继续使用这一模型,探讨开发人员在开发图形应用...

  • [译]The Mali GPU: An Abstract Machine, Part 1 - Frame Pipelining

    图形工作负载的优化对于许多现代移动应用程序而言往往必不可少,因为几乎所有渲染现在都直接或间接地由基于 OpenGL ES 的渲染后端负责处理。我的同事 Michael McGeagh 最近发表了一篇工作指南 [ http://community.arm.com/docs/DOC-8055],介绍如...

  • [译]Mali Performance 3: Is EGL_BUFFER_PRESERVED a good thing?

    本周我分析了用到EGL_BUFFER_PRESERVED的应用程序framebuffer的管理,那你如何确定它是个好东西呢。他是一个在与客户讨论用户界面开发时经常出现的问题,就像图形中的许多东西一样,它的效率在很大程度上取决于你在做什么,所以我希望这个博客能够清楚地表达出来。 What i...

  • [译]Mali Performance 2: How to Correctly Handle Framebuffers

    本周,我从目前为止我们一直在探索的渲染管线的以硬件为中心的视角中略微转移,看看Mali驱动程序如何将OpenGL ES API活动转换为渲染所需的硬件工作负载,更重要的是。 正如我们将要看到的,OpenGL ES在这个领域并没有特别严格的规定,因此开发人员必须小心避免一些常见的陷阱。 ###P...

  • [译]Mali Performance 1: Checking the Pipeline

    在这个系列前几篇博客中我介绍了一个ARM Mali “Midgard”GPU系列使用的高级渲染模型。这个系列接下来我会讲解如何使用DS-5 Streamline,一个ARM的系统级Profile工具,来定位你的应用程序没有运行到最佳性能的部分。 在这篇博客中我们将关注宏观管线中的调试问题,这意...

  • 后处理效率问题和Tile-Based架构下的Frame Buffer

    后处理效率问题和Tile-Based架构下的Frame Buffer 在测试后处理效率的时候发现一个诡异的问题,自己预期的一个应该快的流程反而慢了。 测试环境:Unity2018以及一堆手机 大致流程如下: 第一种流程 第二种流程 两种做法的区别是:第一种是把S...