UE3 性能调试:动态光照环境
来源:互联网 发布:地理信息系统数据库 编辑:程序博客网 时间:2024/05/18 18:55
性能调试:动态光照环境
点击这里返回到性能调试页面。
动态光照环境
问题:
动态光照环境更新的性能消耗显示为非常昂贵。
解决方案:
默认情况下所有的 InterpActors (也就是 Movers)和 KActors 都有动态光照环境。当一个动态关照环境更新时,它将会对光源进行线性检测,这样会增加许多CPU消耗。然而,您可以通过进行各种各样的设置来降低动态物体的光照消耗。
这里是一些光照环境设置,按照从最昂贵到最便宜的(在游戏线程上)顺序,也介绍了何时使用相应的设置:
1) bEnabled=True, bDynamic=True (默认)
这些设置仅在需要的时候使用,它们将会基于 InvisibleUpdateTime 和 MinTimeBetweenFullUpdates 进行更新。 同一时刻不应该有多余50个这样的项处于活动状态。 当它们可见、靠近玩家或者当它们移动时需要进行额外的可见性检测。
2) bEnabled=True, bDynamic=False, bForceNonCompositeDynamicLights=True
这些设置应该是非常廉价的,环境在第一次更新时进行更新,以后再也不会更新。 bForceNonCompositeDynamicLights 可以允许动态光源影响它们,这将没有任何严重的游戏线程性能消耗。 可以有成百个这样的设置,它们唯一的消耗(在第一次更新后)是到动态光源的线性检测(并且仅当拥有者可见时)。 这些要比使用预计算阴影的光照看上去要好的多,因为它们可以旋转并且光照仍然可以保持正确。 它们通常用于破碎网格物体、GDO以及其他东西。 如果您发现这些产生了很多新能消耗,那么可以在代码侧进行一些优化。
3) bEnabled=False , bUsePrecomputedShadows=True (在图元组件上)。 同时,您必须把它从动态光照通道中取出,并把它放到静态光照通道中。
这些将会进行光照贴图,渲染的性能消耗很低,它们应该没有游戏线程的消耗(除了调用了 UDynamicLightEnvironmentComponent::Tick 函数)。 当移动它们时,它们的效果将会错误。
这是个控制台命令,可以用于查看有多少光照环境处于活动状态。在控制台上输入 SHOWLIGHTENVS ,您将会获得在那帧中更新的光照环境的所有列表。输入应该是这样的:
Log: LE:SP_MyMap_01_S.TheWorld:PersistentLevel.InterpActor_12.DynamicLightEnvironmentComponent_231 1Log: LE:SP_MyMap_01_S.TheWorld:PersistentLevel.InterpActor_55.DynamicLightEnvironmentComponent_232 0Log: LE:SP_MyMap_01_S.TheWorld:PersistentLevel.InterpActor_14.DynamicLightEnvironmentComponent_432 1 ...
在每行末尾的‘1’意味着 bDynamic 设置为 TRUE 。这可以用于引导关卡设计人员来修改它们的地图以便降低更新消耗。
反馈
您有关于引擎中性能和内存方面的问题或意见吗? 将您的问题发送到 right here(这里)!
点击这里返回到性能调试页面。
- UE3 性能调试:动态光照环境
- UE3 性能调试
- UE3 光照 & 阴影
- UE3 Lightmass静态全局光照
- UE3 Light Functions (光照函数)
- UE3 展开光照贴图的 UV
- UE3 性能、分析及优化
- UE3 GPU性能和分析
- UE3 性能、分析及优化
- UE3 性能分析及优化
- ogre的动态光照
- 第九章:环境光照
- 动态光照-灯光管理(室内)
- opengl光照之环境光
- Unity使用光照贴图进行动态光照模拟
- 一步步学shader系列(2):环境光照diffuse漫反射光照
- 光照与渲染(八)- 环境光照(Ambient Lighting)
- UE3 OVERVIEW
- JAVA 上机作业5.19
- JavaP185eg5.4输出反向整数
- poj 1523 SPF(模板题)(Tarjan 关节点的朴素算法)
- iOS常用设计模式
- python学习--异常
- UE3 性能调试:动态光照环境
- codeforce 527B
- 欢迎使用CSDN-markdown编辑器
- CF #325 div1 C + D + hdu 5458
- Java 5.19*
- Handler实现TextView文字闪烁
- 动态绑数据(Repeater控件HeaderTemplate和ItemTemplate)
- Ant编译问题三:Build Falied ***resolve ro a path with no project.properties file for ***
- lintcode-二叉树的锯齿形层次遍历-71