Comments (13)
Ah, I'm sorry. I forgot, that one timer gets created on top-level. Try this instead:
Create a file "fixPerformance.js" (name it whatever you like) with the 2 code lines above, then import that file before you import @box2d/core
.
from box2d.ts.
You can check how the CLI benchmark does it: https://github.com/Lusito/box2d.ts/blob/master/packages/benchmark/src/cli/index.ts
import { performance } from "perf_hooks";
global.performance = performance as any;
from box2d.ts.
Sorry, I don't understand what should I change to fix it. I use JavaScript instead of TypeScript.
from box2d.ts.
Somewhere in your server-side code, add the import and the global.performance assignment. Just make sure, the assignment happens before you work with box2d.
JavaScript version:
import { performance } from "perf_hooks";
global.performance = performance;
from box2d.ts.
import { performance } from "perf_hooks";
global.performance = performance;
import { b2World } from "@box2d/core";
const world = b2World.Create({ x: 0, y: -9.8 });
console.log("ok");
E:\_Projects\Physics\box2d-core\server-side-box2dcore-webgl-js>node src/server/app.js
E:\_Projects\node_modules\@box2d\core\dist\common\b2_timer.js:27
this.m_start = performance.now();
^
ReferenceError: performance is not defined
at new b2Timer (E:\_Projects\node_modules\�[4m@box2d�[24m\core\dist\common\b2_timer.js:27:24)
at Object.<anonymous> (E:\_Projects\node_modules\�[4m@box2d�[24m\core\dist\collision\b2_time_of_impact.js:230:32)
�[90m at Module._compile (internal/modules/cjs/loader.js:1072:14)�[39m
�[90m at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)�[39m
�[90m at Module.load (internal/modules/cjs/loader.js:937:32)�[39m
�[90m at Function.Module._load (internal/modules/cjs/loader.js:778:12)�[39m
�[90m at Module.require (internal/modules/cjs/loader.js:961:19)�[39m
�[90m at require (internal/modules/cjs/helpers.js:92:18)�[39m
at Object.<anonymous> (E:\_Projects\node_modules\�[4m@box2d�[24m\core\dist\index.js:46:14)
�[90m at Module._compile (internal/modules/cjs/loader.js:1072:14)�[39m
from box2d.ts.
Thank you very much!
fix-performance.js
import { performance } from "perf_hooks";
global.performance = performance;
app.js
import "./fix-performance.js"
import { b2World } from "@box2d/core";
const world = b2World.Create({ x: 0, y: -9.8 });
console.log(`gravity = ${world.GetGravity().y}`);
Output: gravity = -9.8
from box2d.ts.
Related Issues (20)
- Active development HOT 1
- Potential Project Dependant - How to install and Good Fit? HOT 1
- Create API Docs HOT 1
- As a project developer, I want to be able to render the world to a canvas using a function HOT 7
- wasm builds of box2d and liquidfun HOT 2
- [Solved] Constructor of class 'b2World' is private and only accessible within the class declaration HOT 2
- [Solved] b2_island.d.ts:3:10 - error TS2305: Module '"./b2_contact_solver"' has no exported member 'b2ContactVelocityConstraint'. HOT 6
- Hasn't the DebugDraw() method been implemented? HOT 2
- [Solved] Where can I find the demo source code for the official @box2d/core examples? HOT 2
- Hello World example HOT 2
- Testbed a little too fast
- Hacktoberfest
- Plz make little note in guide HOT 1
- Feature Request: Implementation of b2Draw, SetDebugDraw and DebugDraw HOT 19
- [Solved] The requested module '@box2d/core' does not provide an export named 'b2Draw' HOT 2
- [Solved] `DrawSolidPolygon` gets wrong collider position HOT 6
- Rotation problem with box2d-core and WebGL HOT 12
- Feature Request: Add the ESM button to jsDelivr HOT 2
- Feature Request: Add an information to jsDelivr that @box2d/core is JavaScript port too HOT 1
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 box2d.ts.