Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hard link more than Float1D breaks the link #631

Closed
cgvirus opened this issue Jun 1, 2021 · 7 comments
Closed

Hard link more than Float1D breaks the link #631

cgvirus opened this issue Jun 1, 2021 · 7 comments

Comments

@cgvirus
Copy link
Member

cgvirus commented Jun 1, 2021

Step:

  1. Take two nodes which has Float 2D/3D/4D param.
  2. Hard Link them using drag and drop.
  3. Save the project.
  4. Open the project again.
  5. Only First param X will remain hard linked and other params Y and Z will not be hard linked anymore.

Similar Bug:
#585

Sample:

bug.zip

HERE:

  1. Transfrom_from to Tramsform_to Hard linked Translate X and Y. Only X works. Y doesn't
  2. Grade_from to Grade_To Hard linked black point 4 values. Only R works. GBA doesn't
  3. Card3D_From to Card3D_To Hard Linked cam>Translate. Only X works. YZ Doesn't.

Natron Version 4.3
O/S: LInux Mint 20.1

@devernay devernay added func:engine prio:normal type:bug Something isn't working labels Jun 3, 2021
@devernay
Copy link
Member

devernay commented Jun 3, 2021

I'll look into it when I have time, but expect some delay.

@Echolon Echolon added the ver:4.x label Jun 5, 2021
@bonalex01dev
Copy link
Contributor

Hi, I had also discovered this one.

WORKAROUND:
Linking with python expression seems to work.

@devernay, do you confirm that the hard link is a different beast than the python expression (unlike in Nuke)

@cgvirus
Copy link
Member Author

cgvirus commented Jun 11, 2021

Hi, I had also discovered this one.

WORKAROUND:
Linking with python expression seems to work.

@devernay, do you confirm that the hard link is a different beast than the python expression (unlike in Nuke)

Hi, yes I have tried with expression before. But unfortunately what I think in this case python is single threaded so it has less precedence over C and in runtime unfortunately it lags. Probably can be fixed by force to process python first. That would solve a lots of issues actually. Not sure though if it will be a good idea or not.

@devernay
Copy link
Member

devernay commented Jun 12, 2021

@cgvirus Python expressions are evaluated when needed, and since you cannot predict what parameter values will be fetched by a plugin for an OpenFX action, it can only be executed during these actions. There is no way to "precompute" all expression values at once.
I don't see the "lots of issues" you are referring to. Maybe you can be more specific? I think most Python issues were resolved in 2.3.15.

memo to myself: this is the code that needs to be fixed #598

@cgvirus
Copy link
Member Author

cgvirus commented Jun 12, 2021

@devernay
The main problem occurs with python expression is:

  1. Whenever the python needs to change the value for animation.
    Lets say a text node with transform node with an expression. Or any node which needs to change it value per frame.

In this case what I have observed is the playback cache runs faster than changing expression values and hence there is always some missing value changes in the cache and in the render as well. And that will always be random missing values as well.

For this situation I was unable to create expression based groups. Should I open a new ticket with an example? May be that would help?

Thanks for the fix BTW! This will open up some good things!

@devernay
Copy link
Member

@cgvirus can you confirm it is working in https://github.com/NatronGitHub/Natron/releases/tag/v2.4.1-alpha3 ?

@cgvirus
Copy link
Member Author

cgvirus commented Jun 13, 2021

@cgvirus can you confirm it is working in https://github.com/NatronGitHub/Natron/releases/tag/v2.4.1-alpha3 ?
@devernay
Working like a charm!!! Thanks a ton! 💯
OS: Linux MInt 20.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants