Open Geokureli opened 1 week ago
Pretty cool to see updates on this! Just make sure to not use typedefs structures stuff for the final thing since those are pretty slow compiling to dynamic
Pretty cool to see updates on this! Just make sure to not use typedefs structures stuff for the final thing since those are pretty slow compiling to dynamic
I don't know what you mean by "pretty slow compiling to dynamic", typedefs compile crazy fast to non-static targets. the goal here is to have seemingly typed arrays/vectors without incurring any garbage collection from instances of the types
I've done some initial tests and no types are actually used as everything is inlined away, see here: https://try.haxe.org/#ADa541d7 the build macro adds 0.091s of compile time, which i think it worth the added readability
But I plan to do actual benchmark tests with these flixel classes, too
In hxcpp (im not sure about other targets) typedefs compile has annonymous dynamic structures but yeah better to double check with benchmarks.
In hxcpp (im not sure about other targets) typedefs compile has annonymous dynamic structures but yeah better to double check with benchmarks.
Again I don't see why we're talking about compiling here, hxcpp takes me almost an hour to build from scratch, already and dynamic targets take an extra 10th of a second
The benchmarks I'm referring to are for runtime performance because I don't see any concern for compile time. It sound like maybe you're actually referring to runtime performance but for some reason keep using the word "compile"
@CrowPlexus and @NovaTheFurryDev, you voted thumbs down, care to share your concerns?
removing the DV, my biggest concern with this was perhaps it being slower than the current method, I will definitely give this a try later on a blank project to see if it makes a major difference in comparison to the old method
removing the DV
What's the DV?
removing the DV
What's the DV?
downvote or thumbs down
The Problem
Many rendering systems are littered with
Array<Float>
s meant to be used like so:and
This can be both hard to read and susceptible to human error compared to using
Array<FlxRect>
, but not only does the current way greatly reduce objects that need to be garbage collected, many lime/open features specifically requireVector<Float>
orArray<Float>
, anywayThe Solution
FlxBuffer
andFlxBufferArray
, under the hood they actually anArray<Float>
orVector<Float>
, but when writing code with them, you can easily deal with them as though they were anArray<{x:Float, y:Float}>
. Truly the best of both worlds!The above code, while compiling to nearly identical source code, will look like this:
and
To Do
openfl.Vector
vsArray