HarmonyOS编写教师节贺卡

thbcm阅读(376)

今天是教师节,教师是我最尊敬的职业。感恩一路走来遇到的引路人、一日为师、终身难忘!今天,我来手搓一个教师节贺卡,送给天下所有的老师。

Power BI制作指标达成跟踪器

thbcm阅读(402)

首先来看一下简单的演示效果。




在这个报告中,根据销量和指标的绩效,显示绩效是在哪一个支付区间。

在这个案例中,从达成率到支付系数存在一个映射,但其是一个区间函数,而不是一个线性的区间。每个区间的增长系数(函数)不一样。

通过这个图表可以直观的看到当前达成具体落在了哪一个支付区间。

在这个报告中,首先通过一个堆积条形图,可以看到支付区间的分布,然后通过一个竖线标记当前达成属于哪一个区间。

其次通过达成率和支付系数的折线图,可以看到当前达成率在具体的哪一个区间分布。

从零开始实现简易版Netty(七) MyNetty 实现Normal规格的池化内存分配

thbcm阅读(408)

在上一篇博客中我们提到,Netty的ByteBuf容器相比jdk的ByteBuffer的最大的一个优势就是实现了池化功能。通过对ByteBuf容器的池化,大幅提高了需要大量创建并回收ByteBuf容器的场景下的性能。

在Netty中对于ByteBuf的池化分为两部分,一个是
ByteBuf对象本身的池化,另一个则是
对ByteBuf背后底层数组所使用内存的池化

对于ByteBuf对象的池化,Netty中实现了一个简单的对象池(Recycler类)以支持并发的对象创建与回收,相对简单。而对ByteBuf底层数组使用内存的池化设计则很大程度上参考了jemalloc这一适用于多处理器操作系统内核的内存分配器。

关于jemalloc的工作原理,官方有两篇经典论文,分别是写于2006年的
A Scalable Concurrent malloc(3) Implementation for FreeBSD与2011年的
scalable-memory-allocation-using-jemalloc

其中2011年的论文中提到,相比起2006年最初版本的jemalloc,新版本的jemalloc做了进一步的优化,大幅提升了jemalloc的性能与易用性。强烈建议读者在开始着手研究Netty池化内存的工作原理细节之前,先阅读这两篇高屋建瓴的关于jemalloc的论文。掌握了核心的设计理念后,再去看细节能起到事半功倍的作用。

在后续介绍Netty的实现细节时,我也会结合这两篇论文中的内容来进行讲解,个人认为背后的设计理念与实现的细节同样重要,应该争取做到知其然而知其所以然。

【URP】Unity超分辨率优化实践

thbcm阅读(374)

动态分辨率的核心是给画面加个”弹性开关”,根据设备性能自动调整渲染分辨率,在GPU负载高时降低分辨率以保持帧率稳定。URP通过缩小渲染目标(如颜色缓冲、深度缓冲)的分辨率减少GPU计算量,最后再将画面放大到屏幕分辨率

联系我们