Multithreaded Rendering & Graphics Jobs 多线程渲染与图形Jobs 性能系列8

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

Multithreaded Rendering & Graphics Jobs 多线程渲染与图形Jobs

本文档主要是对Unity官方手册的个人理解与总结(其实以翻译记录为主:>)
仅作为个人学习使用,不得作为商业用途,欢迎转载,并请注明出处。
文章中涉及到的操作都是基于Unity2018.3版本
参考链接:https://unity3d.com/cn/learn/tutorials/topics/best-practices/multithreaded-rendering-graphics-jobs?playlist=30089

Unity supports several modes of rendering depending on platform availability and graphics API:
Unity支持多种基于平台可用性和图形API的渲染模式:

  • Singlethreaded Rendering 单线程渲染
  • Multithreaded Rendering 多线程渲染
  • Jobified Rendering Jobified 渲染
  • Graphics Jobs 图形Jobs

If you do not select one of these modes in the Player Settings, Unity uses singlethreaded rendering.
如果你没有在Player 设置中选择其中一种模式,Unity会使用单线程渲染。

Singlethreaded Rendering (single client, no worker thread)
单线程渲染(一个客户端,没有工作线程)

Unity uses singlethreaded rendering by default if none of the other modes are enabled.
如果没有其他模式可用,Unity默认情况下使用单线程渲染。
This causes the single client to occupy the main thread while executing the high-level rendering commands.
这将导致单个客户端在执行高级渲染命令时占用主线程。

The single client executes all the rendering commands (RCMD) on the main thread. The client also owns the real graphics device GfxDevice and performs the actual rendering through the underlying graphics API (GCMD) on the main thread. This is suboptimal, because all commands you execute on the main thread subtract from important frametime which you could use for other subsystems running on the main thread.
单个客户端执行主线程上的所有渲染命令(RCMD)。客户端还拥有真正的图形设备GfxDevice,并通过主线程上的底层图形API (GCMD)执行实际的渲染。这不是最优的,因为您在主线程上执行的所有命令都会从重要的frametime中减去可以用于在主线程上运行的其他子系统的frametime。
在这里插入图片描述
Multithreaded Rendering (single client, single worker thread)
多线程渲染(一个客户端,一个工作线程)

Unity enables Multithreaded Rendering by default if the graphics API permits it. To disable Multithreaded Rendering (generally for profiling purposes), go to the Player Settings (menu: Edit > Project Settings > Player) window, scroll d

Unity+MediaPipe虚拟试衣间技术实现全攻略 在元宇宙概念席卷全球的今天,虚拟试衣技术正成为连接物理世界数字孪生的关键桥梁。本文将深入解析基于Unity引擎结合MediaPipe姿态估计框架的虚拟试衣系统实现,涵盖从环境搭建到完整AR试穿界面开发的全流程,最终实现支持实时人体追踪、多服装物理模拟及用户反馈的完整解决方案。 阅读详情

相关推荐

鸿蒙NEXT开发【马良GPU最佳实践】GPU加速实践

本文档主要指导开发者如何在马良(Maleoon)GPU上达到最佳的性能表现,只针对Maleoon GPU的优化实践,帮助开发者高效完成渲染任务,如果想要达成该目标,首先需要通过[Graphics Profiler]等GPU分析工具,找到当前的能效瓶颈点,并遵循以下两个基本优化原则进行性能调优。本文所有优化建议,都将围绕这两个基本优化原则展开。

houxiliOH的博客 3118

Unity引擎开发:Unity基础入门_Unity打包发布

Unity中,打包(Build)是指将项目资源和脚本编译成可在目标平台上运行的可执行文件或应用程序包的过程。发布(Publish)则是将这些打包文件分发给玩家或用户的过程。Unity支持多种平台的打包,包括Windows、MacOS、Linux、Android、iOS、WebGL等。在Unity引擎开发过程中,将游戏打包并发布是至关重要的一步。通过上述详细的打包流程、注意事项和优化技巧,您可以确保游戏在不同平台上都能顺利运行,并提供良好的用户体验。希望本节内容对您有所帮助,祝您游戏发布成功!

chenlz2007的博客 2356

Unity 6 D3D11崩溃排查:8个方法解决图形驱动设备丢失问题

在游戏开发图形渲染领域,DirectX 11(D3D11)作为Windows平台的核心图形API,其稳定性直接影响应用性能用户体验。其工作原理是通过图形设备(GPU)执行渲染命令,但当发生设备丢失(Device Lost)或驱动超时等异常时,程序便会崩溃。这一问题的技术价值在于,它揭示了底层硬件驱动、资源管理应用层代码间的复杂交互,是优化渲染管线提升软件健壮性的关键挑战。典型的应用场景包括游戏引擎升级、复杂着色器运算以及高负载实时渲染项目。本文聚焦Unity 6引擎升级后频发的D3D11崩溃问题,针

dieqiao8331的博客 289

Unity渲染优化(UI向)

l 本文翻译自unity官方文档,标题为<Optimizing graphics rendering in unity games>。l 该译文旨在帮助客户端程序和美术了解unity的基本渲染流程以及一些优化思想,可以避免将来绕弯路。l 译文会跳过不必要的内容,力求精简,不懂之处可以询问。l 碍于水平问题,不足或错误之处请指出。优化图形渲染关于渲染的一二事在开始之前,我们有必要知道un...

hbysywl的博客 4994

Unity渲染优化中文翻译(二)——CPU的优化策略

  转载请标明出处http://www.cnblogs.com/zblade/   紧接上一篇文章,继续渲染的优化问题,若有错误,请指出,让我也学习进步,谢谢。   如果游戏渲染问题来自CPU   概括的来说,CPU在一帧的渲染中的工作可以分为三个部分:   1)决定谁需要被渲染   2)为GPU准备渲染指令   3) 发送渲染指令给GPU   在每个部分中又有许多单独的任务,这些...

weixin_30432179的博客 236

Unity Player面板深度解析:从打包配置到性能优化的核心指南

Unity开发中,性能优化资源管理是构建高质量应用的核心环节。其原理在于通过引擎底层配置,精准控制应用的启动流程、运行时行为资源加载策略,从而直接影响帧率、内存占用用户体验。从技术价值看,合理的配置能显著提升应用在不同平台(如移动端、PC、WebGL)的兼容性执行效率,减少崩溃卡顿。具体到应用场景,开发者常需针对包体大小、加载速度、图形渲染进行权衡,例如通过调整压缩格式、脚本后端图形API来适配目标硬件。本文聚焦Unity Player面板这一中枢控制台,深入探讨如何通过配置渲染管线、脚本编译

weixin_33713707的博客 418

Unity屏幕模糊统一方案:基于Render Graph的高性能实现工程实践

屏幕模糊是计算机图形学中常见的图像后处理技术,通过对像素进行加权平均采样来模拟视觉失焦效果,其核心原理通常基于高斯模糊等卷积算法。在实时渲染领域,高效的模糊实现需要解决填充率内存带宽的瓶颈,常见优化手段包括降采样可分离滤波。从工程价值看,一套统一的模糊方案能显著提升UI质感视觉层次感,并降低不同渲染场景下的维护成本。在Unity引擎中,随着可编程渲染管线(SRP)的普及,基于Render Graph API构建的渲染方案成为现代图形开发的新范式,它通过声明式资源管理显式依赖关系,解决了传统实现中资源

weixin_33892359的博客 289

ARCore Unity SDK 过时项目维护指南:环境配置、编译排错功能优化

增强现实(AR)技术通过计算机视觉传感器融合,将虚拟信息叠加到真实世界,其核心原理在于实时运动跟踪、环境理解光照估计。这项技术为移动应用带来了沉浸式交互体验,广泛应用于游戏、教育、零售工业维护等领域。在安卓平台上,谷歌ARCore提供了底层能力支持,而Unity引擎则是构建AR应用的主流工具。然而,技术栈的快速迭代带来了兼容性挑战,特别是对于仍在使用已归档的ARCore SDK for Unity的存量项目。本文聚焦于解决此类过时SDK在集成开发中的实际问题,深入剖析环境配置中Unity版本、And

weixin_33910385的博客 325

Unity优化(二)】渲染优化

https://www.cnblogs.com/alan777/p/6204759.html CPU受限 开启Player Settings中的Graphics jobs。 在Player settings中的Graphics jobs选项决定了Unity是否使用工人线程去执行一些原本需要在主线程或者渲染线程中执行的任务,在支持这个功能的平台上,它能够提供可观的性能提升。如果我们希望使用这个功能,我们应该分别对开启或者关闭此功能进行性能分析,以观察这个功能对性能的提升效果。 发送命令到GPU 降低要渲染的对

boyZhenGui的博客 1133

Unity游戏中的图形渲染优化

Unity游戏中的图形渲染优化 转载自:Unity游戏中的图形渲染优化 技术文章翻译 原文链接 Unity官方教程中的一篇文章,虽然讲得不深,但是比较系统全面,对寻找问题,优化性能还是有帮助的,分享给大家把。英语渣,翻译有啥不对的地方,欢迎指正。 简介 在这篇文章中,我们将学习:在Unity渲染一帧画面背后发生的事;在渲染过程中可能发生的 一些性能问题以及如何去解决这些和渲染相关的性能问题。在阅读...

大鹏的专栏 1万+

unity Multithreaded Rendering 导致Android屏幕分辨率调整时应用崩溃

原文: unity Multithreaded Rendering 导致Android屏幕分辨率调整时应用崩溃 最近游戏上线测试时发现小米MIX在关闭了wifi后闪崩, 经调查发现时调出下拉功能列表后屏幕大小被调整. 并且随机崩溃. 将Player Setting android设置中的Multithreaded Rendering勾掉(默认是选中的), 再打包测试OK. 原因调查: mono层调用JNI时使用多线程本身问题不大, 但是调整屏幕时你的应用是被暂停了(就像屏幕旋转时屏幕内容是不动的一样), 暂

weixin_43149049的博客 1310

Unity打包设置

设置脚本编译时的定义符号,可以用于条件编译。

yasin的博客 5826

Unity中动态开启多线程渲染的方法

Unity不支持在运行时通过脚本动态切换多线程渲染,只能在项目设置或启动参数中配置。可以通过命令行参数或控制。可以用检查当前状态。SRP管线下,Unity会自动优化多线程渲染

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1265

Unity性能优化(三)-图形渲染优化

Unity性能优化-图形渲染优化 这里有一篇写得很好的文章,请看这个: 【Unity技巧】Unity中的优化技术 Unity性能优化-图形渲染优化 渲染流程简介 渲染问题的类型 处理CPU Bound 使用图形作业(Graphics Jobs)功能 减少向GPU发送的数据量 降低需要渲染的对象的数量 降低每个对象需要被渲染的次数 将对象数据合并到更少的Batch当中 剔除、排序和...

Arvin的博客 1万+

Unity 之 打包参数 -- Player面板属性详解

Unity 之 打包参数 -- Player面板属性详解

最菜程序员的博客 3615

Unity项目优化】之根据UPR资源检测报告进行项目资源优化总结

本文根据UPR检测工具AssetChecker-Win,对Unity项目进行检测得出的资源检测结果中的建议优化进行了总结。这些优化点通用性还是比较高的,希望能帮助大家在做项目的时候注意到这些资源优点,可以边开发边进行项目优化。 Unity项目资源优化总结: 1、Audio音频文件优化 2、FBX模型文件优化 3、Material材质球优化 4、Script脚本优化 5、Texture纹理贴图优化 6、Scene场景优化 7、Animation动画优化 8、Shader优化 9EditorSetting优化

他在试图用代码书写这个世界,字里行间温柔尽显。勿忘初心,努力做有价值的技术文章。 3732

Q&A——渲染优化

渲染优化 Q1:在Android平台上,PlayerSettings里开启/关闭Multithreaded Rendering,在性能和稳定性上有多大的区别? 一般是勾还是不勾? 就我们目前深度优化过的项目而言,Android App中开启多线程渲染确实可以在渲染模块中带来较大的性能提升,但我们并没有详细地定量分析过,所以很难给出“到底能提升多少”的定量说明。对于稳定性来说,现

起个名字好难啊 1985

unity playerSetting

Android Player settings player settings用于完成项目最后的打包工作。 1. Icon: 就是软件的图标,找一个2D图片即可。 2. Resolution and Presentation: 游戏切到全屏时候的一些设置。 2.1 start in fullscreen mode 在第一个见面加载时隐藏下方导航栏。 2.2 render outside safe area 使用所有屏幕空间进行渲染,包括显示缺口,例如刘海屏的处理。 2.3 opti...

LM514104的博客 3971
上一篇: RenderDoc Integration RenderDoc 集成 性能系列7
下一篇: Physics Best Practices 物理最佳实践 最佳实践系列1
cangod
博客等级 码龄10年 97粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值