一度に 1 つの要求と応答を行うモデルでは、ネットワーク/インターネットの帯域幅をフルに利用しないため、パフォーマンスが低下します。(ベンチマークは半分の速度の使用率です)
このコードで 1 つではなく 2 つまたは 3 つ以上の非同期リクエストを使用する方法 (ajax) またはマルチスレッドが必要ですか? それはjavascriptで可能ですか?
(これは ip からビデオを作成するためのものです)リクエストに応じて画像が変更されるたびに。はい、複数のフェッチ要求と非同期にする必要があります(上記で説明したように単一ではありません)、またはスレッドをお勧めしますか?
<html>
<head> <script language="JavaScript">
// Global vars
img = 'http://pastebin.com/i/t.gif';
timeout = 1000;
next = 0;
function onLoad( ) {
setTimeout( 'reloadImage( )', timeout );
}
// Reloader
function reloadImage( ) {
next = ( new Date( ) ).getTime( ) + timeout;
document.images.dv.src = img + "?" + next;
}
</script>
</head>
<body>
<img src="img" name="dv" onLoad="onLoad( )">
</body>
</html>
と
<html>
<head>
</head>
<body>
<div id="container"></div>
<script language="JavaScript">
var canLoad = true;
var container = document.getElementById("container");
var image = document.createElement("img");
image.onload = function() {
canLoad = true;
console.log("Image reloaded.");
}
var imageUrl = "http://url/snapshot.jpg";
var fps = 2;
container.appendChild(image);
function loadImage() {
if (canLoad) {
canLoad = false;
var str = new Date().getTime();
image.setAttribute("src", imageUrl + "?" + str);
console.log("Reloaded now.");
} else {
console.log("Can't reload now.");
}
}
setInterval(loadImage, fps); // 30 fps
</script>
</body>
</html>