Search Issue Tracker

Fixed in 2020.2.X

Fixed in 2018.4.X, 2019.3.X, 2020.1.X

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 - Database

-

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. Resolution Note (fix version 2020.2):

    Fixed in 2020.2.0a4

  2. Resolution Note (fix version 2020.1):

    Fixed in: 2020.1.0b3

  3. Resolution Note (fix version 2019.3):

    Fixed in 2019.3.5f1

  4. Resolution Note (fix version 2018.4):

    Fixed in 2018.4.20f1

Add comment

Log in to post comment