【问题标题】:HTML5 video + Ajax + IE = bad performance?HTML5 视频 + Ajax + IE = 性能不佳?
【发布时间】:2013-12-12 12:02:41
【问题描述】:

我目前正在开发一个将在本地网络中使用的大型网络应用:

  • 一页,最多可播放 12 个视频 (SD)。 Flash 或 HTML5,我可以选择。
  • 在同一页面上,一个间隔(每 800 毫秒)正在使用 Ajax 调用一个 Php 脚本(执行时间约为 30 毫秒)。

一切正常,但... Internet Explorer :)

在 Chrome 或 Firefox 中,使用 flash 或 HTML5,播放 12 个视频时,ajax 请求需要 35 到 60 毫秒。

在 IE11(或 10)中,ajax 请求每个播放视频需要 100 毫秒。这对我来说真的是个大问题。 如果有 12 个正在播放的视频,请求需要 1.2s。

也许有人知道如何在 IE 中使这些请求更快?

谢谢!


这是我用于测试的非常简单的代码:

HTML / Javascript

<html>
<head>
   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
   <script type="text/javascript">
    $(function(){
            setInterval(function(){testAjax()},800); 
    });

        function testAjax(){
            $.ajax({
                url: "./AjaxTest.php",
                cache:false
            });
        }
    </script>
</head>

<body>
    <!-- this x12 -->
    <video autoplay>
        <source type="video/mp4" src="video.MP4"> <!-- Change video to a WEBM file when testing in IE -->
    </video>
</body>

AjaxTest.php

<?php
usleep(30000);
?>

【问题讨论】:

  • 为什么你每 800 毫秒调用一次 PHP 文件?
  • 简而言之:Php 脚本在数据库中查看时间表并显示“现在开始一个新视频”或“现在停止这个”。而且它必须非常精确:(
  • 您能否澄清一下 - 是否每 800 毫秒对 12 个视频中的每个视频都有一个 100 毫秒的请求?还是对所有 12 个需要 1.2 秒的单个批处理请求?
  • 每 800 毫秒 1 个请求。而这个请求需要 100ms*number_video 在 IE 中完成(如果有 12 个视频,总共需要 1.2s)。

标签: jquery ajax html internet-explorer html5-video


【解决方案1】:

几个月后,同样的问题又回来了! 播放大量视频(最多 21 个!:D),IE 中的请求需要 30-60 秒!

我终于知道为什么了: Internet Explorer 限制您可以同时对服务器进行的活动 HTTP 请求的数量。 就我而言,每个轮船都在同一台服务器上。这意味着我的请求被放入队列中,有时可能会等待 60 秒才能发送。

IE 限制可以解除,这篇博文解释了怎么做(超级简单): http://www.pallareviews.com/1186/increase-internet-explorer-download-limit/

【讨论】:

    【解决方案2】:

    为此,HTML5 提供了一个名为“Web worker”的功能,可以在后台运行您的脚本,而与当前页面发出的请求无关。
    此处为参考链接W3Schools

    【讨论】:

    • 从我读到的内容来看,工作人员中的 Ajax 请求并不是一件好事,不是吗?我会尝试。感谢您的回复。
    • 测试完成:好多了!现在 12 个视频需要 50-300 毫秒,而不是 1.2 秒。
    猜你喜欢
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 2011-08-27
    • 2014-10-12
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 2014-05-20
    相关资源
    最近更新 更多