Site cover image

Site icon imageastro-notion-blog

Description is here. The icon, the title, the description can be modified in Notion.
C++

在 WinMain 中获取 argv, argc

在 Windows 桌面程序开发中,获取 int argc, char const *argv[] 的方法

C++ directory_iterator 异常处理

C++`fs::directory_iterator` 异常的处理方法

C++ Throttle 的一个简单的实现

说到 Throttle,在网页前端中运用得较多,比如页面滚动、即时搜索的输入事件,这类事件触发非常频繁,如果每次都进行业务操作,消耗会非常大。这时采用 Throttle 进行限流,当函数执行后一段时间内不重复执行,俗称冷却。

std::async 为什么阻塞

在桌面开发中,有时希望能减少某些 IO 操作对界面造成的影响,此前常用的办法是创建一个线程。这种方式创建了一个立即执行的分离线程,无需等待执行结束。 在 C++ 11 标准中提供了 std::async, 对多线程异步操作进行了封装,简化了调用过程。

WS_POPUP 最大化如何不遮挡任务栏

在桌面开发时,我们有时会创建样式为 WS_POPUP 的窗口,然后自绘标题栏。当窗口最大化时,会覆盖整个屏幕,盖住了任务栏,这通常不是我们想要的效果。

如何设置 pyQT5 程序图标

为了自定义 pyQT5 项目图标, 有三处需要替换,分别为: • 窗口图标 • 任务栏图标 • 应用程序图标 下面分别进行介绍。

修改 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