Hight CPU use - Nyxt/GI-GTK 3-826-g379735f2

Hello I manage to pull and compile nyxt to be able to hopefully sooner than later start adding some libs, but first thing I notice last night, it is that only with this version, is the extreme CPU usage, like very extreme… 150% for nyxt process.

  1. Why is this? is there a way to calm this? is this normal?
  2. Old init for custom configuration does not seem to work well I had to move it
  3. which this above I am trying to click on “Settings” to change to vi and recreate the config, but none of this worked O_O looking in how to do this on nyxt 3.x but all info is for the current stable.

Thanks. I love the browser but trying to port some of my things to be able to use it as a daily driver and migrate from qutebrowser, specially the bitwarden-cli integration(that I know how to write it but need first a non-cpu hungry binary) :smiley: :slight_smile:

[edit] funny but I just did this same thing on my laptop with wayland/sway and is working just fine, not CPU extreme, only diff is that is wayland not xorg

I have subscribe to webkit email, mention my issue. nobody responded.
I have posted in their github issues: [WebkitGTK/NVIDIA] Epiphany sometimes doesn't display websites · Issue #32580 · NixOS/nixpkgs · GitHub
I have posted on their bug report: 180739 – [GTK] WebKitGtk does not work with NVIDIA systems with NVIDIA driver and Accelerated Compositing
Nobody is really telling me whats going on, it does not seem like the same issue, the issue I am having is not having pages not render or show black, is that is working but it using an exagerated ammount of CPU that I can’t have on for more than 20secs or it will fry my PC.

I was really looking forward to help with the proyect but if I can’t have my PC work to do my testing and see my changes locally I cant do much

More info:

Nyxt version: 3-912-g93013d9c
Renderer version: GI-GTK
Operating system kernel: Linux 5.17.8-arch1-1
Lisp implementation: SBCL 2.2.4 (Dynamic space size: 3221225472)
Features: (:WEBKIT2 :WEBKIT2-2.36 :WEBKIT2-CORS-ALLOWLIST :WEBKIT2-PASTE-PLAINTEXT :WEBKIT2-TRACKING :WEBKIT2-MUTE :WEBKIT2-EMOJI :WEBKIT2-MEDIA :WEBKIT2-SANDBOXING :GTK-3-22 :GTK-3-20 :GTK-3-18 :GTK-3-16 :GTK-3-14 :GTK-3-12 :GTK-3-10 :GTK-3-8 :GTK-3-6 :GTK-3-4 :GTK :GDK-3-22 :GDK-3-20 :GDK-3-18 :GDK-3-16 :GDK-3-14 :GDK-3-12 :GDK-3-10 :GDK-3-8 :GDK-3-6 :GDK-3-4 :CAIRO-1-10 :CAIRO-1-12 :GDK-PIXBUF :GLIB-2-30 :GLIB-2-32 :GLIB-2-34 :GLIB-2-36 :GLIB-2-38 :GLIB-2-40 :GLIB-2-42 :GLIB-2-44 :GLIB-2-46 :GLIB-2-48 :GLIB-2-50 :GLIB-2-52 :GLIB-2-54 :GLIB-2-56 :GLIB-2-58 :GLIB :NYXT-UNSTABLE :NYXT-G93013D9C :NYXT-3 :FSET-EXT-STRINGS :CUSTOM-HASH-TABLE-NATIVE :SWANK :PLUMP-UTF-32 :PARENSCRIPT :GLOBAL-VARS :DECLARE-TYPES :NAMED-READTABLES :LPARALLEL :21BIT-CHARS :CLOSER-MOP :CL-PPCRE-UNICODE :CL-UNICODE :CL-PPCRE :CHUNGA :FLEXI-STREAMS :BORDEAUX-THREADS :LPARALLEL.WITH-CLTL2 :LPARALLEL.WITH-CAS :LPARALLEL.WITH-STEALING-SCHEDULER :SPLIT-SEQUENCE CFFI-FEATURES:FLAT-NAMESPACE CFFI-FEATURES:X86-64 CFFI-FEATURES:UNIX :CFFI CFFI-SYS::FLAT-NAMESPACE ALEXANDRIA::SEQUENCE-EMPTYP :FAST-IO-SV :FAST-IO :CL-JSON-CLOS :CL-JSON :SBCL-USES-SB-ROTATE-BYTE CHIPZ-SYSTEM:GRAY-STREAMS :THREAD-SUPPORT :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :X86-64 :GENCGC :64-BIT :ANSI-CL :COMMON-LISP :ELF :IEEE-FLOATING-POINT :LINUX :LITTLE-ENDIAN :PACKAGE-LOCAL-NICKNAMES :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL :UNIX)

ASDF version: 3.3.1
ASDF registries: (NYXT-SOURCE-REGISTRY ENVIRONMENT-SOURCE-REGISTRY)
Critical dependencies: (/home/rek2/Herramientas/common-lisp/nyxt/_build/cl-cffi-gtk/gtk/cl-cffi-gtk.asd /home/rek2/Herramientas/common-lisp/nyxt/_build/cl-gobject-introspection/cl-gobject-introspection.asd /home/rek2/Herramientas/common-lisp/nyxt/_build/cl-webkit/webkit2/cl-webkit2.asd)

[UPDATE] so I removed my install and decided to try to install git version on arch AUR

nyxt-browser-git

This does NOT have the CPU issue… I am looking to see what could be the difference, as far as I can see is same libs, same versions… why this difference between “git pull and make all” to this other one? that will be the key here.

Unfortunately to me to do PR’s etc I will need a git pull from my fork, I could also poing the arch package to my fork but… that is a pain to have to install the whole thing everytime I do a change.

As an alternative workflow, you can connect to Nyxt via SLY/SLIME and evaluate the code you change in there. This way, you can both test your changes and have a reasonably well-running binary.