BSS段内存问题排查笔记

本周版本的时候QA同学跑过来说iPhone 13进游戏闪退,而且没有抓到闪退的堆栈信息; 盲猜是内存问题,当时手头在忙就直接找人试了下低端一些的设备,结果没有翻车orz 就一时间有点摸不到头脑。后来腾出手直接XCode连着看了下,雀实是内存冲到2G之后被系统干了,在- (void)applicationDidReceiveMemoryWarning:(UIApplication*)application里打了行LOG也触发到了。 昨天在家终于有空仔细研究下这个问题,最后发现还是蛮少见的情况… 特意记录一下笔记。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 4月 03, 2023

高版本安卓注入RenderDoc

几年前在公司内部KM分享过如何方便的将RenderDoc内嵌到内部版本中从而方便调试,以及如何向下兼容更低版本的Android系统(RenderDoc Android最低系统要求是6.0)。 手法其实非常简单: 直接将libVkLayer_GLES_RenderDoc.so这个打包进apk中然后手动加载下即可; 这样做额外的好处是不需要依赖其hook系统的机制,所以不需要interceptor-lib,进而压低系统版本要求。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 2月 12, 2023

angle折腾笔记

时隔多年重新编译angle,主要是为了PC上能模拟ES3.1,特别是最好能支持VT相关操作。本来不抱希望,毕竟angle文档上写的很清楚,目前GL/GLES/Vulkan Backend都只支持到ES 3.1,ES 3.2还处于in progress。 但是突然发现EXT_copy_image这个扩展在Vulkan Backend上已经被支持Vulkan: Add support for EXT_copy_image,瞬间觉得有戏就折腾了下。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 5月 07, 2022

从DX角度看SRPBatcher

最近抽空研究了下Unity的SRPBatcher,根据官方文档说法这货能极大降低DrawCall代价,从而达到提升性能的目的,而且这个行为大多数情况下对于使用者是透明的。正好对这块比较感兴趣其实是最近在尝试优化这块,看看有什么思路可以白嫖,抓了帧稍微研究了下原理。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 5月 01, 2022

IL2CppDumper笔记

最近研究了一段时间的IL2Cpp编译出来的dll,整理下笔记记录下中间遇到的一些问题和解决方法。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 4月 23, 2022

喷涂中遇到的光栅化问题

最近看的一个问题,最后想通很简单但一开始自己狠坑了自己一把,简单记录一下。 为了实现运行时喷涂,直接动态RT解决问题: 喷涂时利用2uv直接绘制到一张RenderTexture 模型正常渲染的时候采样这张RenderTexture。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 4月 22, 2022

奇妙的Shader精度(续)

这个话题其实已经连着好几次了orz(之前博客分享过Metal 2.1中的新关键字invariant和奇妙的Shader精度),但昨天有朋友又遇到PreZ挂了的情况: D3D11下如果关掉Shader Optimize后PreZ和Shading Pass的深度又对不上,但打开Shader Optimize就显示正常。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 1月 15, 2022

解决TextField光标乱飘

周五的时候UX同学换了一批字体,然后无意间发现TextField的光标鬼畜定位了orz 今天终于有空跟进下这个问题 顺便弥补下太久没更博客     阅读全文
Kanglai Qian's avatar
Kanglai Qian 12月 12, 2021

UE4中Auto Convex的诡异结果

最近尝试利用UE4自带的功能生成物理简模,参考Setting Up Collisions With Static Meshes有几种模式: 直接生成简单的包围盒/球/胶囊体; 利用DOP(discrete oriented polytopy)即若干对齐轴平面向内挤压; Auto Convex自动生成。 此外可以将多个简模组合使用,这里不再赘述。我们一开始是批量Auto Convex,结果发现对于一些”规则”网格生成的结果非常诡异。例如题图中的一个长方形盒子,生成的Auto Convex似乎只有一个表面。     阅读全文
Kanglai Qian's avatar
Kanglai Qian 3月 06, 2021

NDK遇到Link Failed

这次是有几个同事遇到的一个问题: release版本编译引擎没问题,但是debug下会在链接步骤挂掉: [arm64-v8a] SharedLibrary : libGame.soD:\SDK\android-ndk-r21\toolchains\llvm\prebuilt\windows-x86_64\bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: final link failed: File truncatedclang++: error: linker command failed with exit code 1 (use -v to see invocation)     阅读全文
Kanglai Qian's avatar
Kanglai Qian 3月 06, 2021