Я пытаюсь транслировать 360-градусное видео в прямом эфире через A-кадр, устанавливая атрибут sr c неба на конечную точку Flask, которая обслуживает каждый кадр при выполнении запроса GET. Код работает, однако, несмотря на то, что я отключил кеширование, использование памяти страницей со временем постоянно увеличивается и значительно замедляется. Большая часть памяти соответствует go тому, что помечено как (закрытие) в chrome инструментах разработчика (32 байта на кадр).
Chrome использование памяти
Код:
<a-sky set-sky=""></a-sky>
THREE.Cache.enabled = false
AFRAME.registerComponent('set-sky', {
schema: {default:''},
init: function() {
this.timeout = setInterval(this.updateSky.bind(this), 41);
this.sky = this.el;
this.sky.setAttribute( 'crossorigin', "Anonymous");
this.sky.setAttribute( 'src', "http://0.0.0.0:5000/video_feed?" + new Date().getTime());
},
remove: function() {
clearInterval(this.timeout);
this.el.removeObject3D(this.object3D);
},
updateSky: function() {
THREE.texture = {}
this.sky.setAttribute( 'src', "http://0.0.0.0:5000/video_feed?" + new Date().getTime());
}
});
На стороне сервера я также настроил запрос не хранить изображения
response.headers['Pragma-Directive'] = 'no-cache'
response.headers['Cache-Directive'] = 'no-cache'
response.headers['Cache-Control'] = 'no-store '
response.headers['Pragma'] = 'no-cache'
response.headers['Expires'] = '0'
Что я могу сделать, чтобы данные не сохранялись в памяти?