Switch shared worker to basic service worker
Signed-off-by: Justin Georgi <justin.georgi@gmail.com>
This commit is contained in:
@@ -140,7 +140,7 @@
|
||||
import detectionMixin from './detection-mixin'
|
||||
import cameraMixin from './camera-mixin'
|
||||
|
||||
import detectionWorker from '../assets/detect-worker.js?sharedworker'
|
||||
import detectionWorker from '../assets/detect-worker.js?worker'
|
||||
|
||||
export default {
|
||||
mixins: [submitMixin, detectionMixin, cameraMixin],
|
||||
@@ -179,7 +179,9 @@
|
||||
videoDeviceAvailable: false,
|
||||
videoAvailable: false,
|
||||
cameraStream: null,
|
||||
infoLinkPos: {}
|
||||
infoLinkPos: {},
|
||||
detectWorker: null,
|
||||
vidWorker: null
|
||||
}
|
||||
},
|
||||
setup() {
|
||||
@@ -216,8 +218,8 @@
|
||||
if (loadServerSettings) this.serverSettings = JSON.parse(loadServerSettings)
|
||||
},
|
||||
mounted () {
|
||||
const mountWorker = new detectionWorker()
|
||||
mountWorker.port.onmessage = (eMount) => {
|
||||
this.detectWorker = new detectionWorker()
|
||||
this.detectWorker.onmessage = (eMount) => {
|
||||
self = this
|
||||
if (eMount.data.error) {
|
||||
console.log(eMount.data.message)
|
||||
@@ -225,13 +227,22 @@
|
||||
}
|
||||
self.modelLoading = false
|
||||
}
|
||||
this.vidWorker = new detectionWorker()
|
||||
this.vidWorker.onmessage = (eMount) => {
|
||||
self = this
|
||||
if (eMount.data.error) {
|
||||
console.log(eMount.data.message)
|
||||
f7.dialog.alert(`ALVINN AI nano model error: ${eMount.data.message}`)
|
||||
}
|
||||
}
|
||||
|
||||
if (this.serverSettings && this.serverSettings.use) {
|
||||
this.getRemoteLabels()
|
||||
this.modelLoading = false
|
||||
} else {
|
||||
this.modelLoading = true
|
||||
mountWorker.port.postMessage({call: 'loadModel', weights: this.modelLocation, preload: true})
|
||||
this.detectWorker.postMessage({call: 'loadModel', weights: this.modelLocation, preload: true})
|
||||
this.vidWorker.postMessage({call: 'loadModel', weights: this.miniLocation, preload: true})
|
||||
}
|
||||
window.onresize = (e) => { if (this.$refs.image_cvs) this.selectChip('redraw') }
|
||||
},
|
||||
@@ -293,12 +304,13 @@
|
||||
return `--chip-media-gradient: conic-gradient(from ${270 - (confFactor * 360 / 2)}deg, hsl(${confFactor * 120}deg, 100%, 50%) ${confFactor}turn, hsl(${confFactor * 120}deg, 50%, 66%) ${confFactor}turn)`
|
||||
},
|
||||
async setData () {
|
||||
const detectWorker = new detectionWorker()
|
||||
detectWorker.port.onmessage = (eDetect) => {
|
||||
//const detectWorker = new detectionWorker()
|
||||
this.detectWorker.onmessage = (eDetect) => {
|
||||
self = this
|
||||
if (eDetect.data.error) {
|
||||
self.detecting = false
|
||||
self.resultData = {}
|
||||
loadFailure()
|
||||
f7.dialog.alert(`ALVINN structure finding error: ${eDetect.data.message}`)
|
||||
} else if (eDetect.data.success == 'detection') {
|
||||
self.detecting = false
|
||||
@@ -308,8 +320,8 @@
|
||||
}
|
||||
self.uploadDirty = true
|
||||
} else if (eDetect.data.success == 'model') {
|
||||
this.reloadModel = false
|
||||
loadSuccess(true)
|
||||
self.reloadModel = false
|
||||
loadSuccess()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -319,9 +331,9 @@
|
||||
loadSuccess = res
|
||||
loadFailure = rej
|
||||
if (this.reloadModel) {
|
||||
detectWorker.port.postMessage({call: 'loadModel', weights: this.modelLocation})
|
||||
this.detectWorker.postMessage({call: 'loadModel', weights: this.modelLocation})
|
||||
} else {
|
||||
loadSuccess(true)
|
||||
loadSuccess()
|
||||
}
|
||||
})
|
||||
|
||||
@@ -329,7 +341,7 @@
|
||||
this.remoteDetect()
|
||||
} else {
|
||||
Promise.all([modelReloading,createImageBitmap(this.imageView)]).then(res => {
|
||||
detectWorker.port.postMessage({call: 'localDetect', image: res[1]}, [res[1]])
|
||||
this.detectWorker.postMessage({call: 'localDetect', image: res[1]}, [res[1]])
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user