astro-notion-blog
C++ Throttle 的一个简单的实现
说到 Throttle,在网页前端中运用得较多,比如页面滚动、即时搜索的输入事件,这类事件触发非常频繁,如果每次都进行业务操作,消耗会非常大。这时采用 Throttle 进行限流,当函数执行后一段时间内不重复执行,俗称冷却。
std::async 为什么阻塞
在桌面开发中,有时希望能减少某些 IO 操作对界面造成的影响,此前常用的办法是创建一个线程。这种方式创建了一个立即执行的分离线程,无需等待执行结束。 在 C++ 11 标准中提供了 std::async, 对多线程异步操作进行了封装,简化了调用过程。
WS_POPUP 最大化如何不遮挡任务栏
在桌面开发时,我们有时会创建样式为 WS_POPUP 的窗口,然后自绘标题栏。当窗口最大化时,会覆盖整个屏幕,盖住了任务栏,这通常不是我们想要的效果。
修改 symbol 文件 signature
当开发 Windows 桌面应用程序时,我们时常需要对程序的崩溃信息进行分析,Windows 提供了 minidump 机制能将程序崩溃状态保存下来进行分析,前提是需要结合对应版本的 pdb 和 exe 文件。
当 FFmpeg 遇见 Imgui
Dear Imgui 是一个立即模式的 C++ GUI lLibrary,与其他 GUI 框架不同,它将渲染与框架逻辑分离,用户可以根据自己的需要选择渲染方式,官方支持如下
FFmpeg 使用 Dxva2 硬件加速以及渲染的一种方法
使用 FFmpeg 播放高分辨率视频时,画面渲染效率是影响性能的主要原因,好在 FFmpeg 提供了各种硬件解码 / 加速的方案,可以极大的降低系统负载。
用 Cesium JS 加载建筑 3dTiles
随着现代浏览器的普及,在 WebGIS 应用中,越来越多的场合需要对城市建筑模型进行展示,目前较流行的解决方案有: 1. Cesium 的 3DTiles 2. Mapbox-gl 的 vector source 根据 height 拉伸 3. ArcGIS 本文讨论 Cesium 的 3DTiles,什么是 3DTiles https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification
