Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Framerate drops and CPU ramps up while idling. #41

Open
CR1337 opened this issue May 6, 2024 · 0 comments
Open

Framerate drops and CPU ramps up while idling. #41

CR1337 opened this issue May 6, 2024 · 0 comments
Labels

Comments

@CR1337
Copy link

CR1337 commented May 6, 2024

Bug Report

Description

When running LaserShowGen under Ubuntu with more than one display connected the framerate drops drastically and CPU usage goes up. Opening a dialog box makes it worse. Often the software becomes practically unusable.

Steps to Reproduce

  1. Have at least two displays connected.
  2. Have a look at CPU usage and get a feeling for the framerate by moving the cursor.
  3. Start LaserShowGen by running ./LaserShowGen-1.11.1-Linux-AppImage.
  4. Navigate to Edit > Change number of frames (pad) and click it. (Or open any other dialog box eg. that one for entering the registration code.)
  5. Now compare the current CPU usage and framerate to the previous one.

Expected Behavior

The systems framerate doesn't change when staring the software. The CPU usage doesn't increase much when the software is idling.

Actual Behavior

The systems framerate drops (not only inside the LaserShowGen window). The software draws about 10 - 20 % of all my 20 cores distributed over multiple cores while idling.

Screenshots/Recordings

cpu

LaserShowGen was started about 50 seconds ago. The dialog box was opened 30 seconds ago and closed a bit after 20 seconds ago. Around 10 seconds ago the software was closed again. All these actions have a visible impact on CPU usage.

Environment

  • Operating System: Ubuntu 22.04.4 LTS 64-bit
  • GNOME Version: 42.9
  • Windowing System: Wayland
  • Application Version: 1.11.1
  • Hardware:
    • CPU: 12th Gen Intel® Core™ i7-12700H × 20
    • RAM: 32 GiB
    • Graphics: NVIDIA GeForce RTX 3050 Ti (4 GiB) / Mesa Intel® Graphics (ADL GT2)

Additional Information

Terminal Output:

***************************************
*     YoYo Games Linux Runner V1.3    *
***************************************	 
CommandLine: -game game.unx
ExeName= /tmp/.mount_LaserSBGMFG3/usr/bin/LaserShowGen
MemoryManager allocated: 101529
INI DisplayName=LaserShowGen
SavePrePend /home/cr/.config/LaserShowGen/ 
GAMEPAD: Initialising Ubuntu support
Attempting to set gamepadcount to 32
display=0x25bd220
Display Size(Pixels): 5280,1080
CreateDesktopWindow 1300,729
Win #1
XF86VidModeExtension-Version 2.2
Got Doublebuffered Visual!
glX-Version 1.4
Icon: w=64 h=64
Creating window of width 1300, height 729
sw=1440 wh=900
WindowCentre: 70,85
Depth 24
Congrats, you have Direct Rendering!
sync = 0
**** GLX Extensions ***
GLX_ARB_context_flush_control GLX_ARB_create_context GLX_ARB_create_context_no_error GLX_ARB_create_context_profile GLX_ARB_create_context_robustness GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_buffer_age GLX_EXT_create_context_es2_profile GLX_EXT_create_context_es_profile GLX_EXT_fbconfig_packed_float GLX_EXT_framebuffer_sRGB GLX_EXT_no_config_context GLX_EXT_swap_control GLX_EXT_swap_control_tear GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_MESA_copy_sub_buffer GLX_MESA_query_renderer GLX_MESA_swap_control GLX_OML_swap_method GLX_OML_sync_control GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_SGI_make_current_read GLX_SGI_video_sync 
Checking for GLX_EXT_swap_control
Vsync: GLX_EXT
DOUBLE BUFFERED
OpenGL: version string 4.6 (Compatibility Profile) Mesa 23.2.1-1ubuntu3.1~22.04.2
OpenGL: vendor string Intel
OpenGL GLSL: version string 4.60
Anisotropic filtering supported, max aniso 16
This is where it would have set them fullscreen= 0, they are 1300,729    displaywidth/h 1440,900
Collision Event time(microsecs)=92
Opened libopenal.so...
alcCreateContext : 0x7315f882a8d0
alcOpenDevice : 0x7315f8827fc0
alcMakeContextCurrent : 0x7315f882cba0
alGenBuffers : 0x7315f880ed20
alGenSources : 0x7315f8818050
alGetError : 0x7315f880ffc0
alBufferData : 0x7315f880e660
alSourceQueueBuffers : 0x7315f8818f90
alSourcePlay : 0x7315f881a010
alSourceStop : 0x7315f8819cc0
alGetSourcei : 0x7315f88189f0
alSourceUnqueueBuffers : 0x7315f8819330
alDeleteSources : 0x7315f8817e00
alDeleteBuffers : 0x7315f880ec20
alcDestroyContext : 0x7315f882ca80
alcCloseDevice : 0x7315f882c8a0
alcGetString : 0x7315f882c080
alcGetIntegerv : 0x7315f882bfe0
alcCaptureOpenDevice : 0x7315f8827ca0
alcCaptureCloseDevice : 0x7315f882a7d0
alcCaptureStart : 0x7315f882a730
alcCaptureStop : 0x7315f882a690
alcCaptureSamples : 0x7315f882a5a0
g_device is 0x3a392b0
g_context is 0x3a37160
g_context is set as current
CreateColPairs took 0.000000s 52 usecs for 175 object types obj_col_numb=0 physobjcount=0 resizes 0 final size 0
----------
[0.000054]        == libetherdream started ==
[0.000521]        _: listening for DACs...
save location:  /home/cr/.config/LaserShowGen/temp/  
window size  1350  735  
palette loaded, size: 192  

Compiled APIs:
  Linux ALSA

There are 1 MIDI input ports available.
  Input Port #0: Midi Through:Midi Through Port-0 14:0

Midi Through:Midi Through Port-0 14:0  

Setting MIDI port to Midi Through:Midi Through Port-0 14:0
Checking for updates  
Successful verification  
Creating exception handler  
Total memory used = 28859352(0x01b85bd8) bytes 27.52MB
Peak memory used = 11238666(0x00ab7d0a) bytes 10.72MB
**********************************.
Entering main loop.
**********************************.
Rescaled window views  
GraphicsResetM called with g_NewWindowWidth=1350 g_NewWindowHeight=735 g_WindowWidth=1300 g_WindowHeight=729 g_ClientWidth=1300 g_ClientHeight=729
This is where it would have set them fullscreen= 0, they are 1350,735    displaywidth/h 1440,900
Rescaled window views  
Window Size w=1350 h=735
done 1
Checking version  
Pause event has been registered for this frame
Pause event has been unregistered
Window closed
Attempting to set gamepadcount to 0
Script_Free called with 1526 and global 762
done 1
AL lib: (EE) alc_cleanup: 1 device not closed
LaserShowGen-1.11.1-Linux.AppImage: /usr/src/packages/BUILD/Alc/ALc.c:779: LockLists: Assertion `lockret == althrd_success' failed.
Aborted
@Grix Grix added the bug label May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants