Project

General

Profile

Emulator Issues #12135

Sorting game list by File Path column takes a long time

Added by flacs 9 months ago. Updated 9 months ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
Yes
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
5.0-12094

Description

What's the problem? Describe what went wrong.

Large game lists take a long time to sort by File Path while sorting by any other column is almost instant. Sorting a list of 1000 games takes about 50 seconds and it blocks the GUI thread.

What steps will reproduce the problem?

Enable the File Path column, click on the header, wait.

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

5.0-12088

Is the issue present in the latest stable version?

No, the File Path column didn't exist back then.

If the issue isn't present in the latest stable version, which is the first broken version?

It was already slow when the column was first added in 5.0-11707 (PR 8580).

What are your PC specifications? (CPU, GPU, Operating System, more)

Windows 10, ~1000 games on local network share (1 Gbps)

History

#1 Updated by Techjar 9 months ago

I'm not sure much can be done about this. It's quite a lot of string comparisons, and since most of the path is the same it has to iterate over a lot of characters to find the differing part.

#2 Updated by flacs 9 months ago

Sorting a list of 1000 60-character strings shouldn't take 50 seconds on a Ryzen 3950x.

#3 Updated by JosJuice 9 months ago

Maybe creating the QFileInfo is what's slow? That's a notable thing that happens when fetching the file path but not when fetching other data.

#4 Updated by Techjar 9 months ago

Ah yeah I didn't think about that. I wonder what is involved in creating that object.

#6 Updated by JosJuice 9 months ago

  • Fixed in set to 5.0-12094
  • Regression start deleted (5.0-11707)
  • Relates to usability changed from Yes to No
  • Regression changed from Yes to No
  • Status changed from New to Fixed

Also available in: Atom PDF