Search the Community
Showing results for tags 'freeze'.
-
I read in another topic/question here that you should not freeze materials of instances, and from personal experience I see (or should I say, "do not see") the problem...the instances are transparent. Is it better to give the instances their own material to share and freeze it, or to not freeze the material for that mesh and its instances? Also, what is causing the problem of the instances not being visible when the material is frozen? I have no background in 3d, so it could be something obvious, but I am still curious.
-
At work, we've had an outsourced team create a game for us; they chose Phaser even though neither of us had any previous experience, but for the most part that seems to have been a good choice - complete, good docs and examples etc. But there is this one issue: on first play of animations, they freeze up. The team tried to solve it in what I think is a reasonable way - pre-play all the animations once during a loading screen. However, doing this is somehow so taxing that even simple CSS animations also freeze (multiple browsers, devices, operating systems) creating a jarring effect for the player. It also takes so much time - up to 5 seconds even on desktop computers - that just having a black screen also feels bad on many devices. The thing is that it's not even that many animations, maybe 25-30 in all and most of them not that complicated. On one super powered graphics machine the freeze is down to less than half a second, but the machine itself does not even register it, meaning it's not (probably) a CPU issue or so, but something blocking maybe? I've tried to search google, stackoverflow and these forums but I don't really find anyone else having this problem, which leads me to suspect that we are simply doing something wrong. The team is new to Phaser and I have myself not even written any games in it, though I can read the code. And frankly, them being outsourced makes them tend to declare things being "unfixable" a bit early at times... I could post some code, but basically it's doing "world.create()" adding all the animations, and doing "play()". Instead I would like to ask if there is a common/best practice or, otherwise if this is so weird that our animations must be broken from the start or any other reason you could think of. What exactly is Phaser doing on first play, is it unpacking the image to memory or something? Is this something that could be partly or wholly done beforehand in a build? Would be very thankful for any clues - and I do apologize for the somewhat messy question, it's kinda hard asking third party questions. Thanks!
- 2 replies
-
- performance
- freeze
-
(and 1 more)
Tagged with:
-
Issue with 4096x4096 texture in Chrome using Phaser.CANVAS
Rainbow Discus posted a topic in Phaser 2
When using a 2048x2048 texture atlas the game runs fine. But if I switch to a 4096x4096 texture atlas, the game freezes for a short period of time (less than half a second) once every second. This doesn't happen on my iPhone 4S, only my PC. And it only happens in Chrome, and when using Phaser.CANVAS (Phaser.WEBGL works fine). I'm using Phaser version 2.4.4. I'm getting close to releasing this game, and I'm a bit worried about this... Thanks in advance! -
Hi everyone, I'm noticing refresh freezes when showing items (loaded, but with visible set to false). With freeze I mean that although normally the game works with 60fps, when showing new item (loaded but not visible) it takes 300ms to call another render. My loop is simple and looks like the following: function render() { update(); renderer.render( container ); // render stage requestAnimationFrame( render );}I logged the render function to output time from the previous render and it returns 300ms when the problematic event occurs. I tested every single line and it came down to a single line: sprite.visible = true;This sprite is made visible through keyboard event (when space is pressed) and it is the single line of code being called. The texture for the sprite is loaded at the beginning by using PIXI.loader with event complete that instantiates the sprite object, closes the loading screen and shows the stage (container object, I'm using pixi 3.0.6). As follows: PIXI.loader.add("mysprite","sprite.jpg").once('complete',function(){ sprite = new PIXI.Sprite( loader.resources.mysprite.texture ); sprite.position.set( 100, 100 ); container.addChild( sprite );}).load();So why does it take so much time to render the object, it is loaded just not visible. Is there a workaround, like preloading (am I not doing that already?), I mean, this 300ms freeze is just too noticable. One more thing. It happens only on the first time the sprite is shown, later everything runs smoothly. I am testing with Chrome 43 (I tested the example with Chrome 43, IE11 doesn't seem to have a delay), same thing happens on Android after compiling with CocoonJS. Thanks.
-
Hello, I have a IFrame and within the iframe I redirect to the game.html. When I click in the game.html everything freezes. Everything works fine when using a computer (any browser), windows phone or android, but with an iphone or ipad it won't work. Below are the example files to replay the problem... index.html: <html><body> <iframe src="click.html" height="900" width="800"/></body></html>click.html <!DOCTYPE html><html> <body> <a href="Game.html">CLICK HERE</a> </body></html>Game.html <!DOCTYPE html><html> <head> <style> body{overflow:hidden;} #game_div { width: 760px; height: 1100px; margin: auto; } </style> <script type="text/javascript" src="./Game/phaser.min.js"></script> <script type="text/javascript" src="./Game/main.js"></script> </head> <body> <div id="game_div"> </div> </body></html>main.js var game = new Phaser.Game(760, 1100, Phaser.AUTO, 'game_div');var overlay, countdownText;var counter = 0;var main_state = { preload: function() { }, create: function () { //game overlay overlay = game.add.graphics(0, 0); overlay.beginFill(0x00A54F, 0.8); overlay.drawRect(0, 0, game.width, game.height); countdownText = game.add.text((game.width / 2), (game.height / 2), counter, { font: "65px Arial", fill: "#ffffff", align: "center" }); countdownText.anchor.set(0.5,0.5); }, update: function() { countdownText.setText(counter++); }}game.state.add('main', main_state); game.state.start('main'); TNX