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呢
有些情况的低occupancy是不好的 可能因为资源被耗尽的一种 wait
occupancy是对thread数量的统计
latency长的要switch thread来hide这种开销 所以在某些情况下 occupancy高意味着并行thread高 是可取的
在某些情况下occupancy 低 但是 gpu 各部分 utilization很高 所以不是资源exaust 也是ok的
https://developer.apple.com/documentation/metal/optimizing_performance_with_the_gpu_counters_instrument/finding_your_app_s_gpu_shader_occupancy?language=objc
优化应该取决于counter和测试结果的验证