首页 > 其他分享 >用Compute Shader处理图像数据后在安卓机上不能正常显示渲染纹理

用Compute Shader处理图像数据后在安卓机上不能正常显示渲染纹理

时间:2024-03-20 14:58:09浏览次数:24  
标签:社区 Compute 安卓 Shader 图像 UWA uwa4d

1)用Compute Shader处理图像数据后在安卓机上不能正常显示渲染纹理
2)折叠屏适配问题
3)Prefab对DLL中脚本的引用丢失
4)如何优化Unity VolumeManager中的ReplaceData


这是第378篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

UWA社区主页:community.uwa4d.com
UWA QQ群:465082844

Shader

Q:我用Compute Shader来做2D游戏图像数据的处理工作。

这是一款老2D游戏,客户端资源中大量图像都是以UShort[]数组存储的。读取后数组中的一个UShort值对应一个像素颜色值,通过写一个Compute Shader,将这些像素颜色值写到RenderTexture上,然后用Canvas+RawImage显示在主摄像机中。

在编辑器中已经正常运行了,每帧渲染耗时8-10ms(因为换装游戏的关系,需要对颜色值做很多叠加计算等处理)。

我打包出APK包,在安卓手机真机上却无法像在编辑器里一样显示图像。

在安卓手机运行时,打Log检测:

SystemInfo.supportsComputeShaders

  

安卓真机系统是支持这个Compute Shader的。

用FrameDebugger查看时,在编辑器里:

 

可以看到运行了Compute Shader,而且显示了这个Compute Shader的名称:XImageComputeShader。

上图第二红框中就是渲染出的RenderTexture图像内容。通过绑定RawImage,在游戏画面中可以正常显示。

但在安卓机里,看不到运行Compute Shader的地方,而RenderTexture的图像内容全部为空。

 

 

而游戏画面中,也是空白内容,没有图像。请教各位大佬,问题可能出在哪里?

另外,我用了华佗热更,再用IL2CPP,是否会因为某些原因被裁剪掉?如何验证修复呢?

针对以上问题,有经验的朋友欢迎转至社区交流分享:
https://answer.uwa4d.com/question/65f5759f3625c22cffcb1eba


UI

Q:请问大家有处理过折叠屏的适配吗?有没有好的思路?

目前项目直接SetResolution后,无法自适应折叠屏开关变化;但又不想一直Update监听屏幕的尺寸。请问大家还有更好的思路吗?

针对以上问题,有经验的朋友欢迎转至社区交流分享:
https://answer.uwa4d.com/question/65f307a63625c22cffcb1eb9


Prefab

Q:开发时,不希望策划看到源码,于是将源码替换成DLL,但是这样挂在Prefab上的脚本引用会丢失,请问怎么解决?

A1:写了个Demo测试了下,如果工程里的DLL对应GUID维持不变(对应Meta文件不变),DLL重新构建并导入替换,并不会影响Prefab上挂接的DLL里的Mono脚本。

感谢JGIbhXxT@UWA问答社区提供了回答

A2:思路可以参考该以下工具,实际使用需要修改一下源码。

DLLSwitcher | 实用工具 工具 | Unity Asset Store
https://assetstore.unity.com/packages/tools/utilities/dllswitcher-40370

感谢草莓声明@UWA问答社区提供了回答


Script

Q:请问Unity VolumeManager中ReplaceData怎么优化?为什么每帧都会更新所有的参数?

A:优化方式是减少项目中VolumeComponent,有一些没有用到的就不需要加入到type[]中了,本身CPU耗时就是For循环所有的参数和VolumeComponent开销比较大。

感谢菜鸟@UWA问答社区提供了回答

封面图来源于网络


今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:465082844

标签:社区,Compute,安卓,Shader,图像,UWA,uwa4d
From: https://www.cnblogs.com/uwatech/p/18085213

相关文章

  • Android joystick,安卓模拟摇杆
    安卓模拟游戏摇杆,android实现自定义view参考文章:https://www.jianshu.com/p/96c982d41623,原文部分内容不全。attrs.xml<resources><declare-styleablename="RockerView"><attrname="areaBackground"format="color|reference"/>......
  • fiddler 拦截抓包 安卓10
    https://blog.csdn.net/freeking101/article/details/118914275https://blog.51cto.com/u_13690151/5603754opensslx509-informder-subject_hash_old-inFiddlerRoot.cer -nooutopensslx509-informder-inFiddlerRoot.cer-oute5c3944b.0 mt管理器移到/system/e......
  • java毕设安卓基于vue的历史博物馆APP(开题+源码)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,移动互联网已经成为现代人生活不可或缺的一部分。智能手机普及率的提升,使得移动应用(APP)成为连接用户与服务的重要桥梁。历史......
  • java毕设安卓高校信息查询app(开题+源码)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的迅猛发展,移动互联网已经成为人们获取信息、交流沟通的重要渠道。高等教育作为人才培养的重要基地,其信息的公开与获取对于考生和家长来......
  • 安卓低机型卡顿分析以优化方案
    当前状况安装低端机型H5页面可能存在丢帧问题丢帧卡顿可能原因分析现象分析呈现速度缓慢:在呈现速度缓慢的帧数较多的页面,当超过50%的帧呈现时间超过16ms毫秒时,用户感官明显卡顿。帧冻结的绘制耗时超过700ms,为严重卡顿问题。卡顿忽略FPS<=2的页面:因为人的视觉暂留100400......
  • 安卓app产品:应用分析工具
    这是我独立开发的一款工具类安卓app(名称:应用分析工具),其主要功能是:(Solo社区投稿)1、基础信息查看-可查看app的包名、签名、权限、版本信息、AndroidManifest.xml等等2、App反编译-可反编译apk文件,查看apk内容,如smali/java代码、图片、xml文件。3、布局分析-显示app的布局......
  • 安卓Root
    安卓Root前言测试经常需要安卓root机,因此写下此教程手机为谷歌pixel4操作流程adb安装mac安装命令#brew安装➜brewinstall--caskandroid-platform-toolslinux安装命令#以Ubuntu为例➜aptinstallandroid-tools-adbWindows安装adb首先下载adb工具:Andr......
  • java毕设安卓昆虫科普APP实现(开题+源码)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着移动互联网的普及和智能手机的广泛应用,人们的生活方式发生了深刻变革。智能手机APP以其便捷性、交互性和个性化等特点,成为现代人获取信息和知识......
  • java毕设安卓考研院校择选app(开题+源码)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在数字化快速发展的时代,信息技术的应用已深入到各个领域,教育行业亦不例外。特别是在考研这一重要的人生节点上,学生们面临着院校选择、专业匹配、分数......
  • [原创]vb.net开发安卓软件的方法
    vb.net可以开发安卓软件吗?当然可以,但是网络上的公开资料很难搜到相关方法,绝大多数人也只知道用C#可以开发安卓软件。本人查询了大量的资料,最后经过自己的反复钻研和测试,终于摸索出一套可以用vb.net开发安卓软件的方法。本文最初由本人于2023年9月2日发布在vb.net贴吧:现将原文......