<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Lrdcq]]></title> 
<link>https://lrdcq.com/me/index.php</link> 
<description><![CDATA[驴肉の空间]]></description> 
<language>zh-tw</language> 
<copyright><![CDATA[Lrdcq]]></copyright>
<item>
<link>https://lrdcq.com/me/read.php/168.htm</link>
<title><![CDATA[离线即自由：在26年开年搭建一座能跑全模态模型的家庭AI末日堡垒 - Part.2 本地CUA]]></title> 
<author>Lrdcq &lt;lrdcq@lrdcq.com&gt;</author>
<category><![CDATA[程序]]></category>
<pubDate>Fri, 20 Mar 2026 13:05:49 +0000</pubDate> 
<guid>https://lrdcq.com/me/read.php/168.htm</guid> 
<description>
<![CDATA[ 
	<span style="font-size: 24px;">Part.2讲啥</span><br/><br/>在Part.1中，我们成功点亮了家庭的“AI灯塔”。通过NVIDIA DGX Spark、llama.cpp和ComfyUI，我们让Qwen、Wan2.2等一系列强大的开源模型，安静地运行在自己的硬件之上。再用OpenWebUI这一层友好的“皮肤”包裹，我们得到了一个完全离线的、功能不输云端服务的“家庭豆包”。它可以聊天、识图、作画、剪辑视频，似乎已经足够美好。<br/><br/>然而，基础搭建完成，很快就会意识到，OpenWebUI只能说是用户友好的“离线豆包”，但“豆包”从来不是生产力工具。 真正的生产力，不在于有一个能对话的窗口，而在于如何让AI深度嵌入我们的工作流，成为撬动复杂任务的杠杆。<br/><br/>............<br/><br/>Tags - <a href="https://lrdcq.com/me/go.php/tags/openclaw/" rel="tag">openclaw</a> , <a href="https://lrdcq.com/me/go.php/tags/ai/" rel="tag">ai</a> , <a href="https://lrdcq.com/me/go.php/tags/aigc/" rel="tag">aigc</a> , <a href="https://lrdcq.com/me/go.php/tags/llm/" rel="tag">llm</a> , <a href="https://lrdcq.com/me/go.php/tags/dgx/" rel="tag">dgx</a> , <a href="https://lrdcq.com/me/go.php/tags/spark/" rel="tag">spark</a> , <a href="https://lrdcq.com/me/go.php/tags/qwen35/" rel="tag">qwen35</a> , <a href="https://lrdcq.com/me/go.php/tags/agent/" rel="tag">agent</a> , <a href="https://lrdcq.com/me/go.php/tags/claude/" rel="tag">claude</a>
]]>
</description>
</item><item>
<link>https://lrdcq.com/me/read.php/167.htm</link>
<title><![CDATA[离线即自由：在26年开年搭建一座能跑全模态模型的家庭AI末日堡垒 - Part.1 基础AI搭建]]></title> 
<author>Lrdcq &lt;lrdcq@lrdcq.com&gt;</author>
<category><![CDATA[程序]]></category>
<pubDate>Tue, 10 Mar 2026 18:37:03 +0000</pubDate> 
<guid>https://lrdcq.com/me/read.php/167.htm</guid> 
<description>
<![CDATA[ 
	<span style="font-size: 24px;">为什么要这么做</span><br/><br/>2026年的开年，生龙活虎的AI生态依然泾渭分明。一边是云端算力持续通胀，API调用需要排队、限流，热门模型动不动显示“繁忙”；另一边，开源社区的进展悄然越过了某个临界点——那些一年前还需要大型工作站才能运行的实用型模型，如今已经可以完整地运行在家庭级别的硬件上。这种变化带来一个朴素的问题：当你的每一次对话、每一张生成图片、每一段视频创作，都必须经过云端服务器时，我们到底在使用AI，还是在被AI背后的服务商定义？<br/><br/>正巧<strong>qwen3.5模型在春节推出</strong>，qwen3.5 35B模型的混合专家模型的知识广度已经不输deepseek在线服务，而qwen3.5 27B稠密模型的IQ已经超过deepseek3.2满血版。以数十B的家庭部署容量挑战百B级别在线服务，离线部署的意义正在于此。<br/><br/>............<br/><br/>Tags - <a href="https://lrdcq.com/me/go.php/tags/openclaw/" rel="tag">openclaw</a> , <a href="https://lrdcq.com/me/go.php/tags/ai/" rel="tag">ai</a> , <a href="https://lrdcq.com/me/go.php/tags/aigc/" rel="tag">aigc</a> , <a href="https://lrdcq.com/me/go.php/tags/llm/" rel="tag">llm</a> , <a href="https://lrdcq.com/me/go.php/tags/dgx/" rel="tag">dgx</a> , <a href="https://lrdcq.com/me/go.php/tags/spark/" rel="tag">spark</a> , <a href="https://lrdcq.com/me/go.php/tags/qwen35/" rel="tag">qwen35</a>
]]>
</description>
</item><item>
<link>https://lrdcq.com/me/read.php/166.htm</link>
<title><![CDATA[Liquid Glass（液态玻璃效果）实现原理续：在Android中实现液态玻璃效果GlassView]]></title> 
<author>Lrdcq &lt;lrdcq@lrdcq.com&gt;</author>
<category><![CDATA[程序]]></category>
<pubDate>Fri, 11 Jul 2025 18:33:25 +0000</pubDate> 
<guid>https://lrdcq.com/me/read.php/166.htm</guid> 
<description>
<![CDATA[ 
	书接上回<a href="https://lrdcq.com/me/read.php/165.htm" target="_blank">https://lrdcq.com/me/read.php/165.htm</a>，我们探索了iOS26中液态玻璃的实现，同时在末尾留了一个尾巴，说：<br/><br/>- 统一渲染的操作系统，除非操作系统的renderserver支持，应该无法在性能可以接受的情况下重现这个流程的。因此旧版本iOS系统与鸿蒙系统扑街。对应，Android系统利用runtimeEffect，可以至少从流程上完整重现这个过程。<br/><br/>因此我们来整理一下在Android中实现液态玻璃效果需要经历哪些流程。<br/>目前的效果如下，同时相关Demo完整代码附本文末尾：<br/><br/>............<br/><br/>Tags - <a href="https://lrdcq.com/me/go.php/tags/uiglasseffect/" rel="tag">uiglasseffect</a> , <a href="https://lrdcq.com/me/go.php/tags/%25E6%25B6%25B2%25E6%2580%2581%25E7%258E%25BB%25E7%2592%2583/" rel="tag">液态玻璃</a> , <a href="https://lrdcq.com/me/go.php/tags/ios26/" rel="tag">ios26</a> , <a href="https://lrdcq.com/me/go.php/tags/wwdc26/" rel="tag">wwdc26</a> , <a href="https://lrdcq.com/me/go.php/tags/liquid/" rel="tag">liquid</a> , <a href="https://lrdcq.com/me/go.php/tags/glass/" rel="tag">glass</a> , <a href="https://lrdcq.com/me/go.php/tags/android/" rel="tag">android</a> , <a href="https://lrdcq.com/me/go.php/tags/rendereffect/" rel="tag">rendereffect</a> , <a href="https://lrdcq.com/me/go.php/tags/runtimeshader/" rel="tag">runtimeshader</a>
]]>
</description>
</item><item>
<link>https://lrdcq.com/me/read.php/165.htm</link>
<title><![CDATA[从0逆向探索iOS26 Liquid Glass（液态玻璃效果）实现原理]]></title> 
<author>Lrdcq &lt;lrdcq@lrdcq.com&gt;</author>
<category><![CDATA[程序]]></category>
<pubDate>Fri, 20 Jun 2025 20:45:16 +0000</pubDate> 
<guid>https://lrdcq.com/me/read.php/165.htm</guid> 
<description>
<![CDATA[ 
	每次有新的GUI框架推出了一个新的GUI效果，当然要逆向<strong>探索一下这个效果的实现原理</strong>，来明确：<br/><br/>1. 这个效果的整体实现流程，性能消耗，与优化路径与空间。<br/>2. 这个效果在其他操作系统上/旧版本操作系统上是否可以对等或者降级的重现。<br/><br/>iOS26的Liquid Glass效果（液态玻璃效果）确实令人纠结，上手后大家都觉得又酷炫又卡，有些人觉得是GUI效果的全新上限，有些人觉得是纯粹的吃力不讨好的花活。抛开主观判断，这个效果确实值得对以上两个问题做判断。<br/>当然作为成熟的iOS GUI开发者，了解苹果的尿性，虽然苹果是纯闭源的，看到这个效果和暴露的API之后就已经会有一些大致的判断了：<br/><br/>............<br/><br/>Tags - <a href="https://lrdcq.com/me/go.php/tags/uiglasseffect/" rel="tag">uiglasseffect</a> , <a href="https://lrdcq.com/me/go.php/tags/%25E6%25B6%25B2%25E6%2580%2581%25E7%258E%25BB%25E7%2592%2583/" rel="tag">液态玻璃</a> , <a href="https://lrdcq.com/me/go.php/tags/ios26/" rel="tag">ios26</a> , <a href="https://lrdcq.com/me/go.php/tags/wwdc26/" rel="tag">wwdc26</a> , <a href="https://lrdcq.com/me/go.php/tags/liquid/" rel="tag">liquid</a> , <a href="https://lrdcq.com/me/go.php/tags/glass/" rel="tag">glass</a>
]]>
</description>
</item><item>
<link>https://lrdcq.com/me/read.php/164.htm</link>
<title><![CDATA[从iOS到鸿蒙看统一渲染演进]]></title> 
<author>Lrdcq &lt;lrdcq@lrdcq.com&gt;</author>
<category><![CDATA[程序]]></category>
<pubDate>Thu, 15 May 2025 16:14:06 +0000</pubDate> 
<guid>https://lrdcq.com/me/read.php/164.htm</guid> 
<description>
<![CDATA[ 
	<span style="font-size: 24px;">先看一下Android和iOS的GUI渲染流程</span><br/><br/>现代Android的GUI绘制流程，排除软件渲染（无硬件加速）的理想的普通GUI渲染流程如下：<br/><img data-imageviewer src="attachment.php?fid=354" class="insertimage" alt="點擊在新視窗中瀏覽此圖片" title="點擊在新視窗中瀏覽此圖片" border="0" onload="if(this.width>680) {this.resized=true; this.width=680;}"/><br/><br/>1. 一个Android的View，会通过draw()调用到一系列属性与绘制方法（Canvas API），来完成一个View的绘制。<br/><br/>2. 但是实际上调用draw()方法，并不会立刻绘制，而是在执行完成之后，对当前ViewTree得到对应的RenderNode Tree，而Canvas调用转换为了绘制命令列表DrawCmd也被称为DisplayList。这些数据会发送到RenderThread中。<br/>............<br/><br/>Tags - <a href="https://lrdcq.com/me/go.php/tags/ios/" rel="tag">ios</a> , <a href="https://lrdcq.com/me/go.php/tags/%25E9%25B8%25BF%25E8%2592%2599/" rel="tag">鸿蒙</a> , <a href="https://lrdcq.com/me/go.php/tags/harmonyos/" rel="tag">harmonyos</a> , <a href="https://lrdcq.com/me/go.php/tags/harmony/" rel="tag">harmony</a> , <a href="https://lrdcq.com/me/go.php/tags/%25E7%25BB%259F%25E4%25B8%2580%25E6%25B8%25B2%25E6%259F%2593/" rel="tag">统一渲染</a> , <a href="https://lrdcq.com/me/go.php/tags/gui/" rel="tag">gui</a>
]]>
</description>
</item><item>
<link>https://lrdcq.com/me/read.php/163.htm</link>
<title><![CDATA[基于OC符号动态绑定的iOS动态库懒加载实践]]></title> 
<author>Lrdcq &lt;lrdcq@lrdcq.com&gt;</author>
<category><![CDATA[程序]]></category>
<pubDate>Tue, 26 Dec 2023 18:24:04 +0000</pubDate> 
<guid>https://lrdcq.com/me/read.php/163.htm</guid> 
<description>
<![CDATA[ 
	<span style="font-size: 24px;">背景</span><br/><br/>我们知道iOS项目产物中是可以加入开发者的动态库（framework）的，如我们工程中使用的UnityFramework.framework。<br/>正常情况下，在工程中link的动态库是程序启动时就会加载的（通过macho的LC_LOAD_DYLIB指令），会加载起包括用户加入的动态库和所有系统库。不过如果我们将framework构建完成并签名，不参与link而是直接放入资源中，这个动态库就会像资源一样正常的放在那里，程序中则可以通过dlopen或者CFBundleLoadExecutable将动态库手动加载起来，实现部分代码的用时加载，即iOS的<strong>动态库懒加载</strong>。<br/><img data-imageviewer src="attachment.php?fid=342" class="insertimage" alt="點擊在新視窗中瀏覽此圖片" title="點擊在新視窗中瀏覽此圖片" border="0" onload="if(this.width>680) {this.resized=true; this.width=680;}"/> <br/>............<br/><br/>Tags - <a href="https://lrdcq.com/me/go.php/tags/ios/" rel="tag">ios</a> , <a href="https://lrdcq.com/me/go.php/tags/objective-c/" rel="tag">objective-c</a>
]]>
</description>
</item><item>
<link>https://lrdcq.com/me/read.php/162.htm</link>
<title><![CDATA[iOS Lottie的imageWithContentsOfFile卡顿解决方案]]></title> 
<author>Lrdcq &lt;lrdcq@lrdcq.com&gt;</author>
<category><![CDATA[程序]]></category>
<pubDate>Wed, 23 Mar 2022 03:02:03 +0000</pubDate> 
<guid>https://lrdcq.com/me/read.php/162.htm</guid> 
<description>
<![CDATA[ 
	大量使用lottie的iOS应用会注意到，线上会存在大量的imageWithContentsOfFile卡顿。lottie使用imageWithContentsOfFile的地方很显然，即LOTLayerContainer的_setImageForAsset方法。这个方法在做啥？即如果当前layer是位图layer，从磁盘或者别的地方加载位图。而这里的卡顿，很显然：<br/><br/>1. 每个lottie从文件加载时，都会在此处从磁盘imageWithContentsOfFile加载图片，在<strong>主线程IO卡顿和图片解码产生卡顿</strong>风险。<br/>2. 因为lottieView每次创建都是从文件创建的，即lottie资源本身没有实例机制，因此<strong>每一个重复的lottie创建都会重复imageWithContentsOfFile过程</strong>，加剧卡顿。<br/><br/>............<br/><br/>Tags - <a href="https://lrdcq.com/me/go.php/tags/ios/" rel="tag">ios</a> , <a href="https://lrdcq.com/me/go.php/tags/lottie/" rel="tag">lottie</a> , <a href="https://lrdcq.com/me/go.php/tags/%25E5%258D%25A1%25E9%25A1%25BF/" rel="tag">卡顿</a>
]]>
</description>
</item><item>
<link>https://lrdcq.com/me/read.php/161.htm</link>
<title><![CDATA[XCode构建过程中pngcrush的逆优化与如何修复]]></title> 
<author>Lrdcq &lt;lrdcq@lrdcq.com&gt;</author>
<category><![CDATA[程序]]></category>
<pubDate>Mon, 31 Jan 2022 16:54:06 +0000</pubDate> 
<guid>https://lrdcq.com/me/read.php/161.htm</guid> 
<description>
<![CDATA[ 
	在上次讨论<a href="https://lrdcq.com/me/read.php/158.htm" target="_blank">iDOT多线程png</a>时，搜索到另一个领域的文章：<a href="https://cloud.tencent.com/developer/article/1368027" target="_blank">iOS减包实战Compress PNG Files作用分析</a>。其中提到了XCode构建过程中<strong>pngcrush的压缩过程会对png文件逆优化</strong>，就包括将png更新为iDOT格式（上文还不清楚iDOT的含义）。该文章建议的修复方案是修改资源属性，让构建过程对png不做处理，但是显然pngcrush对png渲染肯定有正向收益的，本文的目的即分析pngcrush的逆优化的实际缺陷与修复方案。（结合上文阅读）<br/><br/>............<br/><br/>Tags - <a href="https://lrdcq.com/me/go.php/tags/ios/" rel="tag">ios</a> , <a href="https://lrdcq.com/me/go.php/tags/pngcrush/" rel="tag">pngcrush</a> , <a href="https://lrdcq.com/me/go.php/tags/png/" rel="tag">png</a>
]]>
</description>
</item><item>
<link>https://lrdcq.com/me/read.php/160.htm</link>
<title><![CDATA[小议：块协议驱动GUI开发（Block Protocol）]]></title> 
<author>Lrdcq &lt;lrdcq@lrdcq.com&gt;</author>
<category><![CDATA[程序]]></category>
<pubDate>Sun, 30 Jan 2022 17:02:03 +0000</pubDate> 
<guid>https://lrdcq.com/me/read.php/160.htm</guid> 
<description>
<![CDATA[ 
	最近有老外建立了一个新的项目，Block Protocol（<a href="https://blockprotocol.org" target="_blank">https://blockprotocol.org</a>），暂时简称“块协议”，目前还处于非常前期的阶段。它提出了一种思路与面向Web GUI的方案，通过块协议标准化的GUI块搭建应用与数据驱动逻辑，来构成人类与机器均友好的GUI应用。<br/><br/>听起来和一般我们所说的组件式或者模块式开发并没有什么不同，但是从块协议本身的视角，协议比实现更有价值，因此小议下blockprotocol的零零碎碎。<br/><br/>............<br/><br/>Tags - <a href="https://lrdcq.com/me/go.php/tags/block/" rel="tag">block</a> , <a href="https://lrdcq.com/me/go.php/tags/protocol/" rel="tag">protocol</a> , <a href="https://lrdcq.com/me/go.php/tags/blockprotocol/" rel="tag">blockprotocol</a> , <a href="https://lrdcq.com/me/go.php/tags/%25E5%259D%2597%25E5%258D%258F%25E8%25AE%25AE/" rel="tag">块协议</a>
]]>
</description>
</item><item>
<link>https://lrdcq.com/me/read.php/159.htm</link>
<title><![CDATA[【视频版】iDOT：iOS/OSX的PNG多线程解码提速格式（About Precise Format of iDOT Chunk）]]></title> 
<author>Lrdcq &lt;lrdcq@lrdcq.com&gt;</author>
<category><![CDATA[程序]]></category>
<pubDate>Thu, 20 Jan 2022 05:51:20 +0000</pubDate> 
<guid>https://lrdcq.com/me/read.php/159.htm</guid> 
<description>
<![CDATA[ 
	<iframe src=https://player.bilibili.com/player.html?bvid=BV1Tr4y1e76N&page=1 scrolling=no border=0 frameborder=no framespacing=0 allowfullscreen=true width=100% height=500px></iframe><br/>前一篇博客<a href="https://lrdcq.com/me/read.php/158.htm" target="_blank">iDOT：iOS/OSX的PNG多线程解码提速格式（About Precise Format of iDOT Chunk）</a>的视频版本<br/><br/>............<br/><br/>Tags - <a href="https://lrdcq.com/me/go.php/tags/ios/" rel="tag">ios</a> , <a href="https://lrdcq.com/me/go.php/tags/png/" rel="tag">png</a> , <a href="https://lrdcq.com/me/go.php/tags/idot/" rel="tag">idot</a> , <a href="https://lrdcq.com/me/go.php/tags/%25E5%25A4%259A%25E7%25BA%25BF%25E7%25A8%258B/" rel="tag">多线程</a> , <a href="https://lrdcq.com/me/go.php/tags/%25E8%25A7%25A3%25E7%25A0%2581/" rel="tag">解码</a>
]]>
</description>
</item>
</channel>
</rss>