What is causing a node-webkit hang when running a basic three.js scene?

I followed the guidelines in the documentation to create a simple cube, but I encountered a frustrating issue. The cube stops spinning after a while, causing the app to hang. This problem seems to occur randomly. To illustrate the issue, I have uploaded a video on YouTube.

Despite using a high-end game PC, the problem persists.

Below is the straightforward code:

// create a WebGL renderer, camera and scene
var renderer = new THREE.WebGLRenderer();
var camera   = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
var scene    = new THREE.Scene();

// Add the camera to the scene
scene.add(camera);

// Pull the camera back from its starting position
camera.position.z = 5;

// Start the renderer
renderer.setSize(window.innerWidth, window.innerHeight);

// Attach the renderer-supplied DOM element 
document.body.appendChild(renderer.domElement);

// Resize canvas when window is resized
window.addEventListener('resize', function() {
    camera.aspect = window.innerWidth / window.innerHeight;
    camera.updateProjectionMatrix();
    renderer.setSize(window.innerWidth, window.innerHeight);
}, false);

// Add test cube
var geometry = new THREE.BoxGeometry(1,1,1);
var material = new THREE.MeshBasicMaterial({color: 0x00ff00 });
var cube     = new THREE.Mesh(geometry, material);

// Add test cube to the scene
scene.add(cube);

// Render
function render() {
    requestAnimationFrame(render);

    cube.rotation.x += 0.05;
    cube.rotation.y += 0.05;

    renderer.render(scene, camera);
}
render();

Answer №1

Include the following code snippet in your package.json:

"chromium-args": "--disable-threaded-compositing"

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Step-by-step guide on duplicating a div a set number of times

I am looking to replicate the entire div multiple times (e.g., on an A4 paper, top left corner, top right corner, bottom left corner, and bottom right corner). <script language="javascript" type='text/javascript'> function updateD ...

Arranging numerous items based on date in JavaScript without prior knowledge

I'm facing an issue where I need to showcase JSON data containing events but want them sorted by time. The challenge is that the number of objects in the JSON can vary as users can keep adding more. Below is my code snippet demonstrating how the displ ...

Is there a way to automatically redirect my page after clicking the submit button?

I'm having trouble with the code below. I want it to redirect to NHGSignin.php if 'new horizon gurukul' is entered. When I click the Next button, it's supposed to take me there but it's not working as expected. Can anyone help me f ...

Increase the space below the footer on the Facebook page to allow for an

I recently created a webpage at and noticed that it is adding extra height below the footer on my Facebook page: "" I am seeking assistance on how to remove this additional 21px height below all content in the footer. I have tried various templates but n ...

Utilizing a singular JavaScript method across various form interfaces

I seem to be facing a bit of a challenge with a task I've been working on. My goal is to have multiple forms (six in total) utilize a JavaScript method that I have created. These forms contain text input values which need to be checked, then passed t ...

How can we ensure that React state remains unaltered when modifying an array set to state?

Hope you're having a wonderful day! I'm encountering a significant problem with React. I have a state that contains an array. Within a function, I create a copy of the state in a new variable. However, any modifications made to this new variable ...

Tailwind CSS Sturdy Top Navigation Bar

I have been attempting to implement a Fixed Navigation Bar using Tailwind CSS and have the main page scroll with a sticky effect, but I'm encountering difficulties in getting it to function properly... Here is the current state of my progress: https ...

Guide on accessing checkbox id in Vue3 and determining its checked status

<div> <input type="checkbox" class="delete-checkbox" :id=this.products[index].sku @click="setDelete(this.products[index].sku)" /> </div> I'm currently working on a Vuex applicatio ...

Unable to host Express app on Firebase functions emulator due to a port conflict with error code EADDRINUSE: address already in use :::3000

Testing the deployment of an express app on Firebase using Firebase functions has presented a challenge for me. Upon running the command firebase serve, I encountered the error EADDRINUSE: address already in use :::3000. Below is my index.js file: const fu ...

Create shorter nicknames for lengthy reference names within the ng-repeat loop

Is it possible to assign an alias to a long reference name in ng-repeat? Currently, I have 2 complex objects where one acts as a grouped index for the other. Although the ng-repeat template code is functioning correctly, it's getting hard to read and ...

What is the best way to align a gltf model in the center of the viewport using threejs?

Recently diving into threejs, I've encountered an issue with moving both an imported gltf model and navigating the camera around said model. My objective is to position the model at the exact center of the canvas, but currently it appears to be cut of ...

Why does my express POST request result in an empty req.body in Node.js?

After confirming that my data is being passed correctly and the db connection is successful, I am facing an issue with my ajax request. Even though the success callback returns the id, my data seems to not be passing through properly. When attempting to a ...

AngularJS's ng-model is able to handle dynamic changes effortlessly

I am working with an array of objects that can be viewed https://i.sstatic.net/Fg1L8.png Within the dropdown box, I have names listed and a text box that displays the value from the selected object https://i.sstatic.net/rY0ET.png The input box is current ...

Example of multiple canvas in three.js using WebGL

Currently, I'm undertaking a project that involves the use of multiple cameras to render the scene onto different canvases. I found some issues with this approach particularly when it comes to the clipping plane behaving oddly at the edges. While ever ...

Forbidden access error in codeigniter with Ajax request 403

I'm struggling to send a value via Ajax to a Controller file in Codeigniter, but unfortunately I haven't been successful. Despite researching this issue and finding that it has been asked many times before, I still can't seem to find a solut ...

Why does my window scroll change when making a $.ajax call?

Encountering a peculiar bug... Whenever my JS code enters the success function after a jQuery $.ajax call, the scroll position on my window suddenly jumps to the bottom of the page. This is problematic for me as I'm developing a mobile page and want t ...

Retrieving, storing, and utilizing JSON variables in Express

I've been struggling to grasp the concept of accessing and processing data using different HTTP methods like get, put, post. Currently, I have managed to retrieve JSON data and store it in a global variable. var pokemonsData; fetch('https://raw ...

Issues with invoking JavaScript functions

In my HTML page, I'm calling a function from a separate .js file named jQuery.loadjson.js. The syntax being used is $('#data').loadJSON(data); #data refers to a div element, and data is a JSON object. However, when I try to debug this in Fi ...

Tailoring Width with css

Apologies for posing this question, but I am curious about customizing the width of a Parent Div that is currently set to 100px for both height and width, creating a square shape. Is it possible to adjust the width separately, such as top-width and bottom- ...

What makes jQuery objects inherently one-of-a-kind?

After researching jQuery objects on this website, it was mentioned that each jQuery object is distinct, even when created with the same selector or containing references to the exact same DOM elements. For instance, the comparison below would result in fa ...