TiAm's Recent Forum Activity

  • Here are updated benchmarks. Take note of the cpu readout:

    Low Flo: https://www.dropbox.com/s/vild3og8h4j6n ... .capx?dl=0

    Generates 20 objects per tick. Speed is 110.

    High Flo: https://www.dropbox.com/s/61jtxzcbsbtg1 ... .capx?dl=0

    Generates 60 objects per tick. Speed is 330.

  • Okay, so I finally got around to installing canary and just did an initial test...wow. No random janks and, overall, much smoother performance. Even when the framerate drops, canary seems to be handling it much more gracefully than before. Almost as well as IE. Color me happy <img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile">

    Ashley

    OK, well, if you're creating/destroying 100 objects per tick then the CPU overhead of the create/destroy actions comes in to play. These need to do things like update object instance lists, families, containers, initialise the default state, initialise behaviors and so on. Most people don't create hundreds of objects per tick so it's not a significant overhead, but in this case it is measurable. I still don't think it's anything to do with garbage collection. The engine still recycles objects when it creates them, but creating an object just involves more work than re-positioning it. So in this specific kind of use case (you're basically recreating particle effects with sprites) repositioning is cheaper, but this does not prove garbage collection has any involvement at all.

    First off: I'm not arguing that this is a bug with construct. Nor is recycling my idea...I got it from you (wish I could find that thread; you advised someone to reposition rain drops instead of destroying them).

    However, the discrepency doesn't require 'hundreds of objects per tick' to be created and destroyed. Here's a modification of the DestroyVsMove test that only creates/destroys aprox 20 objects per tick. Jank is still visible, even on IE and Canary.

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

    Your comparison with particles is apt; however, particles can't collide, which is why I use sprites for bullets. The object count in the above test may be high, but the results I'm seeing are courtesy of an Intel i5 3570k. Lower power systems (most pc's/tablets/phones) will have lower thresholds.

    tl;dr: If you are creating/destroying more than ~20 objects per tick, recycling may provide much stabler performance.

  • Ashley

    Obviously, you understand how the internals of C2 work better than us. But, maybe you could take a look at this example capx and see if you see a difference in performance between forced object recycling and normal create/destroy operations. Click to toggle between modes.

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

    P.S. GeometriX: I modded your capx for this.

  • Huh, I'm having trouble with this too. Installed 32 bit first, then 64. Can't minify. Weird...

  • Another developer has identified and reported some v-sync issues in Chrome and Firefox. I've posted in their reports that this may be the issue behind the jank people have identified lately. Here's a list of bugs to follow if you want to track progress on this:

    https://bugzilla.mozilla.org/show_bug.cgi?id=1080869

    https://bugzilla.mozilla.org/show_bug.cgi?id=1028893

    https://code.google.com/p/chromium/issues/detail?id=424563

    https://code.google.com/p/chromium/issues/detail?id=422000

    Reading thru these bug reports is very interesting. This sounds like a lock for the regularly recurring jank reported by numerous C2 users. However, I don't think this bug covers all of the issues discussed in this thread.

    IE still handles high garbage, high CPU load, and FPS degradation far more gracefully than FF/Chrome. Firefox especially devolves into a glitchy mess with workloads that involve large amounts of garbage (dozens of objects being created/destroyed per tick). Now, generally, as designers, we should avoid such cases (In my case, I'm using a pre-optimized version of my current project. The newer versions recycle almost all the objects I'm creating/destroying in the tested build).

    The takeaway for me is this: even with a less efficient javascript engine, IE is providing much more stable performance than it's competitors.

  • We topped the charts on the last one...lets do it again <img src="{SMILIES_PATH}/icon_e_wink.gif" alt=";)" title="Wink">

    http://www.slant.co/topics/1907/~what-a ... non-coders

  • What I found equally exciting is that they explicitly say they are planning to support Opus (your #1 request on the recent IE feedback thread). This would mean better audio quality, and one step closer to doing away with dual encoding.

    Having experimented with opus quite a bit, I can say it's an incredible codec, especially at lower bitrates. For example: voice can be compressed to a 32kbps stream that is perceptually lossless with most speakers/headphones. It takes at least 2x the bitrate to match this with ogg or mp3. Even as low as 16kbps voice is perfectly intelligible (similar to AM or 32kbps mp3). Surround sound can be encoded at 128kbps. Small audio clips (like SFX) are even smaller because Opus does not require large codebooks like mp3/vorbis.

    Now, if only Safari would support it...

  • Ashley

    You might find this interesting <img src="{SMILIES_PATH}/icon_e_biggrin.gif" alt=":D" title="Very Happy">

    http://venturebeat.com/2014/10/27/micro ... -explorer/

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Here, take a look at this:

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

    Kind of strapped for time...basically, I'm setting this so sounds are called by the names of the two objects colliding. It trys both name combos (n1+n2, n2+n1), so as long as you have one sound for each collision (if that's really what you want to do) it'll work.

    Also dialed back your physics accuracy and reduced collision points on your tokens. If you want a circular collision area, select that option under physics (properties - behaviors - physics - collision mask - circle)

    You still have a lot of needless overhead and redundancy. Read about families. Apply that to your token moving groups...you only need one set of that logic, having a set for each token is redundant.

  • StaticCloud

    Looks great! Damn, I wish I could make art that good

    I love noir as a genre; IMHO it gets short shrift anymore. For whatever reason, the first two things that come to mind are Serial Experiments Lain, and Hideo Kojima's Snatcher.

    Good luck!

  • Interesting article, especially given that recent jank comparisons between browsers already favor IE.

    http://blogs.msdn.com/b/ie/archive/2014 ... eview.aspx

    Here's hoping these improvements are extended to Win7/8... <img src="{SMILIES_PATH}/icon_rolleyes.gif" alt=":roll:" title="Rolling Eyes">

  • 783 for my current project...will probably end up with ~1000 when I'm all done(ish).

TiAm's avatar

TiAm

Member since 24 Nov, 2011

None one is following TiAm yet!

Connect with TiAm

Trophy Case

  • 13-Year Club
  • Email Verified

Progress

14/44
How to earn trophies