使用 .Net 4.0 的 MemoryMappedViewAccessors 最合适的方法是什么?

发布于 2024-07-30 10:51:56 字数 154 浏览 8 评论 0原文

在可滚动框中显示大型内存映射文件时,让视图表示整个文件更合适,还是仅表示当前显示的文件区域更合适?
更广泛地说,.Net 的内存映射文件在什么抽象级别上完成分页? 内存中保存的文件的页面大小/数量与 MemoryMappedViewAccessors 相关,还是独立于这些对象?

When displaying a large, memory mapped file in a scrollable box, is it more appropriate to have the view represent the whole file, or only the region of the file currently being displayed?
More broadly, at what level of the abstraction is paging done with .Net's memory mapped files? Is the page size/amount of the file held in memory related to the MemoryMappedViewAccessors, or is it independent of these objects?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

晚风撩人 2024-08-06 10:51:56

它是独立的; 在访问该地址(或附近的地址)之前,数据不会复制到内存中。 但是,视图的大小会影响进程的地址空间。 这对于 32 位系统来说非常重要,因为进程地址空间限制为 2GB 或 3GB。 由于地址空间中可能无法获得所需大小的连续块,因此这会影响将来分配的能力。

使用大视图的能力通常被认为是 64 位系统的主要优势。

It is independent; data is not copied into memory until the address (or a nearby address) is accessed. However, the size of the view counts against your process's address space. This is really important on 32-bit systems since the process address space is limited to 2GB or 3GB. This impacts the ability to do future allocations due to the possibility that a contiguous block of the desired size might not being available in the address space.

The ability to use large views is often cited as a major advantage of 64-bit systems.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文