繁体   English   中英

libgdx-调整内存中纹理的大小

[英]libgdx - resizing a texture in memory

当处理不同尺寸的屏幕时,我会使用3包资产用于SD,MD和HD手机/平板电脑。 但是这样做有点烦人,并且会使APK变大。 我只想使用我想使用的最大包装,例如HD。 但是,如果有人拥有3.2英寸的手机,我不想在320x480的手机上渲染1280x768的背景。

所以我只是想知道..libGDX是否可以调整Texture的大小? 我的意思不是说要按特定大小调整大小。.我的意思是,在Texture Packer GUI中,我可以添加最大的资产包并选择导出HD或MD包。.是否可以在运行时调整Texture的大小? 因此,如果我在小手机上玩游戏,则纹理的大小将变小。

我希望你们能理解我要说的话。

在低端手机上使用额外的存储空间可能是最好的选择。 替代方案吸引力较小:

  1. 加载图像时按比例缩小图像。 这将延长已经没电的手机的加载时间。 缩放必须在CPU上完成,因为GPU可能不支持屏幕大小的倍数的纹理。 另外,您需要将这些大图像加载到内存中,这将给小型手机带来更多负担。 (您可以执行一次此操作并缓存结果,因此您不必对每次启动都进行惩罚,但也可以将文件放入.APK中)(您可以将HD图像分成几部分,以免压倒低端的视频。如果您仍然想尝试使用LibGDX,则可以使用FrameBuffer在运行时从高分辨率的图像创建低分辨率的图像。

  2. 渲染图像时按比例缩小图像。 这不太可能可靠地工作,并且需要大量内存以保持图像加载。

要真正了解您在此处进行的优化,请尝试以所有分辨率构建APK,然后仅以HD图像构建。 我敢打赌,差别不算太大(按照定义,低端图像相对不算大)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM