在工作中,我们有一个应用程序来播放2K(2048 * 1556px)OpenEXR电影序列.它运行良好..除了超过3GB(非常常见)的序列,它必须从内存中卸载旧帧,尽管事实上所有机器都有8-16GB的内存(可通过linux BIGMEM东西寻址).
帧必须缓存到内存中才能实时播放.操作系统是一个具有几年历史的32位Fedora Distro(在可预见的未来,无法升级到64位).每个进程的限制为每个进程3GB.
基本上,有可能以某种方式在内存中缓存超过3GB的数据吗?我最初的想法是在多个进程之间传播数据,但我不知道这是否可行.
解决方法:
如何创建一个RAM驱动器并将文件加载到该…假设RAM驱动器支持BIGMEM的东西.
您可以使用多个进程:每个进程将文件视图作为共享内存段加载,然后播放器进程根据需要依次映射这些段.
标签:linux,memory,32-bit 来源: https://codeday.me/bug/20190527/1161312.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。