ErekT's Forum Posts

  • I'm curious too if there's any frameworks around or games published using Electron that people here know about? I tried searching but couldn't find anything.

  • That's weird, I have Windows 8.1 too and never experienced anything like that. I guess you've done scans to make sure no nasty malware is lurking around somewhere?

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • You can get a runtime point sampling/linear sampling toggle going if you don't mind editing layout.js a bit.

    How C2's rendering pipeline works is basically draw all scene objects onto a big texture and then display that texture on screen. Fullscreen scaling 'high quality' scales all objects up first, then renders them to the final output texture. 'Low quality' on the other hand renders all objects to the final texture at 1x1 scale and then scales that texture up to fill the screen afterwards. What this means is that if you disable linear sampling on the final texture then nothing gets filtered in 'low quality' mode because all the objects got rendered to it at 1x1, and texture filters only come into effect at non-1x1 scales.

    Simplest way to get it working (for webgl) is:

    Open layout.js and go down to the

    Layout.prototype.drawGL = function (glw)[/code:2z0irrse] line.
    
    Below that you'll see the 'if (render_to_texture)' if-statement where the final output texture gets created.
    
    Change both lines within, from:
    [code:2z0irrse]this.runtime.layout_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling);
    [/code:2z0irrse]
    .. to:
    [code:2z0irrse]this.runtime.layout_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.pointSampling);
    [/code:2z0irrse]
    And now you can turn linear sampling on and off by switching between 'high quality' and 'low quality' fullscreen scaling. 
    If you want it to work with shader effects as well it gets a bit more involved tho. PM me if you're interested and I'll explain more in detail.
  • I'd love to see it, but it doesn't seem feasible as a runtime toggle. To enable or disable linear sampling you need to reload the textures in question. So first off we'd need to have control over the loading of assets, which iirc can't be done while Canvas2D is still in the mix at least.

    And if you take into account that NWjs doesn't have WinXP support and Native does, things should be even again.

    Just jumping in to say that, at least back in the nwjs 13.0 days, you could get nwjs builds to run on XP by dropping dbghelp.dll from the official nwjs package into the build folder. Don't know if that'll still work, I don't have a machine with XP installed around to test, but worth a try?

  • Builds take about 100 MB at minimum, If I remember right it's because the entire chromium browser is packaged into it. You can check the size of package.nw to find out how much space your actual game assets take.

  • Try replacing lottes_crt.fx with this:

    https://dl.dropboxusercontent.com/u/70562654/lottes_crt.fx

    Does that help?

    UPDATE 29/10:

    I messed up. Applied the fix to an old file where in-editor scanline and shadowmask parameters were disabled. Fixed now.

  • Thx

    Damn, I thought I squashed that. I'll have another look. Are you using letterbox or letterbox integer?

  • Readability for sure. It'll be easier for others to modify when they understand what's going on, and the tech-minded can optimize it themselves if they like.

  • You do not have permission to view this post

  • Ashley: I just discovered the fix was completely trivial. I had kiosk mode turned on, and that's what caused all the stuttering for some reason. Now that I turned it back off it performs the same as preview. So, still a bug I guess? But easy to get around at least. Thanks for offering though.

  • Sorry, I simply don't have the time for that. That'd be x amount of hours doing complete stabs in the dark for something I may not even be able to reproduce, me not knowing the inner workings of C2 or how it bundles export builds. Reading the nwjs blog, it seems they've done some extensive re-writing to how garbage collection is handled, which leads me to believe it's related to that. But again, I'm not a tech person nor do I know how C2 really works under the hood.

  • Talked about earlier here:

    Problem Description

    Final export builds have visible jank on Windows whereas preview builds don't. Gets a lot worse with nwjs 17.0 than 16 and earlier.

    Attach a Capx

    Ashley I'd rather not post the capx out in the open so can I PM the link to you?

    Description of Capx

    Stripped down version of game in progress, starts in a test level where jank is evident by just moving around and letting the camera scroll back and forth.

    Steps to Reproduce Bug

    • Step 1 Run the capx on a computer with Intel Iris 6100 or similar.
    • Step 2 Observe scrolling speed during preview. Double-tap direction key to move around faster.
    • Step 3 Export and compare export screen updating to that of preview.

    Observed Result

    Janky as all hell on export with nwjs 17.0, visible jank on 16.0 and earlier.

    Expected Result

    That export builds run as smooth as, if not smoother than, preview.

    Affected Browsers

    nwjs

    Operating System and Service Pack

    Windows 8.1

    Construct 2 Version ID

    r232 - earlier versions have been behaving exactly the same.

  • Dunno if I'm missing something but wouldn't you get the same deal out of creating a sprite object and setting it to invisible? Shows up in the editor, can hold instance variables aplenty, and being invisible won't show up or consume any resources during runtime. Well maybe except for a bit of gfx memory but if you set to sprite to something like a 4x4 res image it won't make any practical difference. Right?

  • Got around to having another go at this finally. I've only tested on my laptop but it should work with all resolutions. I also added a variable to control screen curvature.

    You can apply this to layouts, layers or sprite objects if you want to. Just be sure to set width and height to whatever size your object is. For instance, if you're applying it to a layout you should set width and height to the game resolution. If you put it on a sprite then set it to the sprite's size.

    It works best with pixel rounding turned on and fullscreen scaling on high quality.

    https://dl.dropboxusercontent.com/u/70562654/LottesCRT.zip