arXivLabs 是一个允许合作者直接在我们的网站上开发并分享 arXiv 新功能的框架。与 arXivLabs 合作的个人和组织都认同并接受我们对开放、社区、卓越和用户数据隐私的重视。arXiv 致力于秉持这些价值观,且仅与遵守这些价值观的合作伙伴开展合作。您是否有能为 arXiv 社区增值的项目构想?了解更多关于 arXivLabs 的信息。
arXivLabs 是一个允许合作者直接在我们的网站上开发并分享 arXiv 新功能的框架。与 arXivLabs 合作的个人和组织都认同并接受我们对开放、社区、卓越和用户数据隐私的重视。arXiv 致力于秉持这些价值观,且仅与遵守这些价值观的合作伙伴开展合作。您是否有能为 arXiv 社区增值的项目构想?了解更多关于 arXivLabs 的信息。
请启用 JavaScript 和 Cookie 以继续。
与大众认知相反,现有证据表明人工智能不会导致软件工程领域的大规模失业。尽管首席执行官们常以人工智能为由进行裁员,但数据表明,这些决定通常是出于财务压力,而非技术替代。 作者提出了知识工作的“决策-执行-交付”模型,以解释人工智能为何无法取代工程师。人工智能有效地自动化了“执行”层(编写代码),但“决策”(问题定义)和“交付”(责任归属与验证)层依然以人为核心,且难以实现自动化。从历史上看,编码从未成为软件开发的瓶颈;相反,深度的专业判断和系统性理解的需求依然存在。 此外,软件需求具有高度弹性。随着人工智能降低了软件开发成本,生产规模会随之扩大,从而对能够管理和监督这些系统的熟练工程师产生“派生需求”。尽管行业结构性变革可能导致个人职业生涯出现动荡,但软件工程的总需求很可能会保持强劲。归根结底,人工智能的成功整合依赖于“代理式工程”(以人为核心的监督),而非“随性编程”,这进一步强调了在日益自动化的环境中,人类专业知识依然不可或缺。
面对 OSL 等现有解决方案的复杂性,以及对 Apple Silicon 的支持需求,一位图形程序员花费四个月时间,为其基于 CPU 的渲染器 SORT 构建了一种自定义着色语言——**微型着色语言 (TSL)**。
TSL 旨在成为 OSL 的轻量级、灵活替代方案。通过利用 **Flex** 和 **Bison** 进行解析,并使用 **LLVM** 进行即时编译(JIT),作者创建了一个能将类 C 的高级着色代码编译为 CPU 执行机器码的系统。
其核心设计选择包括:
* **闭包树 (Closure Trees):** 与 OSL 类似,TSL 通过生成“闭包树”将复杂的 BSDF 计算推迟到渲染器端,从而避免了着色器执行繁重的数学运算。
* **着色单元/组模板 (Shader Unit/Group Templates):** TSL 允许开发者构建模块化的着色图,其中着色单元可以嵌套在着色组中,从而实现高复用性并简化资产创作。
* **效率:** 通过规避 OSL 沉重的依赖项(如 OpenImageIO),TSL 保持了轻量化并具备良好的跨架构可移植性。
尽管 TSL 的健壮性尚不及行业标准替代方案,但它已成功作为一种高性能、模块化的系统,服务于自定义渲染工作流。
本文探讨了游戏主机上网页浏览器的发展历程,追溯了从 20 世纪 90 年代至今的演变。最初,飞利浦 CD-i、世嘉土星(Sega Saturn)和 Dreamcast 等主机内置了简易的浏览器,为非专业用户提供了一种经济实惠的互联网接入方式。
21 世纪头十年,随着主机硬件的升级,浏览器的功能也随之扩展。PlayStation 3、Wii 和 PSP 等系统提供了日益完善的体验,包括多标签页浏览、对 Flash 和 HTML5 的支持,甚至还有专为电视使用而设计的独特界面。然而,这些浏览器往往也成为了安全漏洞的切入点,使用户能够运行自制固件。
近年来,主机对通用网页浏览器的需求已大幅减少。随着智能手机和经济型流媒体设备的普及,人们可以随时随地接入互联网。因此,PlayStation 5 和 Nintendo Switch 等现当代主机已不再提供功能完备、面向用户的浏览器,而是将网页引擎主要用于后台任务(如电子商店的导航)。归根结底,虽然早期的主机浏览器为人们了解新兴的万维网提供了一个至关重要却有限的窗口,但在互联网已与日常生活密不可分的今天,它们不再被视为必要的功能。
macOS 27 “Golden Gate” 标志着设计理念的回归,移除了 macOS 26 “Tahoe” 中引入的那些充满争议、令人分心且不统一的菜单栏图标。这些图标因晦涩难懂且实现效果糟糕,曾广受开发者和用户的诟病,如今已正式被弃用。
苹果公司已更新了其人机交互指南 (HIG) 以反映这一转变,建议开发者审慎使用图标,仅在能提供明确、实用功能时才进行展示。这一逆转被誉为 Mac 设计的一大胜利。通过放弃“图标遍地”的做法,苹果似乎正在纠正此前一段时期内备受质疑的 UI 决策,这预示着其软件设计团队理念的积极转变。对许多人而言,这一修正是一个令人欣慰的信号,表明苹果正在摆脱此前版本操作系统中那种“美学高于功能”的思维模式。
这份摘要总结了对 Linux 桌面延迟的研究,特别是针对 Linux 相比 Windows 在鼠标移动时感到的“漂浮感”。 **调查过程** 作者使用自制的 Teensy 微控制器(LDAT)来测量从点击到画面响应的延迟,并在运行 NixOS 的高端硬件上与 Windows 11 进行了对比测试。结果显示,Linux 的延迟问题往往源于软件栈的排队和合成器效率低下,而非硬件瓶颈。 **主要发现** * **系统延迟:** 研究发现一个显著的“延迟断崖”,其原因是 KWin 合成器的策略过于保守。后台应用(如 Zed 编辑器)占用了 KWin 资源,导致其错过了前台应用的页面翻转窗口。 * **KWin 优化:** 通过将毫秒级取整的计时器替换为 `timerfd`,减少安全冗余,并移除 2 毫秒的固定性能下限,作者显著降低了从输入到显示的延迟。 * **建议:** 为获得最佳的 Linux 游戏体验,作者建议: * 使用 `wine_wayland` 并设置 `VKD3D_SWAPCHAIN_LATENCY_FRAMES=1`。 * 在帧率不稳定时启用 VRR(可变刷新率)。 * 优先使用“后期”帧率限制而非垂直同步(V-Sync),以避免帧排队。 虽然这些补丁缩小了性能差距,但作者计划将这些改进提交到上游代码库,以确保所有 Linux 用户都能获得长期的稳定性和帧率平滑度。
本摘要重点介绍了近期针对 AI 编程工具 Conductor 进行性能重构的技术历程。
**理念:自我使用(Dogfooding)**
Conductor 团队推崇“自我使用”理念,即使用自家的产品来构建产品。这种持续的使用将抽象的需求清单转化为切身的痛点,从而推动了旨在消除使用阻碍的高频开发周期。
**架构与技术栈**
Conductor 是一款以本地优先的应用,使用 **SQLite** 作为数据源,确保 UI 不会受网络延迟影响。通过选择 **Tauri** 而非 Electron,他们利用 macOS 原生 WebKit 实现了更小的安装包和更快的冷启动速度。此外,他们还将后端从 Node 迁移至 **Bun**,以降低内存开销并提升 Agent 的启动速度。
**解决性能瓶颈**
* **性能分析:** 由于无法在原生 WebView 中使用 React DevTools,团队通过“垫片(shim)”技术使应用在 Chrome 中运行,从而进行深度性能分析。
* **渲染优化:** 他们迁移至 `@tanstack/react-router`,通过稳定的引用消除了级联重渲染问题。
* **聊天功能:** 他们使用 `react-virtuoso` 对长对话列表进行虚拟化处理,并利用记忆化(memoization)确保仅活跃的 Token 会触发 UI 更新。
* **延迟优化:** 他们将 Git 检查点等繁重任务移出关键路径,以确保 Agent 能实现即时响应。
Macaroni Messenger 是一个分布式的、“氛围感代码”(vibecoded)消息系统,全部包含在单个 HTML 文件中。它用 Git 取代了传统的后端基础设施,将存储库视为数据库,并将提交历史记录视为消息存储区。
**工作原理:**
* **前端:** 一个可在现代浏览器(推荐 Chrome/Edge)中运行的独立 HTML 文件。
* **后端:** 无。它通过 GitHub API 使用 Git 进行同步、存储和消息传递。
* **存储:** 消息以结构化 JSON 文件的形式存储在存储库的 `.macaroni/` 目录下。
**主要特性:**
* **无需注册:** 使用硬编码的演示存储库,或使用个人访问令牌(PAT)连接您自己的 GitHub 存储库。
* **简洁:** 避免了现代企业级的臃肿——没有微服务、没有数据库,也没有复杂的基础设施。
* **可扩展性:** 设计上扩展性较差;如果存储库变得过大,只需新建一个即可。
* **隐私:** 不具备隐私保护。数据的可见性取决于存储库的权限设置。
Macaroni Messenger 是一个功能性极简实验,它提出了一个问题:“发送一条消息所需的最低技术要求是什么?”它将 Git 转变为一种通用的、人类可读的通信协议。