两天时间“帮”同事解了一个多线程问题

下游就是这么苦,上游一句“我这没事啊”,问题就成了你的了。拼了老命、挠破头皮地搞了一天,发现实在是找不出问题,还得想尽办法把问题定位到上游的“黑盒盒”里,人家才会不疾不徐地开展工作。

遇到这种同事能怎么办?我只能在心里暗爽:嘿嘿,又“帮”儿子解决了一个 bug。

这次的故事是这样的。

阅读更多

Unity 垃圾收集最佳实践

前言

最近在搞的一个 Unity 项目是以插件形式运行在服务端的,对内存碎片问题有比较高的要求,正好有机会深入学习了下 Unity 的 GC。这篇文章便是从 Unity 2019.4 官方文档 Garbage collection best practices 翻译、摘要而来。

正文

自动内存管理让你写起代码时又快又简单,还能减少出错。但是这种便利有可能带来性能影响。为了优化代码以提高性能,你必须避免频繁触发 GC 的情形。

阅读更多

使用 Unity 开发 Android VR 应用系列之一——开发环境设置

0. 读者定位

  • 熟悉 Android 开发
  • 对 C#/.NET 有一定了解
  • 想学习如何通过 Unity 开发 Android 应用

Unity 是微软旗下的跨平台游戏/应用开发工具,C# 自然成为其首推支持的前端开发语言。C# 虽是从 Java 脱胎而出,经过近二十年的独立发展,已经成长为一门明显优于 Java 的现代化语言(这当然是我个人的主观见解)。我也发愿以此项目为起点,重新掌握 C#/.NET 的技术体系。

阅读更多

在 Unity 项目中使用 OpenFileDialog 实现选择文件功能

开发阶段用的是 UnityEditor.EditorUtility.OpenFilePanel() 函数,简单易用。但是如其名所示,UnityEditor 只在 Unity 编辑器内可见,尝试 build 出 Windows 下 standalone 包时会报编译错误。

解决办法是用 mono 库下的相应功能实现打开文件。

阅读更多