megatronx's Forum Posts

  • badly. but it's good for focusing on mobile dev. mobile graphics are around that strong.

    compare

    http://www.notebookcheck.net/Intel-HD-G ... 979.0.html

    and

    http://www.notebookcheck.net/Qualcomm-A ... 784.0.html

    Badly in what sense? Doesn't support webgl? Even pixelart games don't work? etc

  • > Of course everyone would like to see wgl2 implemented once it is suppoerted.

    >

    Nahh, let's stick to good old canvas 2d, no one need those fancy webgl stuff!

    You don't say

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Hi,

    I'm buying a laptop with i5-4210u, but it only has integrated i4400. Can anyone tell me how c2 games perform on it?

    Thx!

  • Of course everyone would like to see wgl2 implemented once it is suppoerted.

  • They don't clone, but create a new one. Thought clone action would be awesome! Ashley

  • newt jayderyu megatronx Ashley,

    I should be clear, the actual time it takes construct 2 to execute a function can be up to 5x longer than another action single action. Just the calling of the function. (You may say, well of course you would never simply just call a function, but that is not true, (dynamics switch replacements may call functions that don't exist and other cool function uses may call a blank function)). As Ashley pointed out, a tiny thing can execute fast, and even though the functions take longer than that, they are still fast. Compared to a simple event like adding 1 to a variable, calling a function and doing nothing is quite a bit slower.

    Its nothing I would worry about, unless you are like me, where in my project I had been willy nilly splitting everything out into functions. I was never repeating code. But usually, a function can require much more than simply calling it. You must construct its name in a dynamic system, pass it a parameter (usually a uid) pick the object by uid once in the function, and finnaly do what needs done. Usually another function is called where you pass parameters and then use the return value. Thus functions are in functions. Its something that happens alot in programming.

    Now if you are doing this everywhere and only doing a few things in each function (maybe 2-3 conditions, 2-5 actions), you are really decreasing performance relative to the alternative. If you are doing many more things, like running an entire ai tree from one function call, the function use is irrelevant and has basically 0 impact on performance (unless you need to call it 1000 times a tick, but still, you probably have other worries at that point in terms of performance)

    I have attached a capx that hopefully demonstrates the problem. The capx shouldn't be too hard to understand so if a test doesn't make sense, just read the events in the relevant group or ask me. I chose 1000 cycles every tick arbitrarily. I would say, in a decent sized project, it is easy to expect to be doing at least that much work every tick, but it really depends right?

    For the most part, If you do everything in javascript that you can, and use the event system to wire everything together performance will be great. and has been my dev method for the last year. I once made a collision detection algorithm in construct, it was around 2,000 events. I thought it would be fun lol. The java script version barely has an impact while the event based version took a chunk of cpu to run eveyrtick. I think this is to be expected...

    Anyway, I like to create tests just to see what takes time and what doesn't, it has helped me to determine when and where I should put things in javascript rather than events. I also am master and chief at prematurely optimizing, but its my favorite part about coding. If I am in a hurry I don't fiddle too much with it lol.

    https://www.dropbox.com/s/0xhwlwrwq9b1xtx/EventTypePerformanceTest.capx?dl=0

    Will look at your benchmark, thought to me it was visible, without any specific benchmarks. But I did thought that small functions would work better then big ones. I also noticed a problem with triggers including functions, that they not always allow loop to complete in full. Probably a bug.

  • Yep. keep backups. I have 10 backups + DB backup + SVN server backup + teammate's backups. No it's not overkill

    I make one backup manually, placing it in cloud, and also I'm doing one more backup every time a bigger goal is met.

  • zenox98 Unticking cache actually worked! Love you man!

    Good news!

  • We had same problem couple of weeks ago, after my mate did regclean. New projects where starting fine, bout couldn't load the old one. That was on win7 i believe. Game was saved earlier on win 8.1 but when I tried it, it did open at first. Anyway we switched laptops and it worked on other system which was win10 i think.

  • > Or just make global object with boo's. I am actually finding this much more comfortable then if I'd have to scan trough globals and locals.

    >

    Well, I must admit I do that as well. lol. In large projects its no good to use global variables. There are too many of them and no way to organize them. But I would like to use local variables. They are a bit more meaningful than saying set TempObject.TempBoolean to false

    I'm calling that object just SYS . I use local vars too. Depends what is needed.

  • > The main thing is that you don't end up with anything blurry on at least the majority of devices. Perhaps you can make a backup of the project and do some tests or experiments and see what is possible without ruining your main game.

    >

    right, I'm just wondering if that gives you any benefit at all to upscale an image opposed to already having a large image in C2.. maybe not. And yes you'd have to make sure that no sprites were actually blurry at the highest resolution - that goes without saying.

    yeah I'm going to have to run some tests.. but I have no time for that right now.. way too many other things on my plate! but I will post it here when I find the answers...

    When Ashley said:

    > If the resolution is less than half the design resolution, all your artwork will step down to the next mipmap level, and render from smaller automatically-generated high-quality renders of your source artwork too, helping save memory bandwidth.

    >

    I assume this is part of the answer I am looking for... except I don't really understand it. Does memory bandwidth relate to draw calls? will this improve the lag-like effect I get when my player goes in front of one of these large background images on a laptop with an integrated HD4000 gpu? because what I am seeing on those laptops is not jank, I'm well versed at identifying jank. It's a graphics thing, I can see it drawing the screen and lagging behind.

    It's as simple as this: smaller image ( by that i mean I mean Smaller in dimensions and file size in kb ) loads faster and is being removed faster from memory, then big image. And I think it is easier to draw several smaller images then one big one, as construct draws objects that are on screen, even if only single pixel of the big image is on screen, the whole image is being drawn anyway.

    On the side note, I've noticed long time ago that scrolling does impact performance at times more than it should. But again it might be due to image sizes.

  • > megatronx not sure I understand.. but if I make a 800x800 nebula image, remove alpha channel and scale it down to 100x100 in PhotoShop, then in C2 resize it in the Layout View to 800x800 will that make any difference in memory usage/draw calls? or is that just making a giant fuzzy image at the same processing expense?

    >

    If you make an image smaller in Photoshop, you are basically removing information from the image. When you bring that small image back into C2 and scale it up, it will become blurry because those pixels are no longer there. It has to fill in data and average everything out, resulting in a blurry image.

    If you want to rescale, it would be best to find some sort of happy medium. Those ship renders we made were slightly larger than needed to give a bit of head room for adjustment in C2. The render size can be adjusted before you render, and you can always shrink it down afterwards in Photoshop as well.

    The main thing is that you don't end up with anything blurry on at least the majority of devices. Perhaps you can make a backup of the project and do some tests or experiments and see what is possible without ruining your main game.

    Now, when it comes to draw calls or processing expense, I'm afraid this is not my area of expertise. Smaller images will use less memory, but I don't know what else. I didn't get to test my game on anything else and was just hoping it would run on other systems. I didn't get that far.

    Well,that's what I've been talking about mate. Just look up the tread. The doubts came after Ashleys post, as I just couldn't understand his rhetoric.

  • megatronx not sure I understand.. but if I make a 800x800 nebula image, remove alpha channel and scale it down to 100x100 in PhotoShop, then in C2 resize it in the Layout View to 800x800 will that make any difference in memory usage/draw calls? or is that just making a giant fuzzy image at the same processing expense?

    The smaller the image size ( not dimensions ) the faster it loads in to memory, and is created faster. I'd really go with 860x540 because of older machines, to keep that fps high. But your question is a good question,, because it would mean that there is created some sort of phantom of original sprite just bigger, and so using more memory. Good question, and I'd like to know that.

  • > If the resolution is less than half the design resolution, all your artwork will step down to the next mipmap level, and render from smaller automatically-generated high-quality renders of your source artwork too, helping save memory bandwidth.

    >

    Thanks! good to know..

    If in my game I have 4-5 background images that are 800x800 (with lots of transparency) and I make about 10-15 of each to spread around the layout (unbound). These draw calls (when the player is in front of them) are going to be way more taxing than say 50x50 of the same artwork correct? My question is how much? enough to warrant a resolution change?

    I know at my current resolution I can probably make my background art smaller than 800x800 (nebulas etc) and upscale it without losing too much. I just want to know if I'm heading down a bad path given NW.js issues described in this thread.

    Bottom line.. let's say I'm starting a new game today: hey guys! I'm making unbound layout, top-down space game. I plan to deploy with NW.js... Should I go with 1920x1080 or 240x135 game resolution? or are both doable?

    Now I don't exactly understand either. Ashley : so basically, If I have 1080, with assets for that res, when played in 720, it performs as 720?

    or, which is more along what mightbe true, a project in 860x540 with hd assets in hd upscaled with high quality scaling to hd will perform better then full hd with all of the same projects o not? Cause I'm confused now.

    Anyway with optimized assets the performance increase is visible with naked eye.

  • > To be honest i have no idea what it'll sound like so if you work it out i'd be interested to hear I assume it'll just start to exemplify strange harmonics as you shift the center, since this is what it'll be doing to the Fourier series

    >

    QuaziGNRLnose and R0J0hound

    It was such a joy when I heard the oscillator playing for the first time! I made a quick mp3. No pre-editing, no post-editing, no mastering. What you hear is just one SWM-Sine-Osc, whose "center" is modulated by hand as well as by two serial LFOs. No Filters, no effects, nothing but pure Osc-Sound. The modulation does exactly what Rojo demonstrated in his capx (although the underlying dsp-code is somewhat different).

    So much smoother and musically way better controllable than, for example, FM, and on my 7 year old pc the cpu load was between 0.3 and 0.7% during the sequence you hear in the mp3. Awesome! I'm in love with that oscillator.

    Currently started working on a VSTi to see what else I can get out of those OSCs...

    First impression.mp3

    btw, SWM stands for Slope Width Modulation. But that doesn't perfectly describe it. If anyone has a better name for it, please tell!

    (And sorry that this has gone beyond C2)

    Yo,

    I

    m bit confused now: do you mean you've created synth inside c2?