Skip to content

Commit 72d853b

Browse files
authored
Merge pull request #361 from l-ouis/datawindow-willreadfrequently
reduce datawindow size 700->50, willReadFrequently to true on canvas contexts
2 parents 98866c2 + 4470fe7 commit 72d853b

File tree

6 files changed

+10
-10
lines changed

6 files changed

+10
-10
lines changed

src/facemesh.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ TFFaceMesh.prototype.getEyePatches = async function(video, imageCanvas, width, h
105105
// Start building object to be returned
106106
var eyeObjs = {};
107107

108-
var leftImageData = imageCanvas.getContext('2d').getImageData(leftOriginX, leftOriginY, leftWidth, leftHeight);
108+
var leftImageData = imageCanvas.getContext('2d', { willReadFrequently: true }).getImageData(leftOriginX, leftOriginY, leftWidth, leftHeight);
109109
eyeObjs.left = {
110110
patch: leftImageData,
111111
imagex: leftOriginX,
@@ -114,7 +114,7 @@ TFFaceMesh.prototype.getEyePatches = async function(video, imageCanvas, width, h
114114
height: leftHeight
115115
};
116116

117-
var rightImageData = imageCanvas.getContext('2d').getImageData(rightOriginX, rightOriginY, rightWidth, rightHeight);
117+
var rightImageData = imageCanvas.getContext('2d', { willReadFrequently: true }).getImageData(rightOriginX, rightOriginY, rightWidth, rightHeight);
118118
eyeObjs.right = {
119119
patch: rightImageData,
120120
imagex: rightOriginX,

src/index.mjs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ function checkEyesInValidationBox() {
182182
* @param {y} y - The y co-ordinate of the desired point to plot
183183
*/
184184
function drawCoordinates(colour,x,y){
185-
var ctx = document.getElementById("plotting_canvas").getContext('2d');
185+
var ctx = document.getElementById("plotting_canvas").getContext('2d', { willReadFrequently: true });
186186
ctx.fillStyle = colour; // Red color
187187
ctx.beginPath();
188188
ctx.arc(x, y, 5, 0, Math.PI * 2, true);
@@ -222,7 +222,7 @@ function paintCurrentFrame(canvas, width, height) {
222222
canvas.height = height;
223223
}
224224

225-
var ctx = canvas.getContext('2d');
225+
var ctx = canvas.getContext('2d', { willReadFrequently: true });
226226
ctx.drawImage(videoElement, 0, 0, canvas.width, canvas.height);
227227
}
228228

@@ -287,8 +287,8 @@ async function loop() {
287287
{
288288
// Get tracker object
289289
var tracker = webgazer.getTracker();
290-
faceOverlay.getContext('2d').clearRect( 0, 0, videoElement.videoWidth, videoElement.videoHeight);
291-
tracker.drawFaceOverlay(faceOverlay.getContext('2d'), tracker.getPositions());
290+
faceOverlay.getContext('2d', { willReadFrequently: true }).clearRect( 0, 0, videoElement.videoWidth, videoElement.videoHeight);
291+
tracker.drawFaceOverlay(faceOverlay.getContext('2d', { willReadFrequently: true }), tracker.getPositions());
292292
}
293293

294294
// Feedback box

src/ridgeRegThreaded.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import mat from './mat.mjs';
66
const reg = {};
77

88
var ridgeParameter = Math.pow(10,-5);
9-
var dataWindow = 700;
9+
var dataWindow = 50;
1010
var weights = {'X':[0],'Y':[0]};
1111
var trailDataWindow = 10;
1212

src/ridgeWorker.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ importScripts('./worker_scripts/util.js', './worker_scripts/mat.js'); // [202007
77
var ridgeParameter = Math.pow(10,-5);
88
var resizeWidth = 10;
99
var resizeHeight = 6;
10-
var dataWindow = 700;
10+
var dataWindow = 50;
1111
var trailDataWindow = 10;
1212
var trainInterval = 500;
1313

src/util.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ util.resizeEye = function(eye, resizeWidth, resizeHeight) {
226226
canvas.width = eye.width;
227227
canvas.height = eye.height;
228228

229-
canvas.getContext('2d').putImageData(eye.patch,0,0);
229+
canvas.getContext('2d', { willReadFrequently: true }).putImageData(eye.patch,0,0);
230230

231231
var tempCanvas = document.createElement('canvas');
232232

src/util_regression.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const util_regression = {};
99
* Initialize new arrays and initialize Kalman filter for regressions.
1010
*/
1111
util_regression.InitRegression = function() {
12-
var dataWindow = 700;
12+
var dataWindow = 50;
1313
var trailDataWindow = 10;
1414
this.ridgeParameter = Math.pow(10,-5);
1515
this.errorXArray = new util.DataWindow(dataWindow);

0 commit comments

Comments
 (0)