我将 XTLTest 编译为 64 位,并尝试在 windows 7 x64 下测试一些 XTL。
所有这些测试都是使用带有 WMV 展示中的一个剪辑的 XTL 完成的,时间轴大小为 1440x1080。
- 缓冲设置为 300 - 播放正常。
- 缓冲设置为 600 并出现无法运行图形错误。使用大内存感知重新编译(应在 64 位应用程序上默认设置),同样的事情。
- 在 310 测试并运行良好。
- 尝试使用 310 缓冲同时播放 2 个不同的 64 位 XTLTest 实例,第二个因“无法运行图形”而失败。
- 缓冲设置为 80,能够使用组合的 4GB 内存播放 4 个 XTLTest 实例。执行更多实例并且无法运行图形。
- 针对任何使用 DirectShowLib 的编译 .NET 应用程序,并确认其作为 64 位本机应用程序运行。我能够以 80 缓冲加载 4 个 XTL,直到我得到
System.Runtime.InteropServices.COMException (0x8007000E):没有足够的存储空间来完成此操作。
所以我只能得出结论,DES 子系统对所有应用程序的组合有 4GB 的内存限制。
这是真的?如果是这样,这是 DES 限制还是 DirectShow 限制,有什么解决方法吗?
最佳,Tuviah Snyder 首席程序员,MediaWan Solid State Logic, Inc