Search the Community

Showing results for tags 'memory'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • HTML5 Game Coding
    • News
    • Game Showcase
    • Coding and Game Design
  • Frameworks
    • Phaser
    • Pixi.js
    • Babylon.js
    • Panda.js
    • melonJS
    • Haxe JS
    • Kiwi.js
  • General
    • General Talk
  • Business
    • Collaborations (un-paid)
    • Jobs (Hiring and Freelance)
    • Services Offered

Found 47 results

  1. Does anyone know how to unload and destroy audio files appropriately? I have about 12 MB of audio in my game, or about 15 minutes. I do not load all of them at one time, since this will break any mobile browser. So I load them in the states they are needed. About 4 MB is loaded at the same time. According to the Task Manager in chrome, the memory used by my game just keeps growing and growing, easily above 1000MB by changing states. (Browsers decode audio to lossless => memory use is high, regardless of file format and encoding.) In all states I have a shutdown function that destroys all the sounds and purges audio loaded in the cache. This is my current code (very similar to how cache is cleared when changing states, but I have some assets I use everywhere and don't want to remove): function clearCache () { // Purge sound. var key = this.sound._sounds.length; while (key--) { this.sound._sounds[key].destroy(true); } // Destroy "everything" in cache. for (var i = 0; i < this.cache._cacheMap.length; i++) { var cache = this.cache._cacheMap[i]; for (key in cache) { if (key !== '__default' && key !== '__missing' && this.cache._doNotDelete.indexOf(key) < 0) { if (cache[key].destroy) { cache[key].destroy(); } delete cache[key]; } } }}(Note: This problem did not occur in previous Phaser versions, so I am suspecting that some reference to the audio files are lingering, but can't find out where.) Also, if anyone has a good way of profiling and debugging browser audio, please share, I haven't found a good way to figure out where all this memory goes (Chrome heap profiler says that I use | 20MB).
  2. Hi, I usually work on clients' projects so I don't have much time for other stuff, but recently I decided to create a game from start to finish. In order to really succeed in doing this, I decided to start with a very basic game. It's based on the idea of the Simon game (from the 80's). A simple memory game where you have to click buttons (that have unique colors and sounds) in a specific order, to follow the computer's demonstration. I've created the basic functionality and I'm looking for ideas to spice up the game play and reach the point where I'll be able to publish the game without worrying that the players will get bored to death... Here's what I currently have (created in Phaser by the way): http://codactive.com/work/html5/phaser/quicknum/ Any idea will be much welcomed. Thanks in advance! Assaf.
  3. Hi, I'm having a serious problem with the memory usage, sometimes it hits 2.6 GB and never goes lower. I have to load some textures that vary from 10 MB to 40 MB for each map, and I'm sure that when I'm switching between the maps this textures are not being removed from the memory, so the problem grows every time you switch the Maps. To test the issue, I created a 186 MB image then I loaded it into PIXI and got a big black texture throwing a lot of WebGL errors, maybe because it's too big? Anyway, I noticed that the RAM consuption grows a lot on the task manager, so I started my attemps to remove it from there, but I could not do it. I tried to do the following: texture.destroy(true); texture = null; But I got nothing, so I did this (to throw everything away): for (key in PIXI.utils.TextureCache) { PIXI.utils.TextureCache[key].destroy(true); } But the memory still remains with the same size, so I tried to use the destroy(true) and after I run the GC, the RAM lowered a bit but I was still able to notice the 186 MB texture being loaded. What must I do to remove it from there?
  4. I am clearing my scene entirely, where I use completely new sounds and new plans/textures. What is the proper way to do this? I'm first going through each of my planes and removing the plane and animations for each of them: item.plane.dispose(); item.animateR.reset(); item.animateX.reset(); item.animateY.reset(); and do the same for the sounds. Then I go to the scene and do the following: scene.dispose(); scene.disposeSounds(); The problem is I still see a lot of memory being used up, even after I do this and have an empty canvas on the screen. Am I missing a step or going about this wrong? Thanks, Jeff
  5. hi. i'm developing MMORPG MadWorld it can play on pc,mobile you can see movie on under link https://twitter.com/jandisoft but mobile has few memory. specially ios under iphone 6(including 6, not 6s) our game png and jpg to draw image with webgl. but it need a lot of memory.. is there any tips to reduce memory? i'm considering compressed texture like etc1, pvr,...etc.. but it can't control easy with multi platform. if you have tips please tell me..
  6. hi. i'm developing mmorpg with webgl it play on pc and mobile mobile has shared memory with system and gpu and memory is very low, specially iphone our game are using png or jpg but it need very big gpu memory do you have any tips to reduce memory? we are considering texture compressed but mobiles need different format for example android etc1 or dxt1 ios pvr is there tools to convert png to compressed texture automatically? thx.. everybody
  7. mesh = 3d model created in blender, around 1MB (practically less, but for the sake discussing the worst case scenario) I have 25 "mesh displayers" on screen simultaneously - each one can display one out of 12 different meshes. Each one can change the mesh it's displaying at any given time. Each mesh displayer has its own array (length: 12) of clones of the original loaded meshes. Would having 300 meshes clones occupying the memory from the moment the game is loaded be too much? Although 25 of them are displayed at any given time, 300 will still be stored in memory. I was thinking of creating a meshes pool and only creating new mesh clones when they have to be displayed (and by definition of objects pool - putting them back in the pool when they no longer need to be displayed) - it'll probably reduce the number of meshes created from 300 to 50-100. On the downside, and this is slightly a guess as I'm not familiar with how many resources are required for the task - cloning new meshes during gameplay can possibly slow things down and damage the experience, most likely more so on mobile devices. Correct me if I'm wrong. There is of course the mixed strategy of creating an objects pool with 50-100 meshes from the start, which could reduce the number of times in which meshes would have to be cloned during gameplay. Is there even a memory issue here or will all options run extremely fast? If there is an issue, which strategy would be better in your opinion?
  8. This is a simple memory game, where you have to remember the pattern and click the tiles to reveal it again. easy mode is easy, while hard is really hard, because you have to remember the pattern with the order. You can also create random generated levels. This is my first game - i have only once made a truly small math python game (only text version). Any feedback is appreciated I was going to make a responsive version of this game so i can export it to ios and google play, but i'm wondering if is it worth it or not, because as the game creator you can not judge your game objectively ? Direct game link: http://www.kongregate.com/games/ehabsan/lightgrid
  9. Hi guys, I've been running profiles in Chrome dev tools on my game but having trouble making things run faster. I realize this is a hard question to ask, but can anyone point me in a direction of things to try? Play/test here: http://daverau.info/play/leafy-mobile/ - the game world is 50k pixels wide platform type game And uses arcade physics for Gravity - all assets are png retina so I'm scaling for high dpi but that doesn't seem to add my overhead - particle emitter is lightweight and doesn't seem to impact performance - I have about 500 platforms that all run collide checks, is there a way to only collide check what's in the camera view? - how can I better isolate what's causing memory leaks and max CPU performance? thanks for any help you can offer! I know it's hard to debug someone else's game but hoping for pointers.
  10. What are some general performance tips that you would have for newcomers to Pixi? Also what should we really take care of if we want to avoid memory leaks, performance issues, etc. I currently destroy all graphics objects, sprites and textures that I use. I also take care of the stage and the renderer. Also I store references to dynamically created objects in arrays and then clear them afterwards when I need to. However I still see small memory leaks here and there. I use chrome dev tools to identify the leaks.. Also, consider this scenario. I have two pages, and on both of them I have a Pixi canvas with some stuff being drawn. When switching from page 1 to page 2, the whole page 2 throttles, until the Pixi canvas is loaded, although this is just a guess for now. However when I remove the Pixi canvas the page loads, fast, normal.. I am just asking this vaguely, since I haven't looked at what might be causing the issue yet, but I want to have some more input before I start. I do draw around 100+ different graphics elements on the second page.. Are there any ways to improve this loading, rendering time of the second canvas? Also I am running this on a 3rd party device, and that's why I need to be very conservative with memory and performance. When running on PC, I do not see performance issues, however the device is also really powerful, so I would not say this is a hardware limitation.
  11. Hi, just noticed my game has suddenly dropped fps quite dramatically (only on Chrome). I found when I reduce my texture atlas from 4096 x 4096 to 4096 x 2048 my frame rate is back up to 60. I'm a bit confused by this. My framerate only drops when I transition to a new screen which draws a few new sprites, but these sprites are still from the same texture atlas, so there is no additional memory used. The rapid drop of frame rate that continues to fall seems to be a symptom of texture thrashing, but my understanding of texture trashing is that it's caused by running out of texture memory and continually swapping textures on the gpu to draw the image. But in my case I'm not adding additional textures to trigger the frame rate decrease... I'm using the CANVAS renderer. Anyone have ideas? Cheers,
  12. hi everyone, im wondering if when i end a level i should call a method to destroy and collect garbage variables to free memory and resources in a game. do you often do that? and how do you do it? thanks
  13. Hello, probably I have a very simple (and stupid?) question. When I load some sprite atlases in my preload function are they downloaded from the server when the preload is executed (and then loaded to memory), or during preload loop they are only loaded to device memory because they were downloaded earlier (before game.load function)? I need to optimise my game to download assets on many loading screens, not all at once. I did some googling but didn't find anything about downloading assets Any advice, links appreciated - thanks
  14. Hi there. I'm working on a small HTML5 game using Phaser. When I make heap snapshots, the memory stay stable between 10 and 12MB, which seems correct for me. But, on a phone, or using the Intel XDK, I can see that the memory usage is much more around 400Mb ! Other applications on my phone are using between 2 Mo and 200Mo. Never as much... I've try to remove all audio contents, but the Ram usage only decreases of 50Mo... Is somebody has an idea ? What should be the Good RAM usage value ?
  15. I have a page that loads about 40K meshes with BabylonJS (run in Chrome). When I disposed the scene (by using scene.dispose()), and deleted all the Javascript references to the meshes, the Javascript memory for the tab was reduced (not very fast, however), but the total memory occupied by the tab did not change (see the picture attached). The next time when I tried to recreate the scene, the memory increased rapidly and the page crashed. Can anyone explain me what contributes to the total memory in Chrome (apart from Javascript memory) and why it was unchanged? Another question is why the GPU memory persists (in the Chrome tab process and GPU process), even when I dispose the scene and hide the canvas? (It reduced significantly when I closed the Chrome tab). Is there anyway to release GPU memory when the 3D graphics is no longer used? Thanks in advance for your help.
  16. Hi, I think that i have a memory leak on animation. Every explosion i create 10 explosion objects, and after some time it is growing a lot, see (521 childrens): https://www.dropbox.com/s/pq1hwyixvsunrnt/Screenshot%202016-04-22%2021.09.46.png?dl=0 My code to add animation is: var effect6 = this.groups.underPlayer.create((o.x * GameApp.TILE_SIZE) + (GameApp.TILE_SIZE / 2), (o.y * GameApp.TILE_SIZE) + (GameApp.TILE_SIZE / 2), 'bombFlameSpritesheet001'); effect6.animations.add('default', [, 1, 2, 3, 4], 12); effect6.anchor.set(0.5, 0.5); effect6.play('default', 12, false, true); I have defined TRUE to destroy on finish.
  17. Hello, Im developing a web interactive app using pixi v 3.0.10 . According to requirement of the application I have to render 300+ images and it can grow in future. Everything works fine with less images but with 300+ images memory grows very swiftly when the application start generating sprites. The memory goes to 800 - 900 MB . Im not using loader . Im using Texture.fromImage method like this: texture = PIXI.Texture.fromImage(imageUrl); I have tried to remove the texture cache after generating all sprites and adding them to stage : for (var textureUrl in PIXI.utils.BaseTextureCache) { PIXI.utils.BaseTextureCache[textureUrl].destroy(); } for (var textureUrl in PIXI.utils.TextureCache) { PIXI.utils.TextureCache[textureUrl].destroy(); } but it throws errors and images goes black: WebGL: INVALID_VALUE: texImage2D: no image data TypeError: Cannot read property 'naturalWidth' of nulli.update @ pixi.min.js:7i._onUpdate @ pixi.min.js:7 :1 [.CommandBufferContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. 4pixi.min.js:7 Uncaught TypeError: Cannot read property 'naturalWidth' of nulli.update @ pixi.min.js:7i._onUpdate @ pixi.min.js:7 :1 [.CommandBufferContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. Uncaught TypeError: Cannot read property 'naturalWidth' of nulli.update @ pixi.min.js:7i._onUpdate @ pixi.min.js:7 :1 [.CommandBufferContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. 4pixi.min.js:7 Uncaught TypeError: Cannot read property 'naturalWidth' of nulli.update @ pixi.min.js:7i._onUpdate @ pixi.min.js:7 :1 [.CommandBufferContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. 4pixi.min.js:7 Uncaught TypeError: Cannot read property 'naturalWidth' of nulli.update @ pixi.min.js:7i._onUpdate @ pixi.min.js:7 :1 [.CommandBufferContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. 4pixi.min.js:7 Uncaught TypeError: Cannot read property 'naturalWidth' of nulli.update @ pixi.min.js:7i._onUpdate @ pixi.min.js:7 :1 [.CommandBufferContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. :1 WebGL: too many errors, no more errors will be reported to the console for this context. Uncaught TypeError: Cannot read property 'naturalWidth' of null I have also tried the following which doesn't throw any error but doesn't seem to have any effect on the memory : for (var textureUrl in PIXI.utils.BaseTextureCache) { delete PIXI.utils.BaseTextureCache[textureUrl]; } for (var textureUrl in PIXI.utils.TextureCache) { delete PIXI.utils.TextureCache[textureUrl]; } with this memory the application doesn't work smoothly and while interacting with the application, memory grows further up to 1.2 - 1.6 GB and application crashes. I have checked and remove some memory leaks earlier which reduced some memory but its still very high. Can you guys suggest me that how can I optimize it ?
  18. hi i'm suffering with memory my game is using 300-400 when start.and mobile version is using 250-350 and memory is grow up if monsters or npcs is appeared . memory is always insufficiet When play by ios like iphone6 or 5 how can i reduce memory T-T/ do you have any idea...?
  19. Hi guys! I have this scene where I import different meshes with lots of polygons, like here: http://babylonjs-playground.com/#1OI6LZ#11 You'll see that I'm importing the same mesh repeated times instead of using instances on purpose. So at some moment, I'd like to remove some of these meshes. In the example above, when you click on the skulls, the mesh.dispose() is called. When I track the memory with the Chrome JS Heap timeline tool I can't really see the memory released though when the dispose() function is called. Here the four skulls were loaded and then I clicked on every one of them, so shouldn't there be some drops visible?: Is there something I'm missing?
  20. Hi I was wondering if I should explicitly destroy all the tweens that I create? I am moving objects on screen every few seconds with one time tweens like so: this.state.add.tween(child).to({ y: prevY + this.blockHeight }, 300, Phaser.Easing.Quadratic.In, true)is it destroyed automatically after the tween is completed or should I destroy it? thanks Lior
  21. Hi to all again I have developed and published another game. I think the gameplay is unique, i havent seen any matching game using flying birds. Here is the advertisement free link http://oyna.oyuntt.com/kuslari-eslestir-hafiza-oyunu/oyna/ You can publish the game on your portal using <iframe id="playframe" width="660" height="850" src="http://oyna.oyuntt.com/matchingbirdiesv2/index.html" frameborder="0" scrolling="no"></iframe>I encourage you to make comment. All comments are welcome.
  22. When swapping out meshes with large animations After a few swaps I get an OOM error. By swapping out animations I mean dispose of the previous mesh and load a new one. This was also an issue in THREE.js, but seems to be less of an issue because Babylon seems to handle files with large amounts of animations much better. However, it appears that both leave these animations in memory even after disposing of the mesh. What is the best way to dispose of a mesh with say, 20k frames of animation, and load another without getting an OOM. Thanks in advance for the help.
  23. Hy, I'm making a apps for a museum and sometimes rooms have game. Most of game are puzzle (some of them have different behaviors...) and each one have : a back button / help button / state win/loose, a background image .... things like that..... This is what i have made : 1 - i have a global object : "figamemusee" it's contain all the function using pixi. (loader / animate / drag / on...) (function($){$.fn.figamemusee = function(params){var requestIdAnimation; .....} 2 - i have a "config.js" : it's return for each game a jsObject with: background image, help texte, images to load, array of position "win" ...... (this one is call before the loader inside "figamemusee", it should be a json.... in next version ;-) ) 3 - Index.html, to make test, with button to load game : (each button got a "game parameter" aka "name of the game"...) function figamestdgo(game){PIXI.loader.reset();$('#figame').html("");$('#figame').figamemusee(game);} 4 - During my test, i made different version like this, with the back button : //------------------------------------------------------------------------------------------------ function onDownBack(eventData) {//retour au musée PIXI.loader.reset(); stage.destroy(true);//true kill child renderer.destroy(true); window.cancelAnimationFrame(requestIdAnimation); $('#figame').html(""); } So, i know that renderer.destroy(true); doesn't exist... but when i don't use it : i've got a lot of error in firebug as a animate function doesn't stop talking about children...When i use it, i'va got only one error : TypeError: displayObject is undefined if(!displayObject.visible) //------------------------------------------------------------------------------------------------------------------------------- So how can i kill a instance of game using "good practice" ?..... 'cause : actually, when i play at second, or third game : i can see some lage in introduction or it's the same.... thanks
  24. HI everyone ! i'm pleased to post here my first Phaser game. The gameplay is based on the well known board game 'Memory' , engaging the player in a challenging task to memorise european parliament members' faces and names . For arbitray reasons , the parliament pool is restricted to France , but further extensions are planned. hope you'll enjoy it and if not you can still enjoy the bossa nova music background. The code is available in credits , critics are welcomes. http://www.alexandrecormier.be/games/EPM/index.html
  25. While developing my game, I refresh the same page many times. Though it doesn't have some complex tasks to do except Timer events, the Firefox process gets too big in allocated memory, around 1GB after 10 or more refreshes of the page. I am sure it is my game since I have it loaded alone in Firefox. What do I miss to do or should I do to clear memory that the game allocates, after each refresh? Is this connected with the browser or is there some Phaser code that is good to be implemented?