lingoerer's recent timeline updates
lingoerer

lingoerer

V2EX member #63862, joined on 2014-05-29 19:08:11 +08:00
lingoerer's recent replies
Oct 22, 2018
Replied to a topic by samlee946 全球工单系统 Github 是出问题了吗?
既然 GitHub 都挂了,我们是不是该放个假?
Aug 11, 2017
Replied to a topic by DingSoung iDev Swift 怎么手动释放内存?
楼主给的信息实在是有限,没法确定楼主的问题出在哪里
以下内容基于这么一个推测:即楼主要做的事情是通过大量计算自动地批量生成图片,图片的量大,且每张图片的尺寸也都非常大,而楼主使用的是 UIKit 中提供的类似 UIGraphicsBeginImageContext 和 UIGraphicsEndImageContext 之类的简单接口。
一句话,这个问题没有简单无脑的解决方案,但稍微深入一下,办法却还是很多。
1. UIKit/Foundation 中提供的接口并不适合做这件事情,这与语言无关,即使用 objc 通过 mrc 绕开 arc 的坑也是一样。性能非常堪忧。
对于图片的绘制,楼主应该考虑使用 Metal 提供的 Compute Shader,将图片分阶段绘制到 MTLTexture 中。
使用 Metal 确实存在一些门槛,如果不会的话,试试查阅一些第三方库,比如 https://github.com/BradLarson/GPUImage 说不定有提供对于你的需求现成的方法。
2. 注意 Swift 中并不是不支持内存管理,Swift 其实提供有一系列类似 UnsafeBufferPointer 的工具来管理内存,楼主可以仔细读一下官方的文档:
https://developer.apple.com/documentation/swift/manual_memory_management
这一系列方法应该就是对楼主问题最直接的答案。
3. 最后,出乎意料地,很多人并不知道许多 Unix C Level 的函数在 Swift 中是可以直接调用的(并不是私有 API ),比如 mmap ……
https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man2/mmap.2.html
具体例子我记得苹果去年的 ImageRecognition Demo 中有,使用 mmap 将神经网络的参数文件直接映射进内存空间,以节省内存使用,楼主这里可以反过来使用它来写文件(需要 Import Darwin )。
@StargazerWikiv 是不是 iOS 的版本木有对?
@StargazerWikiv 估计需要杀掉重新跑吧~~~理论上 7P 应该是没有问题的
楼主你这个不叫 hentai 啊!不要自我指责!人的性取向问题本来就非常复杂哒!
数据爬出来放 Excel 差评啊……
我换用 neovim 的原因之一就是可以不用 YCM ,改用 Deoplete ……
Dec 5, 2016
Replied to a topic by splendone 奇思妙想 社交 APP 的轮回
11 年的时候,我在 S1 错过了一个纳斯达克敲钟的机会,今天我在 V2EX 又错过一个……
1 :[CellViewModel] -> 把每一个 Cell 的 ViewModel 定义出来,放进数组
2 : cellViewModel.identifier, cell.render(cellViewModel) -> 每个 ViewModel 定义自己要用什么 Cell 来展示, dequeue 的时候出不同的 Cell ,然后 Cell 自己对应着绑 UI
3 : tableView 的回调中直接一行同样的代码把 Cell 弄出来

当然,前面还有个:
0 :把你要显示的 Model 的内容 map 成 CellViewModel 的数组
Jun 11, 2016
Replied to a topic by yangyaofei Apple 新的 rmbp 没有 esc, vim 怎么玩!
只能再额外买个 HHKB 了……
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1075 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 23:12 · PVG 07:12 · LAX 16:12 · JFK 19:12
♥ Do have faith in what you're doing.