vtrix's Forum Posts

  • Congrats to the Scirrateam ! about 100 terabyte ? of constructgoodness

  • are you sure you are picking a different sprite when you use the load action?

    system: pick nth instance, (choose objecttype) and set instance number (could be var snapshotcount)

    so if the snapshot objects already exist

    onclick,

    pick

    loadurl

    add 1 to snapshotcount

    other than that, its probably possible to use one instance, and first set frame and then load url

    ps: you probably need to wait for loadurl is ready, but its thesame

    onclick take snapshot

    onready pick sprite, load url, add 1 to snapshotcount

  • i like your system very much, nice work, one critique maybe, its cool that you can open a menu partially for quick view, but it shouldn't remain partially open (or partially closed)

    a suggestion would be, to click for menu open/close, and drag for quick view (on release > close)

  • push will automatically resize the array to fit the new value, i frequently start an array with 0 width (x) and push new values on it

  • not really sure if the problem is about dt or using time, time should have the same accuracy as dt, No?

    maybe some slight difference in your logic, ... or they are cheating somehow..

  • thats odd for only 4 objects, you're sure its the sinebehavior? no lag if you completly remove the behavior?

    anyway hard to tell whats causing that..

  • Ribis

    if you should want collisionchecking on same object

    you can put the one object in a family and then check between the family and the object

    or use system pick nth instance in a subevent (collision filters 2 instances)

    sytem pick instance 0: do something

    system pick instance 1: do something

    and probably also by variable or uid, ..

  • [quote:9816sj4i]As for that little test of yours - drawing performance isn't what you should be testing here,

    great, you explain your first condescending tone and start another one...

    this was a test on drawcalls with multiple instances or multiple objects,

    but please if you want to put the effort in it, add your test, it would be interesting.

  • Colludium , thanx for the test

    so yes, using different objects causes a slight overhead, what i find interesting is that its not a constant cycle, draw calls go as low as 0.1 (same object) and then go back to maximum calls for a while, maybe thats garbage collection and then a redraw is needed, there is also not much difference in using canvas2d for me.

    changing the object size and alpha values seems to take an extra hit, im not quite sure how drawcalls actually work.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • optimizing only when needed, i understand, problem with that is, if you suddenly realize that you need extra performance, changing the way you setup things after doing all the logic is a real pita.

    about testing this, it would be interesting.., most performance tests are just testing how much instances can be generated vs fps

    but lets say generate 1000 instances, with one object and 1000 instances with 50 objects, i think i can test that pretty quick with nickname plugin, maybe i give that a shot later..

  • Ribis ,Colludium,Stiivais

    while its true that its probably easier to have different object, most benefit is when you want to do a compare obj a to b / for collision, placement, and like you said to split things up for behaviors, etc.., and i was always a believer that this was better

    but, i recently have doubts about what gives best performance, i read on the forum, that drawcalls are per object type, but what does that mean exactly?

    does that mean that if everything is in one object there's only one drawcall? does that mean that everything in a family is one drawcall? im leaning toward thinking that one single object would have the best performance, plus you have the added benefit that single objects get spritesheeted, i currently have a good way to work like this, but its more for interface work.

  • first of all, its pretty strange you have better performance without webgl,

    i would say its your graphic driver thats need updating, but then again if it happens on ios, that couldn't be the case

    maybe its a genuine bug with the canvas render and tilemap, as most people are using webgl, it could be undetected

    best would be to try to reproduce it in a smaller project and post a bug

  • above the fullscreen detail setting, "fullscreen in browser" has options, try integer scaling

  • Ribis are you using fullscreen scaling? you must use integer scaling, other than that, maybe post a capx with your settings to check

  • i thought about this problem, and its really bugging me, because ...

    1. i want to use linear, it too nice to not use it

    2. its perfect on preview

    3. other programs use it

    4. i want to use construct

    consider this linear example

    a 16 at 16 tilemap, about 76 frames

    sprite tilemap imported from tiled (no plugins needed) hold mouse to move, mousewheel to zoom, starts at zoom 2

    download and preview file / perfect no seams no bleeding, even when scaling / construct can

    https://dl.dropboxusercontent.com/u/61666915/tilemaptest.capx

    on export this happens, the actual background is showing thru = seams, ( no bleeding tho ) / construct can't

    https://dl.dropboxusercontent.com/u/61666915/tilemaptestv2/index.html

    so as showed in my early version with the colors (modified export), its possible to have tiles perfectly aligned and no seams, so this means, whatever happens it is happening internally on the texturemap and not on the positioning of the tiles

    ps: what you will have and always have is a little bit of blur from the surounding color but this is not an issue and almost not noticeable (well check the preview)

    so its pretty clear to me that construct engine can display linear perfect, so its really a question what happens on export

    for the bleeding there's the 1 pixel transparent gap, not actually a problem, but it needs adjustments, it must consider transparent space for two tiles and a setting for these transparent pixels

    libgdx has its own texturepacker, there are the follow options, and i think the bleed one is actually another name for what extruding actually is

    these are there standard settings:

    paddingX The number of pixels between packed images on the x-axis. 2

    paddingY The number of pixels between packed images on the y-axis. 2

    bleed If true, RGB values for transparent pixels are set based on the RGB values of the nearest non-transparent pixels. This prevents filtering artifacts when RGB values are sampled for transparent pixels. true

    edgePadding If true, half of the paddingX and paddingY will be used around the edges of the packed texture.

    link: https://code.google.com/p/libgdx/wiki/TexturePacker

    this makes sense, because linear will pick the surrounding pixels of the texture actually the subtexture, to make transition, and now the two tiles takes the transparent pixels of the 1px gap, that is why we see this obvious border around the tiles on export.

    theres also an analogy between 3d models used in games, always padding between uv's and never stop your texture on the uv-border or you get the same black lines on your model

    now for the c2 tilemap, if it would use the same texture method, it could still use the optimization, because again, the texture size is not changed, and there is no overlap.

    so i hope you consider testing these settings out, i don't know if this is a convenient workaround, or easy coded, but its definitly worth trying something other engines are putting in and something where most of us are having trouble with, especially when you consider that on preview you could asume that everything is working fine...