Comments (9)
Where are you testing this? Are you using viewport.start() or manually updating the loop?
from pixi-viewport.
using viewport.start()
Full code for initialization is here
var options = {
pauseOnBlur: true,
screenWidth: w,
screenHeight: h,
worldWidth: w,
worldHeight: h,
};
var viewport = new Viewport(game.stage, options);
var clampOptions = {
minWidth: 1,
minHeight: minHeight,
maxWidth: 1000 * w,
maxHeight: maxHeight
};
viewport
.drag()
.wheel()
.pinch({
percent: 4.5
})
.clampZoom(clampOptions)
.decelerate()
.start();
from pixi-viewport.
So when pauseOnBlur = false, then the viewport still pauses when focus is lost?
from pixi-viewport.
Correct. I can also confirm that pauseOnBlur acts appropriately when manually updating the viewport via
game.ticker.add(function () {
viewport.update();
}
from pixi-viewport.
Hmm...strange.
Have you tried it with overlay windows or Chrome's devtool instead of tabs? options.pauseOnBlur is triggered only when using the viewport's built in loop through viewport.start(). It should have no effect if you manually call viewport.update. I checked PIXI.Ticker, and it does not have a blur event handler.
from pixi-viewport.
My apologies, I retested the viewport. Regardless of the value of the option pauseOnBlur
...
- When starting using
viewport.start()
the viewport always pauses upon blurring - When using
viewport.update()
in a PIXI.ticker loop, the viewport never pauses upon blurring
from pixi-viewport.
Ugh. I still can't replicate this bug.
Can you try the demo: https://davidfig.github.io/pixi-viewport/ It's currently set with pauseOnBlur: false so it should not pause when blurring.
The PIXI.ticker.loop makes sense since the pauseOnBlur only works when using yy-loop's start() command. It's ignored if you use your own loop.
from pixi-viewport.
Tried the demo, same results: https://youtu.be/BFKZDqoMZSo
The effect on the decelerate plugin is quite visible in the video.
Running on Windows 10 (64-bit)
Running on Chrome Version 61.0.3163.100 (Official Build) (64-bit)
Can also confirm the same results for
Running on Chrome OS (64-bit)
Chrome Version 62.0.3202.74 (Official Build) beta (64-bit)
from pixi-viewport.
Ok. Did a bit of research. I remember I spent many hours on this when I was first worked on my loop API (mostly around whether to use blur/focus or page visibility).
The tab issue is related to battery life (from MDN]:
- Window.requestAnimationFrame() calls are paused in most browsers when running in background tabs or hidden <iframe>s in order to improve performance and battery life.
The pauseOnBlur works when you switch applications, but not when switching tabs. Not sure how PIXI.ticker does it since they should have the same limitation when switching tabs.
from pixi-viewport.
Related Issues (20)
- How to moveCenter with easing? HOT 4
- How to check if the container inside pixi-viewport contains a point returned by the "on wheel" event? HOT 3
- Why I cannot destroy viewport on zoomed end event? HOT 1
- drag with space and left mouse OR middle mouse HOT 2
- Clampzoom doesn't seem to work HOT 1
- failed to import @pixi/core and @pixi/display HOT 1
- Problem with viewport.destroy() when React component gets dismounted HOT 3
- `import "pixi-viewport"` won't import properly in NextJS HOT 5
- Can multiple viewports share events?
- Will it support V8 version? HOT 7
- Pixi Viewport v5.2 release for Pixi v7 HOT 4
- Question: How to use Cmd+Scroll for zooming when on a Mac?
- [Docs] Suggestion: keep Jsdocs in npm package?
- "clicked" event failed to be triggered
- Missing event property from IViewportOptions HOT 3
- NPM Release Version Mismatch HOT 5
- `TypeError: Cannot set properties of undefined (setting '_parentID')` HOT 2
- Version 5.1.0 on NPM is not the same as 5.1.0 on GitHub HOT 5
- Update examples for pixi v8 HOT 1
- Is this project suitable for @pixi/react? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pixi-viewport.