/ / Передача зображення через Websocket до WebGL Vs Canvas, а можливо, і з працівниками - javascript, performance, canvas, websocket, webgl

Передача зображення через Websocket до WebGL Vs Canvas і, можливо, з працівниками - javascript, performance, canvas, webcloud, webgl

Все, що я отримую зображення через ArrayBuffer через Websocket і розміщуючи його на полотні. близько 10 зображень у сек (скажімо 500x500 PNG)

Фактично публікація до WEBGL буде швидшою. Я знову не буду робити жодних поворотів / перетворень.

Просто прості зображення величезні один за одним.

тому що він використовує графічний процесор / шейдерів, чи буде WebGl більш швидким способом?

Відповіді:

1 для відповіді № 1

Більшість реалізацій canvas2d вже використовуютьсяапаратне прискорення, тому, коли ви хочете просто розмістити прості зображення на полотні, WebGL буде вводити набагато більше технічної складності, але не отримає вам нічого.

Це може мати сенс використовувати WebGL для 2D-графікиколи ви хочете зробити деякі складні операції фільтрації зображень, оскільки шейдер може виконувати їх на графічному процесорі, тоді як єдиним способом здійснення операцій на рівні пікселів з canvas2d є завантаження графіки до ОЗП з getImageData, виконуйте операцію на ЦП, і завантажте його на GPU за допомогою setImageData.

Коли у вас виникають проблеми з продуктивністю, я думаю, що ваше вузьке місце може бути тут: "близько 10 зображень на секунду (скажімо, 500x500 PNG) через веб-сайт". 500x500 PNG становить щонайменше 200kb, але може бути aнабагато більший в залежності від вмісту і наскільки добре вибирається алгоритм стиснення. 10 зображень на секунду приймають щонайменше 2 Мб на секунду, що складає щонайменше 16 Мбіт / с пропускної здатності. У вас є стільки пропускної здатності?