当前位置: 首页 > news >正文

做SEO公司多给网站房地产政策最新消息2022

做SEO公司多给网站,房地产政策最新消息2022,网站视图错位,简述电子商务网站建设方案Unity 如何获取Texture 的内存大小 在Unity中,要获取Texture的内存文件大小,可以使用UnityEditor.TextureUtil类中的一些函数。这些函数提供了获取存储内存大小和运行时内存大小的方法。由于UnityEditor.TextureUtil是一个内部类,我们需要使…

Unity 如何获取Texture 的内存大小

在Unity中,要获取Texture的内存文件大小,可以使用UnityEditor.TextureUtil类中的一些函数。这些函数提供了获取存储内存大小和运行时内存大小的方法。由于UnityEditor.TextureUtil是一个内部类,我们需要使用反射来访问它。

步骤

  1. 导入UnityEditor命名空间和System.Reflection命名空间:
using UnityEditor;
using System.Reflection;
  1. 创建一个函数来获取Texture的内存文件大小:
public static long GetTextureFileSize(Texture2D texture)
{long fileSize = 0;// 使用反射获取UnityEditor.TextureUtil类的TypeType textureUtilType = typeof(TextureImporter).Assembly.GetType("UnityEditor.TextureUtil");// 使用反射获取UnityEditor.TextureUtil类的GetStorageMemorySizeLong方法MethodInfo getStorageMemorySizeLongMethod = textureUtilType.GetMethod("GetStorageMemorySizeLong", BindingFlags.Static | BindingFlags.Public);// 调用GetStorageMemorySizeLong方法获取存储内存大小fileSize = (long)getStorageMemorySizeLongMethod.Invoke(null, new object[] { texture });return fileSize;
}
  1. 创建一个函数来获取Texture的运行时内存大小:
public static long GetTextureRuntimeMemorySize(Texture2D texture)
{long memorySize = 0;// 使用反射获取UnityEditor.TextureUtil类的TypeType textureUtilType = typeof(TextureImporter).Assembly.GetType("UnityEditor.TextureUtil");// 使用反射获取UnityEditor.TextureUtil类的GetRuntimeMemorySizeLong方法MethodInfo getRuntimeMemorySizeLongMethod = textureUtilType.GetMethod("GetRuntimeMemorySizeLong", BindingFlags.Static | BindingFlags.Public);// 调用GetRuntimeMemorySizeLong方法获取运行时内存大小memorySize = (long)getRuntimeMemorySizeLongMethod.Invoke(null, new object[] { texture });return memorySize;
}

示例代码

示例 1:获取Texture的存储内存大小

using UnityEngine;
using UnityEditor;
using System.Reflection;public class TextureSizeExample : MonoBehaviour
{[SerializeField]private Texture2D texture;private void Start(){long fileSize = GetTextureFileSize(texture);Debug.Log("Texture File Size: " + fileSize + " bytes");}private static long GetTextureFileSize(Texture2D texture){long fileSize = 0;Type textureUtilType = typeof(TextureImporter).Assembly.GetType("UnityEditor.TextureUtil");MethodInfo getStorageMemorySizeLongMethod = textureUtilType.GetMethod("GetStorageMemorySizeLong", BindingFlags.Static | BindingFlags.Public);fileSize = (long)getStorageMemorySizeLongMethod.Invoke(null, new object[] { texture });return fileSize;}
}

示例 2:获取Texture的运行时内存大小

using UnityEngine;
using UnityEditor;
using System.Reflection;public class TextureSizeExample : MonoBehaviour
{[SerializeField]private Texture2D texture;private void Start(){long memorySize = GetTextureRuntimeMemorySize(texture);Debug.Log("Texture Runtime Memory Size: " + memorySize + " bytes");}private static long GetTextureRuntimeMemorySize(Texture2D texture){long memorySize = 0;Type textureUtilType = typeof(TextureImporter).Assembly.GetType("UnityEditor.TextureUtil");MethodInfo getRuntimeMemorySizeLongMethod = textureUtilType.GetMethod("GetRuntimeMemorySizeLong", BindingFlags.Static | BindingFlags.Public);memorySize = (long)getRuntimeMemorySizeLongMethod.Invoke(null, new object[] { texture });return memorySize;}
}

示例 3:同时获取Texture的存储内存大小和运行时内存大小

using UnityEngine;
using UnityEditor;
using System.Reflection;public class TextureSizeExample : MonoBehaviour
{[SerializeField]private Texture2D texture;private void Start(){long fileSize = GetTextureFileSize(texture);long memorySize = GetTextureRuntimeMemorySize(texture);Debug.Log("Texture File Size: " + fileSize + " bytes");Debug.Log("Texture Runtime Memory Size: " + memorySize + " bytes");}private static long GetTextureFileSize(Texture2D texture){long fileSize = 0;Type textureUtilType = typeof(TextureImporter).Assembly.GetType("UnityEditor.TextureUtil");MethodInfo getStorageMemorySizeLongMethod = textureUtilType.GetMethod("GetStorageMemorySizeLong", BindingFlags.Static | BindingFlags.Public);fileSize = (long)getStorageMemorySizeLongMethod.Invoke(null, new object[] { texture });return fileSize;}private static long GetTextureRuntimeMemorySize(Texture2D texture){long memorySize = 0;Type textureUtilType = typeof(TextureImporter).Assembly.GetType("UnityEditor.TextureUtil");MethodInfo getRuntimeMemorySizeLongMethod = textureUtilType.GetMethod("GetRuntimeMemorySizeLong", BindingFlags.Static | BindingFlags.Public);memorySize = (long)getRuntimeMemorySizeLongMethod.Invoke(null, new object[] { texture });return memorySize;}
}

注意事项

  • 确保在使用反射访问UnityEditor.TextureUtil类之前,已经导入了UnityEditor命名空间和System.Reflection命名空间。
  • 使用反射时,需要使用BindingFlags.Static | BindingFlags.Public来获取静态公共方法。
  • 在示例代码中,我们使用了Texture2D类型的变量来表示Texture,你可以根据实际情况修改代码以适应不同的Texture类型。
http://www.yayakq.cn/news/836260/

相关文章:

  • 什么网站可以做引文分析深圳wap网站建设公司
  • 泰州市建设局网站网站建设的安全可行性
  • 哪个网站可以做微信引导图环保主题静态网站模板下载
  • 广州金融网站建设淮安网站建设优化
  • 南县做网站江苏两学一做网站
  • 电子商务网站建设技术方案保定住房和城乡建设局网站
  • 如何规避电子政务门户网站建设用手机自创游戏
  • 如室设计网站wordpress模板教程视频
  • 深圳网站建设知名 乐云践新成都建设网站 scgckj
  • 苏州品牌网站设计定制如何在百度上推广自己
  • 小区媒体网站建设微信小程序自助建站
  • 询广西南宁网站运营网络seo排名
  • 云南网站建设优化技术阿里图标库谁做的网站
  • 官方网站如何建设做仿网站公司
  • 重庆网站设计制作案例做首图的网站
  • 黄岩做网站公司电话自己做网站美工
  • 360免费建站模板烟台html5网站建设
  • 旅游网站开发目的网站建设大客户沟通技巧
  • epanel wordpressseo优化网站的注意事项
  • 电脑什么网站可以做长图攻略潮流印花图案设计网站
  • 江阴建设局网站招考亚马逊查关键词排名工具
  • 珠海专业的免费建站泉州网站关键词推广
  • 苏州公司网站建设公司产品如何做市场推广
  • 天津网站建设设计费用跨境网站开发
  • 品牌网站设计建设郑州网站网络营销
  • 1688货源网官方网站网页设计期末考试作品
  • 开网店要建网站平台吗国产在线免费观看高甜电影推荐
  • 学做网站都要学什么专业金蝶网站建设公司案例
  • 西安自助网站建设系统wordpress 侧边栏错位
  • 仁怀网站建设不好出手wordpress文章首页不展开