Выгрузить видео из памяти, но не удалить его со страницы - PullRequest
0 голосов
/ 31 мая 2018

Я создаю игру с Electron, которая позволяет получить доступ ко многим видео на одной странице.Electron поглощает бесконечную память, постоянно читая видео в память, когда они воспроизводятся после паузы.Это приводит к тому, что одно видео размером 6 МБ занимает несколько сотен МБ памяти в некоторых точках игры.Сборка мусора, в конце концов, запускается, но отзывчивость видео страдает, когда приложение достигает предела памяти.

Игра линейная, поэтому я использую video.pause();video.src ="";video.load(); для ручного удаления видео со страницы в определенных частях игры.Это работает, но не идеально для всех пользователей.Я хотел бы выгружать видео из оперативной памяти всякий раз, когда они находятся в режиме паузы, но не удалять их со страницы, чтобы их можно было повторно загружать и воспроизводить при вызове.

В настоящее время я размещаю видео в HTML следующим образом:

    <video id="video1" width="100%"  preload="none" loop muted >
    <source src="video1.webm" type="video/webm">              
  </video>

Оно воспроизводится так:

   function playvideo1(){
   var video = document.getElementById("video1");           
   var isPlaying = video.currentTime > 0 && !video.paused && !video.ended && 
   video.readyState > 2;
   if (!isPlaying) {video.currentTime = 0;video.play();}}

И приостановлено так:

function video1(){
   var video = document.getElementById("video1");
   var isPlaying = video.currentTime > 0;
   if (isPlaying) {video.pause();}}

Я искал и искал, но так и не нашел, чтобы выгрузить видео без удаления его источника.Как я могу выгрузить видео из памяти, не удаляя его со страницы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...