- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 用 dotTrace 进行性能分析时,各种不同性能分析选项的含义和用途
对 .NET 程序进行性能分析,dotTrace 能应对绝大多数的场景。在开启一个进程进行性能分析之前,我们会看到一些性能分析选项(Profiler Options)。本文将介绍这几个选项的含义,并用实际的例子来说明其用途。本文内容dotTrace 的性能分析选项Sampling 采样Tracing 追踪Line-by-line 逐行Timeline 时间线参考资料dotTrace 的性能分...
2018-11-28 16:06:00 2891
原创 使用 Windows 10 中的加速度计(Accelerometer,重力传感器)
在做 UWP 应用开发的时候还有什么理由可以用到加速度计呢?场景很多啦,比如做游戏,做类似 Surface Hub 那种一边旋转,一边所有内容跟着一起转的效果。Windows 10 UWP 中的加速度计使用非常简单,只需要简单几句代码即可。本文内容重力迷宫游戏初始化 Accelerometer得到 Accelerometer 的读数将 Accelerometer 的读数转化成倾斜角度参考资料...
2018-11-28 15:54:03 2190
原创 Win2D 中的游戏循环:CanvasAnimatedControl
Win2D 是 DirectX 的一个高层封装,提供了极大 DirectX 性能的同时,又具有很好用的 API 设计。用 Win2D 除了能做出高性能的视觉效果之外,还可以轻而易举地搭建一个游戏循环出来。使用 Win2D 的游戏循环,你可以直接做出一个简单的游戏出来。本文内容使用 Win2D 做出来的游戏准备工作Win2D 中的画布控件CanvasAnimatedControlCanvasA...
2018-11-28 15:51:26 577
原创 使用 Win2D 绘制带图片纹理的圆(或椭圆)
使用 Win2D 绘制图片和绘制椭圆都非常容易,可是如何使用 Win2D 绘制图片纹理的椭圆呢?本文内容重力迷宫小球Win2D 实现关于 CanvasCommandList重力迷宫小球▲ 重力迷宫你可以看到这个小球就像一个透明塑料小球一样,纹理会跟随背景而动。这显然不是 Win2D 中的游戏循环:CanvasAnimatedControl 一文中我用 DrawEllipse 画的那个灰...
2018-11-28 15:49:27 473
原创 编写 Target 检测 MSBuild / dotnet build 此次编译是否是差量编译
MSBuild 或 Roslyn 编译项目时均支持差量编译,毕竟为了性能。我在 每次都要重新编译?太慢!让跨平台的 MSBuild/dotnet build 的 Target 支持差量编译 一文中介绍了如何使一个 Target 支持差量编译。在那篇文章中我说到差量编译会导致 Target 不执行;也就是说,如果一个 Target 对后续的编译会产生影响,那么一定不能设置为差量编译。不过,真的会写...
2018-11-28 15:47:24 490
原创 .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
我们有很多种方法评估一个方法的执行耗时,比如使用性能分析工具,使用基准性能测试。不过传统的在代码中编写计时的方式依然有效,因为它可以生产环境或用户端得到真实环境下的执行耗时。如果你希望在 .NET/C# 代码中编写计时,那么阅读本文可以获得一些建议。阅读本文也可以了解到 QueryPerformanceCounter、GetSystemTimeAsFileTime 等方法的差异。本...
2018-11-28 15:45:50 1932
原创 WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit)
Windows Community Toolkit 再次更新到 5.0。以前可以在 WPF 中使用有限的 UWP 控件,而现在有了 WindowsXamlHost,则可以使用更多 UWP 原生控件了。关于 Windows Community Toolkit 早期版本的 Xaml Bridge,可以参见:WPF 使用 Edge 浏览器 - 林德熙本文内容安装 NuGet 包配置 WPF ...
2018-11-28 15:45:10 2322
原创 WindowsXamlHost:在 WPF 中使用 UWP 控件库中的控件
在 WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit) 一文中,我们说到了在 WPF 中引入简单的 UWP 控件以及相关的注意事项。不过,通常更有实际价值的是更复杂的 UWP 控件的引入,通常是一整个 Page。本文将介绍如何在 WPF 项目中引用 UWP 的控件库。本文内容创建一个 UWP 控件库对 WPF 项目的准备工...
2018-11-28 15:37:17 855
原创 .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
不知你是否见过 try { } finally { } 代码中,try 块留空,而只往 finally 中写代码的情况呢?这种写法有其特殊的目的。本文就来说说这种不一样的写法。本文内容空的 try 块受约束的执行区域(Constrained Execution Regions)参考资料空的 try 块你可以点开这个链接查看 Exception 类,在里面你可以看到一段异常处理的代码非常奇...
2018-11-28 15:32:30 625
原创 .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
大家都说反射耗性能,但是到底有多耗性能,哪些反射方法更耗性能;这些问题却没有统一的描述。本文将用数据说明反射各个方法和替代方法的性能差异,并提供一些反射代码的编写建议。为了解决反射的性能问题,你可以遵循本文采用的各种方案。本文内容反射各方法的性能数据反射的高性能开发建议创建类型的实例反射获取 Attribute反射调用公共 / 私有方法使用预编译框架附本文性能测试所用的代码所有反射相关方法I...
2018-11-05 10:33:46 2520 6
UWP 程序所需的最少 Logo 资源
2018-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人