Finally fixed! Node-Webkit WebGL issue on Win7/8 laptops

Discussion and feedback on Construct 2

Post » Tue Jul 22, 2014 11:27 am

Pardon me if this has been mentionned before but I just solved an issue I've had literraly for months and couldn't find the answer anywhere.

My game is running perfectly fine on my Win7 workstation and was just horrible on a Win7 laptop with intel HD graphics 3000.

Seems like Scirra was still searching for an answer: https://www.bountysource.com/issues/2781707-terrible-performance-in-node-webkit-0-10-rc1?utm_campaign=plugin&utm_content=tracker%2F51989&utm_medium=issues&utm_source=github @ashley

This helped me: https://github.com/rogerwang/node-webkit/issues/185 but I still had the issue with the previous Node-Webkit release.

I've seen lots of threads where people encounter this issue. And all kinds of suggested solutions that didn't work as far as defragging your harddrive...

Here's how I solved it.

I just downloaded the latest Node-Webkit version release today (22 July 2014)
Here it is http://dl.node-webkit.org/v0.10.0/node-webkit-v0.10.0-win-ia32.zip (from: https://github.com/rogerwang/node-webkit)

Add your package.nw file to the new node-webkit files, rename the nw.exe to your game name.
(The name you get when the project is exported to node-webkit)
And finally, move these two files in the same folder than all the rest of the files.
"d3dcompiler_43.dll" & "D3DX9_43.dll"
You will find the first file in the installer of Chrome, and you should already have the last one somewhere on your computer. I found mine in an Adobe folder. If not, just search it on google.

You should finally be able to run your game at full speed.

This was tricky since the "renderer" expression used in a text object would tell you tha tit's using WebGL but it was in fact disabled as all object with effects would be left unaffected.

I hope Scirra will be able to find a way to integrate this in later releases.
B
17
S
3
G
3
Posts: 89
Reputation: 2,825

Post » Tue Jul 22, 2014 12:01 pm

Last I looked in to this you were not legally allowed to distribute d3dcompiler_43.dll and D3DX9_43.dll: you must instead provide the Microsoft-approved dxwebsetup.exe installer which shows a EULA agreement for those components that the user must agree to. The installer then installs those files.

Construct 2 already shipped dxwebsetup.exe with every node-webkit export and running that on any system which has poor performance/no webgl support should have already fixed the problem. You may want to add this to an installer for your game. Of course, web-based HTML5 games have no such issues, the browsers already include these components.
Scirra Founder
B
387
S
230
G
87
Posts: 24,249
Reputation: 192,240

Post » Tue Jul 22, 2014 12:20 pm

The dxwebsetup.exe indeed installs these files but for some reason it doesn't change anything, the WebGL effects still don't run and the framerate is very low.
Both files mentioned above need to be in the Node-Webkit folder when launching the .exe.
And the latest version of Node-Webkit must be used. That's the only way I managed to fix it.
B
17
S
3
G
3
Posts: 89
Reputation: 2,825

Post » Wed Sep 24, 2014 2:21 pm

Hello everyone,

I would like to update this topic due to some recent findings when I was trying to get WebGL to run with Node-WebKit on my laptop (radeon hd 5650 GPU).
On my laptop WebGL was running fine on browsers but not on Node-WebKit builds.

And so, I took Telyko's advice and downloaded the two previously mentioned files "d3dcompiler_43.dll" & "D3DX9_43.dll", however, I did not need to download the latest Node-Webkit version for it to work.

In conclusion, all I needed to fix said issue was to simply add these two DLL files to the root folder of my Node-WebKit build..

@ashley Do you think there is a way to implement this somehow into a future release, or is it impossible due to the legality reasons that you spoke of before? Without these specific DLL files, my laptop would not have been able to play WebGL games released on platforms such as Steam. Maybe this is something worth looking into which could actually help broaden future GPU support?
B
40
S
21
G
18
Posts: 153
Reputation: 12,308

Post » Thu Oct 02, 2014 9:26 am

Someone finally got my point!
B
17
S
3
G
3
Posts: 89
Reputation: 2,825

Post » Fri Oct 03, 2014 8:32 am

Telyko wrote:Someone finally got my point!

Indeed! And it was a very good one, at that!
B
40
S
21
G
18
Posts: 153
Reputation: 12,308

Post » Fri Oct 03, 2014 9:05 am

performance not change while added the two dll
B
36
S
11
G
1
Posts: 80
Reputation: 3,300

Post » Fri Oct 03, 2014 1:05 pm

@purplemonkey - no, my last post is still true. The solution is to make an installer for your game that runs the dxwebsetup file.
Scirra Founder
B
387
S
230
G
87
Posts: 24,249
Reputation: 192,240

Post » Sat Oct 04, 2014 8:38 am

Ashley wrote:@purplemonkey - no, my last post is still true. The solution is to make an installer for your game that runs the dxwebsetup file.

No Ashley, that is not the solution in this case and that is exactly why I updated this specific topic. I've tried the dxwebsetup installer on several different laptops and it is not a guaranteed method regardless of how many times I try the dxwebsetup installer.

As I did state before, in the cases where dxwebsetup did not work, copying the two previously mentioned files into the root folder of a project would insure success where dxwebsetup would not.

This is why I worry about future game releases on Steam where people will download a game and run the standard dxwebsetup installer which will then ostensibly not work for everyone.

Thank you for your support on this matter.
B
40
S
21
G
18
Posts: 153
Reputation: 12,308

Post » Sat Oct 04, 2014 1:14 pm

Are you sure? Did you try rebooting after the setup? It should drop those DLLs in the system folder so they're available to all applications, not just the node-webkit one.
Scirra Founder
B
387
S
230
G
87
Posts: 24,249
Reputation: 192,240

Next

Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 13 guests