New Layer Filters and speed of client
Case number: | 671071-994598 |
Topic: | Game: Other |
Opened by: | bertro |
Status: | Closed |
Type: | Suggestion |
Opened on: | Wednesday, February 27, 2013 - 19:51 |
Last modified: | Wednesday, September 2, 2020 - 12:54 |
With the new Layer Filters in place, client computational speed has decreased a lot and regular puzzle are even slower than before.
A) I would like to suggest that the new Layer Filters, where applicable, be only contributing to the final score (or computation pass) of a tool iteration, not as long as the tool is running but only at the very end before it stops.
and/or
B) Provide a mechanism for turning OFF the Layer Filters with the provision that the score will be uploaded to the Foldit site "only" after the Layer Filters are turned ON again. Thus allowing speedier folding but still proper filtering of the score.
That way trying to build a new protein shape with new AA would be easier, less jerky and above all faster. Right now, even with a well know protein chain, on denovo, it is hard to reach a stable configuration and recipes take so long to run.
Other suggestions please!
Yes beta,
Even with latest devprev. Partly because score "oscillates" a bit and won't stop an iteration or it makes it impossible to achieve a stable score due to one of the Layer Scores going up and down (in huge step).
Status: Open » Open |
Thanks for the quick reply, bertro.
We'll try to see what we can do!
Thanks
We have tended to avoid option B as we thought players would be averse to it. We would love more input from others about how they feel about this sort of feature.
Maybe talk about it in global chat and/or with an announcement/question on Foldit web page
First of all, the new devprev makes this puzzle playable. Still slow but playable. I like the idea of turning the filters off if you want it and if implemented please include a Lua function for it. And just like when there are cutpoints put a red line through the score when filters are turned off.
Status: Open » Open |
We had a meeting about this today and this seems like the best option.
That way, if a player doesn't want to deal with the red line through their score, they can just keep the filters on.
We'll schedule a scientist chat explaining why these filters are so crucial once we get this suggestion implemented and working in the game.
I've implemented a checkbox that will turn the slow filters on/off. It should go out in the next devprev.
edit: and yes, there are lua functions to set/get this flag.
Great, thanks a lot!
Status: Open » Closed |
This is now in main.
Status: Closed » Open |
tamirh,
Can we have a LUA function to turn this ON/OFF in recipes?
Thanks
Sorry, I missed putting this in the release notes. There are LUA functions to toggle this already in main/devprev. I just forget to add them to the release notes. Sorry about that.
bool behavior.GetSlowFiltersDisabled()
void behavior.SetSlowFiltersDisabled(bool setting)
and a function like structure.IsInvalid(int) for those invalid residues?
bertro, I assume you are talking about the list of 'allowed' residues that the Layer Design filter gives you? I'm hesitant to hard code a LUA function for that one filter because the different filters work in different ways, and those residues aren't really invalid, they are just suspect, which is why you get a penalty. The penalty is exponential, so if you just have a few it's not a big deal. Real proteins don't always match up with those 'allowed' residues. If you have a lot, then it's a good indicator that there is something wrong though.
Perhaps some other LUA functions to access the data from the filters would help? Here are some I think would make sense. Let me know if you can think of anything else:
* # Total Filters currently enabled on this puzzle
* If filter X is satisfied or not
* How much of a bonus/penalty filter X is giving
Having said that, I will think of some more general API for LUA functions to grab more data from the Filters other than just the values above. If you have any suggestions feel free to let us know.
Thanks, that was really fast :)
I would suggest naming as:
bool behavior.GetSlowFiltersState()
void behavior.SetSlowFiltersState(bool setting)
I was thinking along the lines of
bool structure.IsInvalid(segment number)
or table structure.Invalid()
Maybe, it would also be interesting to have:
table structure.ScoreTooLow()
or bool structure.IsScoreTooLow(segment number)
More functions on Filters:
- one to get the list of active filters
- one to get the list of penalized segments for a specific filter
- one to get the penalty from a specific filter
- one to get the total penalty from the filters
- one to get a list of amino acids on a specific segment to satisfy a specific filter
And if you are building Lua functions please include:
- get cutpoint list (first segment numbers should be enough)
- close cutpoint
- is closable cutpoint
- make cutpoint
I can't wait to see all the cut-point closing scripts! I got mine ready!
Tamir, can this please also be updated in the wiki ? I tried updating it manually, but it states that the LUA functions section is 'autogenerated'. The wiki was the first place I searched for this.
The Wiki content is all user generated. That autogeneration script was something Tlaloc wrote I believe. I don't know if he documented where/when it runs from.
Status: Open » Closed |
all implemented
This is even with the new devprev client that sped things up a bit?