UE 内存管理(内存对齐)(一)

本文介绍了UE内存管理中的内存对齐概念,包括内存分配的内存页和块,以及内存对齐的原因和重要性。内存对齐有助于提高代码的平台移植性和提升CPU访问性能,尤其是在不同硬件平台上。通过举例说明,阐述了未对齐和对齐内存访问对性能的影响。
摘要由CSDN通过智能技术生成

概述

  • 内存的分配都是以内存页为单位分配的,不同的操作系统,内存页的大小不一样,IOS是16K, 其他是64K
  • 为了防止内存浪费,就把内存页分成相同大小的块(Block),一个内存页叫做池(Pool)
  • 在一个项目中,内存的占用不止一个内存页, 会有多个内存页,所以出现了“箱Binned”的概念,一个箱管理着多个内存页,有41种方式划分物理内存页的方式,每种以大小相同块的内存页也会有多个; 

内存对齐

  • 各种类型数据按照一定的规则在空间上排列,而不是按照顺序一个接一个的排放,这种就称为内存对齐
  • 内存对齐是指首地址对齐,而不是说每个变量大小对齐

为什么要内存对齐

  • 有些CPU可以访问任意地址上的任意数据,而有些CPU只能在特定地址访问数据,因此不同硬件平台具有差异性,这样的代码就不具有移植性,如果在编译时,将分配的内存进行对齐,这就具有平台可以移植性了
  • CPU每次寻址都是要消费时间的,并且CPU 访问内存
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值