|
Josh @ Dreamland
|
|
Reply #16 Posted on: March 29, 2010, 05:37:41 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
Components will still require either recompile or your accessors. Accessors are out of the question. The point of this system is to avoid recompile.
Also, instance_change isn't a difficult function to implement. I already have to list all the variables local to each object. Implementing instance_change is as simple as writing a block of code to copy matching variables over for the set of {objects that call instance_change}x{all objects}. Granted, it could largely increase the filesize if every object used instance_change somewhere in their events, but the function will have no tax on performance outside of itself.
Switching rendering engines is lousy. If it runs Windows, it has better DX support than GL support, A Priori. Otherwise, it either supports GL or requires its own rendering system.
I'm not looking for a resume; I'm looking to weed out a suggestion I can dismiss right off the bat as having consequences requiring >10x the number cycles to execute as its alternatives.
|
|
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
|
|
Josh @ Dreamland
|
|
Reply #19 Posted on: March 29, 2010, 05:54:04 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
No, not anyobject.anyarbitraryvar: I'm replacing that with a hard-coded accessor of my own device. One should not be implemented for compiled code; compiled code is just that. Since anyobject is an integer rather than a structure, it will have O(log n) lookup, fetch ID, add to array to get lookup pointer, fetch lookup pointer, dereference lookup pointer, return. All that is necessary because I have no idea what the structure it points to will be.
When I said the point was to avoid recompilation, I figured it was implied I didn't want the load put on the run instead. I make it a point to have the compiler make sure as little has to happen at runtime as possible.
V8 accessors work the same as my integer referencer, except those who include the interpreter will be subject to size increase due to lookup tables.
|
|
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
|
Josh @ Dreamland
|
|
Reply #21 Posted on: March 29, 2010, 06:35:41 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
For the few instances I *have* to use it (as in, when the user makes a call via integer.varname), that's the best I'm getting. The inefficiency of one system out of necessity (or otherwise, for that matter) doesn't justify the inefficiency of another, especially just on the grounds that it seems like a good idea to some individual.
That's no reason to need an accessor for compiled engine code.
|
|
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
|
Josh @ Dreamland
|
|
Reply #23 Posted on: March 29, 2010, 11:00:25 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
*shrug* I don't see that as a problem.
|
|
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
|
Josh @ Dreamland
|
|
Reply #25 Posted on: March 29, 2010, 11:22:27 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
That's a bit bold a statement on all counts. Your missing the point; you just suggested that I reduce the speed of the lookup of needed locals by >75%. The few cycles it once took to look up X are now repeated more than three additional times to successfully make a call to that un-inlined function. We're quadrupling the work that needs done. And now you're justifying it with "a cycle is small, therefore all the cycles you will be throwing out the window with this method are small" (That's the fallacy of composition, just as a fun side-note. And it doesn't apply to mathematically distributing a 4x cycle factor to all processes, by the by).
All I need to do is take advice like that on a dozen or so more systems, and I can successfully reduce the speed of the project by a quarter, and then I can render those lined-flames like GM8 does. At seven frames per second for some 250 of them (That was a slippery slope fallacy. It's pretty commonly used in court cases).
I'm not even starting down that road. I don't care how relatively small the change is compared to the rest of the project; this isn't the first such change you've suggested and I highly doubt it will be the last.
|
|
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
|
Josh @ Dreamland
|
|
Reply #27 Posted on: March 30, 2010, 05:57:16 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
Yes, yes. But we'll start with inherited member access and then it'll progress to something in draw_line I can't even fathom your improvement for. Or maybe ENIGMA's calling convention in general, who knows; the net result somehow being GM's 7fps rate. Also, I can't really tell your suggestions apart from anti-C++ propaganda. In actuality, I'm too lazy to go read through our other four page debates.
|
|
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
|
|
|