Skip to content

Commit d2f2194

Browse files
perf(DeviceService): start/stop updates based on visibility state
1 parent b3d7b09 commit d2f2194

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

src/device.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ import {
4747
ViewportMode
4848
} from './view'
4949

50+
import { VisibilityService } from './visibility'
51+
5052
export class DeviceState {
5153
viewport?:CanvasViewport;
5254
subviews?:SerializedSubviewList;
@@ -145,7 +147,8 @@ export class DeviceService {
145147
constructor(
146148
protected sessionService:SessionService,
147149
protected contextService:ContextService,
148-
protected viewService:ViewService
150+
protected viewService:ViewService,
151+
protected visibilityService:VisibilityService
149152
) {
150153
sessionService.manager.on['ar.device.state'] =
151154
sessionService.manager.on['ar.device.frameState'] = this._onDeviceState.bind(this);
@@ -217,11 +220,9 @@ export class DeviceService {
217220
// });
218221
// }
219222

220-
this.startUpdates();
221-
this.sessionService.manager.closeEvent.addEventListener(()=>{
222-
this.stopUpdates();
223-
})
224-
223+
this.visibilityService.showEvent.addEventListener(() => this.startUpdates());
224+
this.visibilityService.hideEvent.addEventListener(() => this.stopUpdates());
225+
225226
this._setupVRPresentChangeHandler();
226227
}
227228

0 commit comments

Comments
 (0)