libretro / libretro/RetroArch

[Windows] Log console is super slow and can greatly reduce performance

Open
#12,261 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Description

On Windows with "Logging Verbosity" ON, for some reason the log console is super slow and with cores that spam stuff in logs (Dolphin and MAME2010 are good examples) it hurts performance a lot. This is happening with 1.9.1 stable and nightlies. It runs fine if "Logging Verbosity" is OFF or if "Log to File" is ON.

I don't know what's causing this, in 1.9.0 stable from the buildbot it's perfectly fine, despite the spam the content still runs fine, however if I build the 1.9.0 stable commit (6388872) myself with my MSYS2 setup it's super laggy too.

Here's 2 examples, 1.9.0 stable from the buildbot (left side) vs. 1.9.1:

https://user-images.githubusercontent.com/33353403/114387394-aaeb2600-9b92-11eb-875d-3f4a8b9d48fd.mp4

  1. I'm comparing MAME2010 first, you can hear that audio is super distorted when inserting coins with 1.9.1, I didn't show gameplay to not make the video too long, but it's also slow.
  2. I'm comparing Dolphin boot and close time, you can see that it takes forever with 1.9.1 :x

It spams the same amount of content in logs, but for some reason it's just MUCH slower with 1.9.1, like the whole Dolphin spam scrolls in a blink of an eye in 1.9.0 but takes like 6 seconds to scroll in 1.9.1...

Expected behavior

Performance shouldn't take a hit with the log console opened, or at least not this much. It should run like 1.9.0 stable.

Actual behavior

Reduces performance greatly, looks like the log console struggles to catch up or something.

Steps to reproduce the bug
  1. Make sure you have "Logging Verbosity" ON, "Log to File" OFF and the levels to "1 (Info)".
  2. Boot a GC game with Dolphin, or mslug.zip with MAME2010 (starwars.zip is also a great test, unplayble).
  3. Compare with 1.9.0 stable from the buildbot: https://buildbot.libretro.com/stable/1.9.0/windows/x86_64/RetroArch.7z
Bisect Results

Seems to be a compilation issue, not a RetroArch bug, so I'd say since the buildbot migration probably? Or whenever a change was made with how RetroArch is compiled.

Version/Commit
  • RetroArch: 1.9.1 / 7f3b9e8
Environment information
  • Windows 10 / i5-4670K / GTX 970 / 16GB

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

Reproduce on Windows with Logging Verbosity and Log to File disabled, using a Dolphin or MAME2010 workload, then compare the 1.9.1 behavior with the 1.9.0 buildbot version. Done means the log console no longer causes a major performance or audio-playback slowdown under the reported settings.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
desktop, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.