Skip to content

review comments#1

Closed
erendrake wants to merge 2 commits intoDunbaratu:Fixes_925_accidental_lowercasingfrom
erendrake:review_fix_925
Closed

review comments#1
erendrake wants to merge 2 commits intoDunbaratu:Fixes_925_accidental_lowercasingfrom
erendrake:review_fix_925

Conversation

@erendrake
Copy link

No description provided.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unrelated change that i keep meaning to make separate. its not needed anymore because the folder has files in it now

@erendrake
Copy link
Author

I really just wanted to put this here so you could see what i did.

Dunbaratu pushed a commit that referenced this pull request May 27, 2015
Dunbaratu pushed a commit that referenced this pull request Jun 28, 2015
@Dunbaratu Dunbaratu closed this Dec 27, 2015
Dunbaratu pushed a commit that referenced this pull request Feb 16, 2016
Dunbaratu pushed a commit that referenced this pull request Feb 19, 2016
Dunbaratu pushed a commit that referenced this pull request Feb 29, 2016
Artwork source files cleanup and additions
Dunbaratu pushed a commit that referenced this pull request Apr 4, 2018
Dunbaratu added a commit that referenced this pull request Jul 1, 2018
Change #1:

AddTrigger opcode will now treat steering
lock triggers as the same if they come from the same
point in the program, like they're supposed to (and
like they used to do).

My pilot.ks program was bogging down very very
slowly, to about 3 FPS with the new interrupt
priority code.  I found the cause:

When a program did ``lock throttle`` in a loop,
like so:

```
until false {
  lock throttle to 1.
  wait 0.
}
```

Then each time the "lock throttle" statement was visited,
it would insert a NEW trigger for it because it failed to
recognize that the previous one was already pending in the
trigger list.  (The Equals() test was calling it a new
trigger, because it was getting a new instance ID in the
OpcodeTrigger.Execute() logic.  Because it wasn't "Equal"
to the existing one, the uniqueness test for inserting a
trigger failed to deny the insertion.)

Therefore after the program runs a while instead of having
like 1 throttle trigger there were hundreds of them, clogging
the execution, and making the trigger logic itself rather slow
(doing sequential walks through the trigger lists between each
opcode with hundreds of triggers in the list instead of typically
about 10-ish like there should be in a typical program).

Change #2:

The new logic on how triggers move from the active list to the
callstack means they no longer execute in reverse order because
they don't all get stacked up at once (instead they move over one
at a time, waiting for the prev one to finish, unless a higher
priority one is there that is supposed to stack on top).  What this
means is that when moving from the trigger list to the stack, it
shouldn't be doing so in reverse order like it used to.
Dunbaratu pushed a commit that referenced this pull request Feb 1, 2019
Dunbaratu pushed a commit that referenced this pull request Jun 16, 2019
Dunbaratu pushed a commit that referenced this pull request Nov 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants