首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >交互和目标保存冻结应用程序

交互和目标保存冻结应用程序
EN

Stack Overflow用户
提问于 2016-05-05 12:50:09
回答 2查看 89关注 0票数 0

在我的闪存应用程序中,我使用pipwerks scorm包装器来保存不同的scorm值。现在,当我开始节省交互和目标时,需要大量的时间(5-6秒)来节省。这些数组并不大(每个数组有7个元素),为什么要花这么长时间保存它呢?我有本地的LMS服务器,所以这里的网络不是问题。

我怎么能把它装进去?

编辑:刚刚添加了一些日志,似乎没有“重”元素-它们都需要相同的时间来保存。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-05 19:23:31

不是你,是他们。

您很可能是SCORM的糟糕实现的牺牲品。通常发生的情况是通过内容“包装器”发送get/set值命令,该内容“包装器”与LMS通信。学生尝试的不是LMS缓存,而是返回数据和设置数据的长时间往返到服务器。这可以等同于1-12秒的实际滞后,这会导致一个小时的玻璃或海滩球在mac上。就像拒绝服务攻击一样。

目标和交互需要生成几组单独的数据,这样“垃圾邮件”就会触发这个延迟。如果LMS使用缓存的尝试,他们只会在提交调用时往返到服务器。10次机会中有9次,这在他们的系统上已经错了很长时间。需要一次大规模的重写来修复它。我将避免列出我在这方面经历过的所有平台,因为其中许多平台收取订阅费,企业公司付费使用他们的服务。不幸的是,这只是一个糟糕的设计。他们的系统正在同步地阻塞对其服务器的调用。250 12 DNS延迟x12调用=糟糕的用户体验.

有人告诉我,“不要打那么多SCORM电话。”“你能阻止它这样做吗”。我也因此而把LMS弄下来了;)在野外,很大比例的SCO不使用目标和交互,所以这些较大的延迟问题都是不受检查的。

如果您成为这个延迟https://cybercussion.com/bookmarklets/SCORM的牺牲品,我的Bookmarklet将突出显示。在查看SCO时使用它,因为它将对API进行一系列状态调用,并为您计算实际延迟。我看过每通电话多达400毫秒!

在设计其API时,LMS实现最终有3种选择。

  • 缓存:加载“学生尝试”,并仅在提交调用时发送数据。
  • 缓存混合:加载“学生尝试”,并仅在提交时发送更改的数据。
  • 非缓存:您进行服务器往返设置和获取数据。在有限数量的SCORM调用中,您将经历一些延迟。在这个实现中,我唯一能提供的好处是,如果电源中断或网络崩溃,您可以保留少量的数据。但上述选项也可以更定期地调用commit来解决这一问题。

我会在scorm.com上做烟瘾测试。开发一个可重复的过程,以支持您所遇到的这个问题的平台。即使您的编辑声明它是本地的,我上面突出显示的阻塞调用也会导致延迟。

总帐

票数 1
EN

Stack Overflow用户

发布于 2016-05-06 18:46:04

关于Mark的回答,我同意,听起来LMS是通过同步xmlhttprequest (也就是XHR或AJAX)而不是异步进行处理的。在这里了解更多关于同步和异步的信息:Requests

当使用同步XHR时,在XHR请求完成之前,页面将不会处理任何JavaScript。如果服务器速度慢,这可能需要几秒钟。如果你在彼此附近反复打电话,它们就会加在一起。可以想象,仅仅在几页的时间内处理一些活动就需要一分钟的时间。从用户的角度来看,这门课让人觉得被打断了。

同意Mark的观点,在SCORM中进行测试是确保您的课程正常运行的一个很好的方法,慢的是您的本地LMS,而不是课程本身。

如果您希望改进本地测试环境,并且正在使用本地LMS,请在LMS的JavaScript代码库中查找xmlhttprequest或AJAX,并查看您可以设置为异步。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37051112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档