UE4运行库优化问题

断断续续读UE4的运行库蛮久了,发现一个可以优化的地方:

组件有一个属性是溢出处理
如果选择了滚动类型,反应到UE4 C++运行库中就是UGComponent类需要处理Scroll相关的逻辑,虽然这些这些逻辑代码放在了class UScrollPanel中;

考虑到class UGComponent是作为所有高阶组件的基类;
如果高阶组件功能放到class UGComponent这个基类中实现;
必定会存在冗余情况:比如说UGButton实例不需要关注溢出处理,也就不应为次付出代价;
适当扩展类抽象层级会是更好的选择(代码复耦合度和性能考量)

其他引擎的解析库没有看过源码,有类似考量的同学可以跟帖聊聊。

期望官方在这方便有新的更新吧
 
已邀请:

谷主

赞同来自:

溢出处理不设置为隐藏或者滚动就没有任何代价。ScrollPane不会创建,没有消耗。

Ayou001

赞同来自:

ScrollPanel不创建不代表没有消耗:
因UGComponent是基类,受影响的高阶组件多,编辑器编辑的每个组件除了非【组件元件】都会受影响吧。
没有任何代价这个讲法,我理解的话只考虑了逻辑运行时性能;
除ScrollPanel外, Container和RootContainer需要两个SContainer对象也是因需要支持Scroll和Clipping功能。
如我前面说的,还有就是代码耦合的情况;
当然,这些是可以优化的地方,不影响功能表现。
 

要回复问题请先登录注册