文件制作器 + Windows 7:Web 查看器内存问题
我的公司开发了一个相当庞大的 FileMaker 应用程序。我没有使用 FileMaker 的 Container 对象来处理图片,而是或多或少地用 Rails 编写了自己的 360Works SuperContainer 版本,并将其运行在我们办公室的服务器上;图片通过 Web 查看器显示。
该应用程序一开始似乎运行良好,但随后抱怨纷至沓来——“我的电脑太慢了!” “我看不到照片!” - 等等等等。快速查看任务管理器会发现 FileMaker 正在消耗大量内存。显然,Web 查看器会缓存系统内存中的所有数据,并且仅当 FileMaker 切换到没有 Web 查看器的布局时才会从内存中删除内容。为了解决这个问题,我编写了一个脚本来切换到非 Web 查看器布局并返回,并将其连接到一个按钮。虽然有点难看,但它已经完成了工作。
直到几周前,这对每个人来说都非常有效。我们最终将办公室中的所有计算机从运行 Windows XP 的破旧戴尔计算机升级为运行 Windows 7 的定制计算机。出于某种原因,当我运行布局切换脚本时,它只刷新了一些记忆。以下是执行某些操作后内存消耗的快速细分(以 KB 为单位):
开始:58482
已加载数据库:71024
已浏览50条记录:247820
冲洗:81512
已浏览50条记录:272848
冲洗:86264
每天都会浏览数百至数千条记录。再加上我的用户从来不想重新启动他们的系统,我的办公室经常接到电话要求我这样做。
我知道在 Windows 中,FileMaker 的 Web 查看器在 IE 渲染引擎上运行...我想知道是否有任何方法可以将其设置为在每次页面加载后清除内存或其他内容。我们公司很大程度上依赖这个应用程序来运行,当这个应用程序不能顺利运行时,一切都无法顺利运行 - 所以我非常感谢任何建议。
My company has developed a pretty massive FileMaker app. Instead of using FileMaker's Container object to handle pictures, I more or less wrote my own version of 360Works SuperContainer in Rails and I have it running on a server in our office; pictures show up through the Web Viewer.
The app seemed to work fine at first, but then the complaints came rolling in - "My computer's really slow!" "I can't see the pictures!" - and so on and so forth. A quick peek into Task Manager showed that FileMaker was consuming an enormous amount of memory. Apparently, the Web Viewer caches all data in system memory, and only removes stuff from memory if FileMaker switches to a layout that doesn't have a Web Viewer. To remedy this, I wrote a script to switch to a non-Web Viewer layout and back and wired it up to a button. It's a bit ugly, but it was getting the job done.
This was working great for everyone, until a few weeks ago. We finally upgraded all the computers in the office from beat-up Dells running Windows XP to custom-built machines running Windows 7. For some reason, when I run the layout switch script, it only flushes some of the memory. Here's a quick breakdown of memory consumption in KB after certain actions:
Start: 58482
Loaded DB: 71024
Browsed 50 records: 247820
Flushed: 81512
Browsed 50 records: 272848
Flushed: 86264
And hundreds - thousands - of records are browsed, daily. Compounded with the fact that my users never ever want to reboot their systems, I am constantly getting called from my office to do just that.
I know that in Windows, FileMaker's Web Viewer runs on the IE rendering engine... I was wondering if there were any way to set it to clear the memory after each page load or something. Our company pretty much depends on this app to function, and when this app isn't working smoothly, nothing works smoothly - so I'd really appreciate any suggestions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您使用过
脚本步骤吗?
您可能需要删除一个在
OnRecordChange
脚本触发器中执行此操作的脚本。Have you used the
script step?
You may want to drop a script that does that in your
OnRecordChange
script trigger.我们也看到了这一点,虽然我还没有找到这样的“修复”,但在更改 tabs 时,将 =< 0.001 暂停似乎有帮助
We've also seen this, and whilst I have not found a 'fix' as such for it, when changing tabs , putting a =< 0.001 pause in seems to help