自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 [Unity] UGUI 性能优化简述

合批就是将多个DrawCall合并为同一个DrawCall并放入命令缓冲区中,每当CPU调用DrawCall时需要从用户模式切换到内核模式,并且需要调用DX\GL的驱动接口,该操作耗时较长,我们可以通过合批来解决这个问题,自Unity5.2以后,对于UGUI的合批底层C++代码改为多线程操作,当前移动端CPU基本都是多核,各个Driver接口优化也越来越好,所以也有些人说UI动静分离对性能提升已经没有那么明显。

2023-08-07 07:25:29 255

原创 [Unity]关于Unity读取Excel动态生成脚本与二进制文件(附源码)

我一开始使用了OleDb的方式来读取Excel,结果报了NotImplementedException: OleDb is not implemented这个异常,网上关于这方面的消息也很少,后来在stackoverflow上才找到相关信息,Mono并不支持OleDb.所以后来还是使用Excel.dll来读取,这里我发现如果是.xls文件,只使用Excel.dll就可以了,如果是.xlsx就另需ICSharpCode.SharpZipLib.dll这个库两个库的网盘链接: https://pan.b

2021-02-28 17:55:29 1287 5

原创 [C#]关于处理任务中未处理的异常与AggregateException

处理任务中的异常很简单,只需要将任务的委托主体包裹到try/catch块中,但未处理的异常就麻烦了。为了处理出错的任务,一个技术是显式创建延续任务作为那个任务的"错误处理程序",如下图:检测到先驱任务引发未处理的异常,任务调度器会自动调度延续任务,但是如果没有这种处理程序,同时在出错的任务上执行Wait()或其他试图获取Result的动作,就会引发一个AggregateException。一般线程中引发未处理异常,会造成引用程序异常中止,但在任务中有所不同,在这种情况下,任务调度器会用一个"ca

2020-12-06 04:53:18 2467

原创 [C#]关于变量读写的原子性

假如读写变量的类型大小不超过一个本机(指针大小)整数,CLR就能保证该类型不会被部分性地读取或写入。所以,64位操作系统保证能够原子性的读写一个long(64位)。然而128位变量(decimal)的读写就不保证是原子性的。因此,通过写操作更改一个decimal变量时,可能会在仅仅复制了32位之后被打断,造成以后读取一个不正确的值,这称为一次被撕裂的读取。即在64位操作系统下,对64位以下包括64位大小的变量进行读写操作时,是原子性的,32位同理。...

2020-12-06 04:21:12 1370

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除