Search Issue Tracker

Fixed in 2020.2

Fixed in 2018.4, 2019.3, 2020.1

Votes

4

Found in

2018.4

2019.1

2019.2

2019.2.2f1

2019.3

2020.1

Issue ID

1179856

Regression

No

"AssetDatabase.Refresh()" performance regression in big projects, takes significantly more time

Asset Import Pipeline

-

Reproduction steps:
1. Open "PipeToConsole.zip" project
2. Open the Profiler (Profile Editor)
3. Search for "AssetDatabase.Refresh" in the Hierarchy search
4. Duplicate the "DuplicateMe" prefab untill you reach ~2k prefabs (CTRL + D)
5. Notice that a single prefab duplication causes the "AssetDatabase.Refresh" call

Expected Result: Duplicating a small prefab doesn't trigger a whole asset database refresh
Actual Result: On big projects, duplicating a single small prefab causes "AssetDatabase.Refresh" to be called which takes a lot of time

Note:
"AssetPostprossesingInternal.PostprocessAllAssets" has a lot more GC Alloc

Reproduced with: 2020.1.0a3(Small Self ms, bigger Time ms), 2019.3.0b2(Small Self ms, bigger Time ms), 2019.2.4f1, 2019.1.14f1, 2018.4.8f1
Could not reproduce on: 2017.4.32f1 (No "AssetDatabase.Refresh" call)

  1. Response avatar

    Resolution Note (fix version 2020.2):

    Fixed in 2020.2.0a4

  2. Response avatar

    Resolution Note (fix version 2020.1):

    Fixed in: 2020.1.0b3

  3. Response avatar

    Resolution Note (fix version 2019.3):

    Fixed in 2019.3.5f1

  4. Response avatar

    Resolution Note (fix version 2018.4):

    Fixed in 2018.4.20f1

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.