NW.js [0.14.0rc1 – v0.19.0] Critical Screen Flickering Bug

General Information:

  • Using NWjs version 0.14.x and higher
  • Windows 7; Windows 8+; Windows 10, all with latest drivers
  • GPU’s affected: AMD, Intel and Nvidia
  • Package.nw file to reproduce the bug (package.zip)
  • Youtube Video (Click Here)
  • Construct 2 Forum Bug Report (including response from the developer found on page 2)

Problem Description:
When I’m trying to run a packaged Construct 2 game (HTML5) in fullscreen mode, there is a chance that the window flickers, mostly in an unpredictable random pattern.

Observed Result:
All NWjs releases mentioned above seem to have this issue and multiple tests to reproduce this bug were successful using the attached package.nw file. Some setups which used Win7 or Win8 did remain unaffected.
Our tests also came to the result that the playback of audio seems to affect and trigger this bug on the majority of the tested setups.

Expected Result:
NWjs should run fine without any screen flickering in fullscreen mode.

Steps To Reproduce Bug:

  1. Run the package.nw file using one of the NWjs versions mentioned above
  2. Notice the game going fullscreen and playing back an audio file (0.5sec. loop)
  3. Notice the bug occurring in a random pattern, mostly when the audio stops

Additional Information:
Members of the C2 community are still actively trying to figure out a reliable way to reproduce this bug.
There have been speculations that C2‘s audio plugin might be at fault, however the developer behind the software didn’t provide a clear statement about that yet.

Author: Fantashit

2 thoughts on “NW.js [0.14.0rc1 – v0.19.0] Critical Screen Flickering Bug

  1. I could reproduce this on Windows 10 with an nVidia GTX 1070, but it’s sporadic and hard to get to reproduce reliably.

    I doubt that audio has anything to do with it specifically, I would guess it is some kind of threading race condition and in some cases another thread (e.g. audio processing thread) can steal enough time to make the rendering skip a frame.

    Chrome is not affected however, so this appears to be an issue specific to NW.js’s particular implementation of fullscreen.

Comments are closed.