V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  BroSaltedFish  ›  全部回复第 1 页 / 共 1 页
回复总数  9
2023-04-07 16:57:16 +08:00
回复了 Andor_Chen 创建的主题 推广 送几本“通透”的《流畅的 Python (第 2 版)》
凑分母
@seakingii 感谢回复。
并非是打开文件的问题,CAD 文件内部存储的结构是流式存储的,引擎读取文件也是流式分块加载的,内存消耗主要是生成显示数据过程,我们可能还是需要在这方面努力优化了。。
@wwbfred 感谢回复。
总会有内存不够的情况,看优化了吧。。。
@sadfQED2 感谢回复。
这个真预估不了,可能的还是 上面老兄说的 applicationDidReceiveMemoryWarning 函数内做处理。
@VirgilMing 感谢回复。
引擎是公司买的,我们在上面做开发、适配和优化。
@hytaoist 感谢回复。
Objective-C 层消耗内存不多,内存消耗主要是 C++层 CAD 引擎加载文件生成显示数据过程,看来还是得在后者方面做优化
@nothingistrue 感谢回复。
产品希望全都要。。。。只能硬着头皮上了
@xnth97 感谢回复。
以编辑方式打开的文件这个接口的帮助就有限了,不过还是感谢提供方案。
@66450146 感谢回复。
感谢提供,com.apple.developer.kernel.increased-memory-limit 后续试下效果再回复
@learningman 感谢回复。
实现虚拟内存个人水平达不到,可能的方案看看缓存到磁盘了。。。。
@lakehylia 感谢回复。
地图的方法目前不太适合,因需要读取数据流生成数据才能知道图元所处的位置。。。
@icyalala 感谢回复。
内存的管理基本没问题,可能磁盘缓存是后续优化的一个方向了。。。。
@xwayway 感谢回复。
需求就是在 IOS 上打开 cad 图纸,需要编辑,图纸引擎本身确实也会占用很多内存,主要还是看图纸,基本 30MB 以上的图纸打开就很有可能被杀死。换引擎基本不可能。。。
@nicevar 目前我们尝试过,加载核心数据,外围数据按需加载的方式,测试效果因图纸差异效果不等,不过感觉还是得从这方面下手。。。
@raykle 感谢回复。
老兄说得对,省无可省是以我现在的能力来看确实没法子了。。。瓦片方式加载我大概了解下是用在地图、图片显示上,我们这还不一样,需要从数据转换成图像,在未读取数据前并不知道位置,不过估计还是得采用局部加载技术手段。
@BeyondBouds 感谢回复。
老兄的问题和我一样啊,确实跟用户的 文件有很大关系,内存大也只能硬着头皮优化啊。。。
@DingSoung 感谢回复。
文件本身不大,大多数处于 50MB 以内,主要是处理读取文件生成数据过程中的内存问题
@fengjianxinghun 唉,内存优化不能停,不能停啊。。。
@nicevar 感谢回复。
主要消耗内存的不是 Objective-C ,基本不会超过 400MB
打开的是 CAD 图纸,内存消耗主要集中对图纸这块,而且图纸这里的内存管理是由 C++写的,基本随用随释放,也没有内存泄漏的问题。主要消耗的还是对图纸的处理。
@KouYiGuo 感谢回复。
内存的优化也一直再做,目前也是到达了省无可省的地步了。。。
除了优化内存,还有其他方法吗?
@fengjianxinghun 感谢回复。
分配内存是 C++管理的内存池,主要消耗的也是 C++管理的这部分,由于是处理图形相关的内存确实大,也没法再省了。除了省内存还有其他方法吗?
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6041 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 02:22 · PVG 10:22 · LAX 18:22 · JFK 21:22
Developed with CodeLauncher
♥ Do have faith in what you're doing.