Comments (5)
Hello and thank you for your report.
Matrix4x4.toString can be called implicitly when uaing the Matrix4x4 object
as a key in an Object I guess.
But I don't understand how the latest commits could have an impact on this.
Plus if it is sone in the CameraController it's likely to be done just once
per frame max which should not affect performances at all...
Still, it should not happen indeed.
from minko.
After reading the call stack you posted, the problem is in a closure
function. You can see this because it is called anonymous.
I'm pretty sure there isn't a single closure in minko so this must be in
your own code.
Please confirm by closing this issue. Then if you need further help on
this, please post on Answers:
from minko.
Hmm, I'm pretty sure it's not my code. The only thing I changed in the code base was to pull the latest version of /dev, then update my Effect classes to work with the new API. I never access Matrix4x4.toString() in any of my code. I should note that this problem still occurs even if I use the built in effects (PhongEffect, etc) and none of my own.
Edit
The following example should illustrate that the problem lies within the Minko core. It creates 400 boxes, which will append a rotation each frame. If you check the function call list in Scout, you'll see the call to Matrix4x4.toString() is still there. The anonymous/closure Function call appears to come from within the internals of Flash Player.
package
{
import aerys.minko.render.Effect;
import aerys.minko.render.geometry.primitive.CubeGeometry;
import aerys.minko.render.material.basic.BasicMaterial;
import aerys.minko.render.Viewport;
import aerys.minko.scene.controller.camera.ArcBallController;
import aerys.minko.scene.node.camera.Camera;
import aerys.minko.scene.node.Mesh;
import aerys.minko.scene.node.Scene;
import aerys.minko.type.math.Matrix4x4;
import aerys.minko.type.math.Vector4;
import flash.display.Sprite;
import flash.events.Event;
public class Main extends Sprite
{
private var scene:Scene;
private var camera:Camera;
private var viewport:Viewport;
private var boxes:Array;
public function Main():void
{
viewport = new Viewport();
addChild(viewport);
camera = new Camera();
camera.transform.translationZ = -10;
var control:ArcBallController = new ArcBallController();
control.bindDefaultControls(stage);
camera.addController(control);
scene = new Scene();
scene.addChild(camera);
boxes = [];
for (var i:int = 0; i < 400; ++i)
{
var box:Mesh = new Mesh(CubeGeometry.cubeGeometry, new BasicMaterial( { diffuseColor: 0x222222FF } ));
scene.addChild(box);
boxes[i] = box;
}
stage.addEventListener(Event.ENTER_FRAME, update);
}
private function update(e:Event):void
{
for (var i:int = 0; i < boxes.length; ++i)
{
var box:Mesh = Mesh(boxes[i]);
box.transform.appendRotation(0.01, Vector4.Y_AXIS);
}
scene.render(viewport);
}
}
}
from minko.
The anonymous/closure Function call appears to come from within the internals of Flash Player.
That would indicate that the toString() method is indeed called because the Matrix4x4 is used as a key in an Object.
from minko.
That would make sense, although this wasn't happening before the commit I listed above, so something must have changed.
Edit
I see 8df8c10 has fixed this issue. Keep up the good work guys!
from minko.
Related Issues (20)
- where is minko shaderlab and shaderStudio HOT 5
- minko compile 1 error generated HOT 3
- Collision detection HOT 5
- when will you provide minko3 flash version? HOT 1
- Vulkan API HOT 1
- README Linux section is confuse HOT 2
- Collada model picking? HOT 11
- Chinese characters cannot display on minko-plugin-html-overlay HOT 3
- Mouse events unusable on MacBook HOT 1
- Integration with UIKit HOT 1
- Invalid NDK Path
- Compile Minko SDK android HOT 4
- CylinderGeometry HOT 1
- Using a webserver in the compiled application for an html overlay
- Has minko been abandaned by original developers? HOT 7
- I want use haxe to reimplement the minko source code. HOT 2
- haxe to reimplement the minko source code. HOT 2
- Android build instructions out of date HOT 1
- Integration into Qt HOT 2
- Any chance of enabling discussions on this repo?
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 minko.