https://developer.apple.com/documentation/metal/setting_resource_storage_modes/choosing_a_resource_storage_mode_in_macos
https://developer.apple.com/documentation/metal/setting_resource_storage_modes/choosing_a_resource_storage_mode_in_ios_and_tvos
GMetalForceIOSTexturesShared
StorageModeShared
StorageModePrivate
rt用private
可以硬件开启lossless compression
xcode可以查看
可以降低带宽和footprint
你要是不改 ue就是 默认都是shared 不知道他是出于什么考虑
还有metal fp32那件事。。。真是尴尬 目测要ue5才能改好 一半的alu呢
苹果的架构 tile memory和 system memory(也叫device memory)之间走的是GPU last level caches
和texture和buffer一样
slc??
有些情况的低occupancy是不好的 可能因为资源被耗尽的一种 wait
occupancy是对thread数量的统计
latency长的要switch thread来hide这种开销 所以在某些情况下 occupancy高意味着并行thread高 是可取的
在某些情况下occupancy 低 但是 gpu 各部分 utilization很高 所以不是资源exaust 也是ok的
优化应该取决于counter和测试结果的验证