Search the Community

Showing results for tags 'memory'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • 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 53 results

  1. X.htmlI intend to use Babylon.js for displaying digraphs that are uploaded by the end-user. I've noticed that that the memory grows after each upload (and the rotations and panning are getting slower). Obviously, I have to get rid of the previously loaded graphs, so I've declared scene as a global variable and have included the statement: if (scene != null) scene.dispose(); before creating the next scene. However, if the scene exist, I receive the error "No camera defined" and I have to reload the page. I'm a novice to javascript, babylon.js and 3D - I'm presuming I'm doing something obviously wrong. The error (SCRIPT5022) is in: babylon.2.5.js (12,14463) - Tried to attach the page file, but the uploading is failing with err -200 .... Here is the complete page, erroring statement marked red: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html" charset="utf-8" /> <title>Babylon - Getting Started</title> <script src="babylon.2.5.js"></script> <script src="hand-1.3.7.js"></script> <style> html, body { overflow: hidden; width: 100%; height: 100%; margin: 0; padding: 0; } #renderCanvas { width: 100%; height: 100%; touch-action: none; } .button { background-color: #4CAF50; /* Green */ border: none; color: white; padding: 15px 32px; text-align: center; text-decoration: none; display: inline-block; font-size: 18px; font: verdana; } </style> </head> <body> <script> var fName = '...'; var displayModel; var engine; var xhr; var scene; window.addEventListener('DOMContentLoaded', function () { // get the canvas DOM element var canvas = document.getElementById('renderCanvas'); // load the 3D engine engine = new BABYLON.Engine(canvas, true); window.addEventListener('resize', function () { engine.resize(); }); } ); // ************************************************************************************************************************************* //http://borjan5/ArchLS/api/SoaScape3D/Render25D/62b702b6-7903-49f4-b609-5ccda2bdba4f function renderApiTest() { var url = "http://borjan5/ArchLS/api/SoaScape3D/Render25D/62b702b6-7903-49f4-b609-5ccda2bdba4f"; xhr = new XMLHttpRequest();"GET", url, false); xhr.setRequestHeader("Content-type", "application/json"); xhr.addEventListener("load", apiComplete, false); /* xhr.addEventListener("error", apiFailed, false); xhr.addEventListener("abort", apiCanceled, false); */ xhr.send(); } function renderFile25D() { var url = "http://borjan5/ArchLS/api/SoaScape3D/Render25D/62b702b6-7903-49f4-b609-5ccda2bdba4f"; xhr = new XMLHttpRequest();"GET", url,true); xhr.setRequestHeader("Content-type", "application/json"); xhr.addEventListener("load", apiComplete, false); xhr.send(); } function renderFile() { alert('Not there yet'); } // ************************************************************************************************************************************* function renderDemo() { var url = "http://borjan5/ArchLS/api/SoaScape3D/RenderDemo"; xhr = new XMLHttpRequest();"GET", url, true); xhr.setRequestHeader("Content-type", "application/json"); xhr.addEventListener("load", apiComplete, false); xhr.addEventListener("error", apiFailed, false); xhr.addEventListener("abort", apiCanceled, false); xhr.send(); } // ************************************************************************************************************************************* function renderBuiltIn() { displayModel = { "Title": "Built-in Data", "Mode": 1, "Applications": [ { "Name": "APPL1", "Form": 0, "Id": 0, "ToolTip": "", "V3": 0, "X": 46.5826874, "Y": 30.3723526, "Z": 0.0 }, { "Name": "APPL2", "Form": 0, "Id": 1, "ToolTip": "", "V3": 0, "X": 91.46761, "Y": 50.6884537, "Z": 36.0399628 }, { "Name": "APPL3", "Form": 0, "Id": 2, "ToolTip": "", "V3": 0, "X": 51.7862473, "Y": 81.5939941, "Z": 36.0399628 } ], "Services": [ { "Name": "SERVICE1", "ProviderId": 0, "Form": 1, "Id": 0, "ToolTip": "", "V3": 0, "X": 50.97662, "Y": 36.7166367, "Z": 6.359515 } ], "ConsumingRelations": [{ "ConsumerId": 1, "ServiceId": 0, "ProviderId": 0 }, { "ConsumerId": 2, "ServiceId": 0, "ProviderId": 0 } ], "DisplayBoundary": { "Form": 0, "X": 69.025146484375, "Y": 55.983173370361328, "Z": 36.039962768554688, "W": 22.442462921142578, "H": 25.610820770263672 }, "LastError": "" }; showDisplayModel(); } // ************************************************************************************************************************************* // ************************************************************************************************************************************* function myUpload() { var file = document.getElementById('9999').files[0]; var ajax = new XMLHttpRequest; var formData = new FormData; formData.append('archimateFile', file); //alert('aa1'); ajax.upload.addEventListener("progress", myProgressHandler, false); //ajax.addEventListener(''); ajax.addEventListener('load', myOnLoadHandler, false); fName = generateUUID();'PUT', 'http://BORJAN5/BAB_DATA/' + fName + '.xml', true); ajax.send(formData); } function generateUUID() { var d = new Date().getTime(); if (window.performance && typeof === "function") { d +=; } var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { var r = (d + Math.random() * 16) % 16 | 0; d = Math.floor(d / 16); return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16); }); return uuid; } function myProgressHandler(event) { //your code to track upload progress var p = Math.floor(event.loaded / * 100); document.getElementById("uuid").textContent = fName + ' ' + p + '%'; } function myOnLoadHandler(event) { // your code on finished upload // document.title =; document.getElementById("25D").disabled = false; document.getElementById("3D").disabled = false; document.getElementById("2D").disabled = false; // alert('DONE ' +; document.getElementById("uuid").textContent = ' File uploaded: ' + fName + ".xml"; } function apiComplete(evt) { var data = xhr.responseText; //alert('API DONE: ' + data); displayModel = JSON.parse(data); showDisplayModel(); } function showDisplayModel() { var scene = createSceneAndShow(); engine.runRenderLoop(function () { scene.render(); }); } function apiFailed(evt) { alert("An error occurred while transferring the file."); } function apiCanceled(evt) { alert("The transfer has been canceled by the user."); } // ************************************************************************************************************************************* function createSceneAndShow () { var canvas = document.getElementById('renderCanvas'); if (scene) scene.dispose(); scene = new BABYLON.Scene(engine); var camera = new BABYLON.ArcRotateCamera("Camera", 1, 0.8, 600, new BABYLON.Vector3(50, 50, 50), scene); camera.attachControl(canvas, false); var light = new BABYLON.HemisphericLight("hemi", new BABYLON.Vector3(0, 1, 0), scene); var material1 = new BABYLON.StandardMaterial("mat", scene); var material2 = new BABYLON.StandardMaterial("mat", scene); for (var key in displayModel.Applications) { if (displayModel.Applications.hasOwnProperty(key)) { var sphere = BABYLON.Mesh.CreateSphere(displayModel.Applications[key].Name, 16, 4, scene); displayModel.Applications[key].V3 = new BABYLON.Vector3(displayModel.Applications[key].X, displayModel.Applications[key].Z, displayModel.Applications[key].Y); sphere.position = displayModel.Applications[key].V3; sphere.material = material1; } } material1.diffuseColor = new BABYLON.Color3(1.5, 0, 0); var linesColor1 = new BABYLON.Color3(1, 0.2, 0.1); for (var key in displayModel.Services) { if (displayModel.Services.hasOwnProperty(key)) { var obj = BABYLON.Mesh.CreateSphere(displayModel.Services[key].Name, 16, 4, scene); displayModel.Services[key].V3 = new BABYLON.Vector3(displayModel.Services[key].X, displayModel.Services[key].Z, displayModel.Services[key].Y); obj.position = displayModel.Services[key].V3; var pId = displayModel.Services[key].ProviderId; var myLines = BABYLON.Mesh.CreateLines("a", [obj.position, displayModel.Applications[pId].V3], scene); myLines.color = linesColor1; } } for (var key in displayModel.ConsumingRelations) { if (displayModel.ConsumingRelations.hasOwnProperty(key)) { var idA = displayModel.ConsumingRelations[key].ConsumerId; var idS = displayModel.ConsumingRelations[key].ServiceId; var myLines = BABYLON.Mesh.CreateLines("a", [displayModel.Services[idS].V3, displayModel.Applications[idA].V3], scene); } } return scene; } </script> <div id="bts" style="color:#0000FF"> <span> <input id="9999" style="background-color: #4CAF50; width: 30%" type="file" name="archimateFile" onchange="myUpload()"> <span id="uuid">...</span> </span> <button id="2D" class="button" style="background-color: #BCAC00" name="render2" onclick="renderFile()">SHOW 2D</button> <button id="25D" class="button" style="background-color: #1387F5" name="render25" onclick="renderFile25D()">SHOW 2,5D</button> <button id="3D" class="button" style="background-color: #E70000" name="render3" onclick="renderFile()">SHOW 3D</button> <button id="DEMO" class="button" style="background-color: #D490B8; color: black" name="demo" onclick="renderDemo()">SoaScape Demo</button> <button id="DEMO" class="button" style="background-color: #D4CE90; color: black" name="demo" onclick="renderApiTest()">API Test</button> <button id="DEMO" class="button" style="background-color: #90D4AC; color: black" name="demo" onclick="renderBuiltIn()">Built in data</button> </div> <div> <canvas id="renderCanvas"></canvas> </div> </body> </html>
  2. Hi there, first i'm more or less new to JS and Pixi (comming from php), so please be patient if i ask strange questions i want to write an relative huge game/app with many locations and animations (spine maybe) and want to realize it in an one page app. To keep the memory usage low i try to write an stage/container management class that only initialize the elements (sprites/animations/dom elements) on demand and dispose them afterwards. My question is now is there allready an solution for this hidden in pixi? Or does a best practise exist for this? Or does there exist maybe even a tutorial for such a thing? Like mentioned i tried allready to write an class, but this works only for better management, but not for less memory usage or performance (app.js) And till now only adding (dom)elements and displaying them works (with resize! ) but destroying or adding the sprites in the container wont work. so any suggestions or guiding directions how to solve the many locations issue?
  3. Should i set variables to null after removing them? Is it a good practice? I have 2 states: load and play. I want to delete "Loading..." text when switching state to play but loadingText variable is always Phaser.Text object if i dont set it to null. My current code is: var loadingText; // load state loadingText = game.add.text(...); // ...end of load state; game.state.start("play"); Should i set loadingText variable to null to free memory?
  4. phaser

    Hi all, Please try out my very first game created with Phaser: Follow My Lead. INSTRUCTIONS: - Pay attention to the button sequence - Now repeat the button sequence to go to the next level - Try to complete the stage to unlock the next one! The last stage is unlimited and works the same way as a Simon game. You can try it here on newgrounds: I also converted it into an Android app with Cordova (any Cordova users here?) You can try it out here: Any feedback or advise is appreciated! Walking Fort
  5. Hi All, What is the best way to free the memory used by a scene ? I tried scene.dispose but I don't retrieve all the level of memory that I had before loading the scene... Thanks for your help. Best regards
  6. Hi guys, my game was working fine, fluently, etc and I was expanding it. It's platform, where a lot of bullets are flying, also many spikes hang from the upper platforms. Now, when I add more spikes and more bullets, when the turrets shot them, the game drastically slows. Is too many object there? And what can I do to make it faster again? Creating spikes: function create_spikes ( x , y , number, angle, vertical) { for (i=0; i < number; ++k, i++) { if ( vertical != 'yes' ) { spikes[k] = game.add.sprite((x+i)*16, y*16, 'kolec'); } else spikes[k] = game.add.sprite(x*16, (y+i)*16, 'kolec'); game.physics.enable(spikes[k], Phaser.Physics.ARCADE); spikes.enableBody = true; if ( angle==180 ) spikes[k].body.setSize(12, 8, -14, -16); else spikes[k].body.setSize(12, 8, 4, 8); spikes[k].body.allowGravity = false; spikes[k].angle=angle; } } //ENEMY BULLETS ebullets =; ebullets.enableBody = true; ebullets.physicsBodyType = Phaser.Physics.ARCADE; game.physics.enable(ebullets, Phaser.Physics.ARCADE); ebullets.createMultiple(50, 'enemy_bullet'); ebullets.setAll('checkWorldBounds', true); ebullets.setAll('outOfBoundsKill', true); //ENEMY SHOOTING function enemy_shooting (enemy,type,direction) { if ( type == 'mortar' && enemy.alive==true) { nextFire = + fireRate; var ebullet = ebullets.getFirstDead(); ebullet.reset(enemy.body.x-20, enemy.body.y-20); ebullet.body.velocity.y=-200; if ( player.body.x <= enemy.body.x ) ebullet.body.velocity.x=-200; else ebullet.body.velocity.x=200; }
  7. 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).
  8. 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): Any idea will be much welcomed. Thanks in advance! Assaf.
  9. 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?
  10. 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
  11. hi. i'm developing MMORPG MadWorld it can play on pc,mobile you can see movie on under link 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..
  12. 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
  13. 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?
  14. 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:
  15. 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: - 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.
  16. 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.
  17. 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,
  18. 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
  19. 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
  20. 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 ?
  21. 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.
  22. 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): 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);'default', 12, false, true); I have defined TRUE to destroy on finish.
  23. 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 ?
  24. 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...?
  25. Hi guys! I have this scene where I import different meshes with lots of polygons, like here: 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?