libretro / libretro/RetroArch

[3DS] Slow core startup from loading core .info files

Open
#10,355 7 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Description

Starting RetroArch or loading a core will hang for 15-20 seconds. This seems to be caused by loading all of the .info files in core_info_list_new, triggered from menu_driver_init. As more cores are added, this will only get slower. I only started to notice this recently, probably because of all the new cores (which I'm happy to have!)

Expected behavior

No extra delay when loading a core

Actual behavior

15-20s delay when loading the core

Steps to reproduce the bug
  • Install RetroArch 3DS 1.8.5, including all core info files (I used .3dsx)
  • Start RetroArch
Bisect Results

Haven't bisected since this seems to be unrelated to code changes.

Version/Commit

You can find this information under Information/System Information

  • RetroArch: 1.8.5
Environment information
  • OS: New Nintendo 3DS

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at core_info_list_new and its call from menu_driver_init, then reproduce the startup delay on a New Nintendo 3DS with all core .info files installed. Measure the loading path and verify that starting RetroArch or loading a core no longer incurs the reported 15–20 second delay.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.