Search the Community
Showing results for tags 'optimisation'.
-
I can't get console error into playground, but the bug is still here: if I want to use KTX compressed textures, BJS don't fallback to source texture if the ktx file isn't found. So inevitably the use of a scene HDR envTexture cancel the scene loading. line 16, set the value to true: https://www.babylonjs-playground.com/#F70HUY (texture files comes from here) In a more gobal way, if a texture miss its KTX version, it could be very convenient to use source texture instead (when you have hundreds of texture, you can't convert files each time you update them). Here an example with a jpg texture which doesn't have its corresponding ktx file: https://www.babylonjs-playground.com/#F70HUY#1 If I well remember (not sure), a few (long?) time ago, BJS was doing this source-texture fallback, am I wrong?
-
my game seems incredibly slow on mobile devices compared to pc where i get between 50 - 60 Fps. I have like 15Fps maximum on android device and 18Fps if lucky. I know i should post some codes right but trust me it's a long list of code to post.. so are there any hidden optimisation tips specifically for mobile that i should know NB: i'v tried LOD, Occlusion query, octree
-
On desktop I have a clear view of how it works, so I will start by asking how textures are manage on mobile hardware (tablet or smartphone) but of course if someone wants to ask something about desktop, this topic is open. We assume that all textures size are obviously in power of two. If I have textureOne, jpg file, and textureTwo which is the same but in png, do they take the same amount of ram once loaded ? If yes, using for example tga will change only the download time and not the performance ? Could uncompressing a texture kill some FPS ? (example : jpg file to RAM ; png file to RAM) Is Mobile hardware have VRAM or only RAM shared between CPU and GPU unit ? It depends of the device I supposed ? Is there a way to use mipmaps or is this specific to dds format ? Thanks
- 9 replies
-
- hardware
- optimisation
-
(and 2 more)
Tagged with:
-
hi, Been reading about basic game function, engine, cycles, FPS and refresh rate and now wondering how Phaser manages all of these, if at all. Game design is usually enabled so that the game cycle and FPS do not interfere with other too much so code works the same (aka similar playability but with varying graphical experiences) for different systems of ranging capacity. But I have not read anything about this optimisation for Phaser games. Is this because the frame rate is controlled by refresh rate of the web browser used by the player and therefore out of design control? I have been reading Phaser game code on different sites and nowhere have I seen this optimisation implemented. While surfing I actually came across a site with a series of playable examples and associated coding (minor snippets really and minimal graphics) which seemed to stall and were jerky during play. This was in stark contrast to all my other experiences with Phaser code examples. I was using a Samsung Tab A at the time. So the question above came to mind much later as the dust was settling after a session of hunting out information. So how does Phaser deal with the above and optimisation for a multitude of systems of varying capacity? Does it 'sleep' in between cycles when CPU calculations are not required to conserve battery power? Thanks
-
- fps
- game cycle
-
(and 1 more)
Tagged with:
-
Hi, I applied scene optimisation like this, SceneOptimizer.OptimizeAsync(this.scene, SceneOptimizerOptions.ModerateDegradationAllowed(30)); And got error: Cannot merge meshes because resulting mesh will have more than 65536 vertices. Please use allow32BitsIndices = true to use 32 bits indices After checking code I found that Mesh merge accepts its as parameter, so can I somehow set it so SceneOptimiser can use it or there is something else what I can do?
-
Hello, I have 5 years of experience developed videogames with html5 Pure javascript Createjs Nodejs Babylonjs MySql I am available to work on large projects, freelance / remotely, part time or full time.
-
- optimisation
- freelance
-
(and 1 more)
Tagged with:
-
Hello! Does anyone have time to lend a hand with some optimisation please? I've been trying to get some dynamic ring shapes to look good and respond well, and performance seems OK on PC's (I've tested on 3 or 4 PC's with varying specs). On Macs (iMac, recent macbook pro and a mac mini) the CPU shoots up to 99% in Safari, so I'm obviously doing something wrong. Even with texture reflection and refraction turned off and lower detail it's still very jumpy and slow. I updated chrome on the mac, which seemed to help and gave much better performance - but it's still far from the performance of a PC. I have a feeling that Safari might just have a bad implementation of WebGL. The basic playground examples run really slowly too. I'm using a Lathe to create the ring, and I'm aware of the latheTesselation, which shouldn't be too high. The API says that the Lathe can be set to "updatable", and I've tried to use code to update it, but the 2 code examples that I tested just didn't work. I think this is because the update can only move existing points, and not replace them. Any time I want to update the ring parameters I just dispose of it and recreate it. Any tips are well appreciated - And sorry about the shoddy code!! http://tolli.co.uk/babylonjs/rings/
- 2 replies
-
- slow in safari
- optimisation
-
(and 2 more)
Tagged with:
-
Hello everybody. I am trying to optimize my game, and would like to know, which of this two Phaser techniques would be more optimal in term of resource usage. On one side I got SpriteSheet - 'atlasJSONHash'. // preload game.load.atlasJSONHash('image', 'assets/image.png'); // create var foo = game.add.sprite(0, 0, 'image'); foo.animation.add('main'); foo.animation.play('main', 30, true); On other side I got just a sprite with a texture, and I'm changing it's texture in the Phaser render function, with another preloaded texture. // preload var textureArray = []; textureArray.push(game.load.image('image0', 'assets/image0.png') ); textureArray.push(game.load.image('image1', 'assets/image1.png') ); textureArray.push(game.load.image('image2', 'assets/image2.png') ); // and so on, 'in the game this is done by a loop'. // create var i = 0; var foo = game.add.sprite(0, 0, 'image0'); // render foo.loadTexture('image' + i); i++; In both cases there are same images [img0, img1, img2, ...], but in first example they are combined into a spritesheet, and in other they are separately loaded as a png images. I would like to know, which would you recommend, again in terms of resource consumption. Thank you in advance.
- 3 replies
-
- animation
- sprite sheet
-
(and 4 more)
Tagged with:
-
Hello dear Babylon lovers! I'll try to be clear : For the Babylon monthly challenge, I create a random maze, with many meshes. Then, I merge all the meshes for performance reason. It looks something like this http://www.babylonjs-playground.com/#QDDWX (better than this ) My question is : It merges the meshes, it's ok, but what about the inside faces ? Is it possible to remove it (the faces you can see inside the boxes) ?
-
Hi everyone, First of all, happy new year and thanks for this amazing webgl engine. I noticed the view matrix of the camera is computed for each frame when BABYLON.Camera.prototype.getViewMatrix is called by BABYLON.Scene.prototype._renderForCamera (called by BABYLON.Scene.prototype.render). BABYLON.Camera.prototype.getViewMatrix is in two parts: this._computedViewMatrix = this._getViewMatrix();// BABYLON.Camera.prototype._getViewMatrix is overrided in sub-classes (ArcRotateCamera and FreeCamera compute for each frame a matrix and return it)and if (this.parent && this.parent.getWorldMatrix) { if (!this._worldMatrix) { this._worldMatrix = BABYLON.Matrix.Identity(); } this._computedViewMatrix.invertToRef(this._worldMatrix); this._worldMatrix.multiplyToRef(this.parent.getWorldMatrix(), this._computedViewMatrix); this._computedViewMatrix.invert(); return this._computedViewMatrix; }which computes the view matrix if the camera has a parent. Is it on purpose that the view matrix is computed for each frame? Is it better for the memory? (instead of caching values like it's done for the meshes; BABYLON.Mesh.prototype.computeWorldMatrix)
- 14 replies
-
Hey, We have a 3/4 perspective game running at 800x800 with about 50 32x32 sprites on the screen at one time. After loading our game, within about 30 seconds with movement of our character, the game starts to bog down, shortly hangs, and we receive the error in the Javascript Console: Cannot set property '__next' of null (line 4197 of phaser.js) We are running the dev version of phaser, but have tried with the stable version with no success either. I suspect we just need to optimise our game, but it doesn't seem to be overly complicated - we are surprised that it starts to bog down with only 80 or so sprites on the screen. Any help would be greatly appreciated Thanks
- 3 replies
-
- performance
- phaser
-
(and 2 more)
Tagged with: