Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Rider REALLY struggling with Entities.ForEach?

Discussion in 'Entity Component System' started by jwvanderbeck, Jan 6, 2020.

  1. jwvanderbeck

    jwvanderbeck

    Joined:
    Dec 4, 2014
    Posts:
    820
    Anyone else use JetBrains Rider and experiencing this? I know this isn't a "Unity" problem directly, but wondering if anyone else is seeing this. It seems that whenever I am typing out the lambda here Rider really struggles and lags presumably because of the Rosalyn parsing?
     
    theodor349 and jushiip like this.
  2. tertle

    tertle

    Joined:
    Jan 25, 2011
    Posts:
    3,626
    Nope.

    JobComponentSystem or ComponentSystem?
     
  3. jwvanderbeck

    jwvanderbeck

    Joined:
    Dec 4, 2014
    Posts:
    820
    JobComponentSystem
     
  4. eterlan

    eterlan

    Joined:
    Sep 29, 2018
    Posts:
    177
    Me too, so I turn back to VScode..
     
  5. RoughSpaghetti3211

    RoughSpaghetti3211

    Joined:
    Aug 11, 2015
    Posts:
    1,695
    Yea I get a 1-2 second lag
     
  6. 5argon

    5argon

    Joined:
    Jun 10, 2013
    Posts:
    1,554
    I have this report open : https://youtrack.jetbrains.com/issue/RIDER-36736

    The best fix would be having them hard code exception for a "known" generated overloads. (if they want to up their status as the editor for Unity they will be compelled to do it at some point?) Currently I turn off parameter info popup. A workaround to see parameter info is then to hit go to definition and back or peek it.
     
    PixelJ, quabug and thelebaron like this.
  7. c0ffeeartc

    c0ffeeartc

    Joined:
    Jul 23, 2015
    Posts:
    42
    My hack fix is to put semicolon ASAP after Entities.ForEach — then it becomes more responsive
     
    PixelJ and pal_trefall like this.
  8. jwvanderbeck

    jwvanderbeck

    Joined:
    Dec 4, 2014
    Posts:
    820
    Thanks for the YT link. I +1'd it. I'll also try turning off parameter info.
     
  9. RoughSpaghetti3211

    RoughSpaghetti3211

    Joined:
    Aug 11, 2015
    Posts:
    1,695
    This is killing me, hopefully we get a fix soon.
     
  10. citizenmatt

    citizenmatt

    JetBrains Employee

    Joined:
    May 9, 2017
    Posts:
    9
    Hi all. Matt from JetBrains here. Just to let you know that we're aware of this issue, and it's definitely on the radar.

    I believe we've already made some improvements in this area, so please make sure you're on the latest version of Rider - 2019.3.1. But there are a number of different scenarios with
    ForEach
    , with some overloads being instance methods on
    EntityQueryBuilder
    , and others being extension methods, so it might differ by scenario. It would help if someone could come up with some repro steps and/or a screen grab video showing what overloads are being used and how the slowdown is showing.
     
    thelebaron and 5argon like this.
  11. 5argon

    5argon

    Joined:
    Jun 10, 2013
    Posts:
    1,554
    I am on 2019.3.1. See the blinking caret or mouse in the clip for reference how it is lagging or not lagging (while the caret is not blinking, the editor is completely unresponsive). Repro steps : Try Entities.ForEach inside any system class, and as long as you are still in argument section of the lambda, you cannot wait for more than 1s while editing it because it would fetch all overloads to show a popup what kind of lambdas are possible.



    (also the balloon's direction is not helping even if it didn't lag, often it goes in the same way I am typing to)

    Or disable to fix :

    upload_2020-1-7_21-20-2.png
     
    Kelevra and citizenmatt like this.
  12. citizenmatt

    citizenmatt

    JetBrains Employee

    Joined:
    May 9, 2017
    Posts:
    9
    Great video, really useful, thanks! Forwarded it internally to the devs who'll be tackling this.

    As you've pointed out, the problem is mainly to do with parameter info. We're not expecting nearly 200 overloads, and AIUI, we're being a little naive about collecting, formatting and displaying all parameter infos at once, and that's causing trouble for this many overloads. We'll be looking at how we can better handle this, and also if we can present this information in a more useful manner - nobody's going to browse 200 items in a popup like this, especially given how similar they are.

    Just to set expectations, this is currently planned for Rider 2020.1, as it likely requires significant rework in the way we handle parameter info.
     
  13. Kelevra

    Kelevra

    Joined:
    Dec 27, 2012
    Posts:
    87
    +1 to this thread. Really waiting for the fix. 5argon you saved my day, thank you for hint.
     
    lemapp likes this.