Commit Graph

409 Commits (67862421a630b7dd9d548e74bf275480f1f213b2)

Author SHA1 Message Date
FlightlessMango cfd802c063 Incorrect param used in calc benchmark 2 years ago
FlightlessMango 7212c79feb Logging: push param to benchmark calc 2 years ago
Tatsuyuki Ishi ada173e67f overlay: avoid quadratic behavior
Using a vector with erase(begin()) results in a copy of the full array
every time. This is inefficient and in the case of HUD graphs, was having
quadratic complexity which can noticeably affect performance.

This patch replaces most of the operations with an O(1) alternative,
keeping the total cost under a linear bound. While on this, also refactor
the size of graph array into a constant.
2 years ago
FlightlessMango ee7f3fbfd2 Mangoapp: frametime message queue 3 years ago
FlightlessMango 9434033083 Don't use read_line as it causes issue with splitgate 3 years ago
FlightlessMango 23ed317536 mangoapp: shm struct + gamescope engine 3 years ago
Stephan Lachnit 4983056600 fix regression in hw_info_updater
Calling std::unique_lock in update() will cause a delay if
update_hw_info() takes longer than the period when update() is called.
To fix this, a try_to_lock tag is added. update() will only update if
the lock is aquired, else the update call is skipped.

Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
3 years ago
FlightlessMango 5fee3bc5e3 Change _params to pointer 3 years ago
FlightlessMango b001eb4714 Move _params init to overlay.cpp 3 years ago
FlightlessMango 4e3a40c6ef mangoapp + gamescope shm 3 years ago
jackun abf146f73c
Set correct swapchain_stats etc references for hw updater 3 years ago
jackun 9b6a39dfe9
sed s/gnu_linux/linux/g 3 years ago
jackun 90e48f95ca
Use unversioned `fmt::format_error` 3 years ago
jackun 6584f23a6c
Use `ghc::filesystem` to iterate over /proc/self/map_files 3 years ago
jackun c452609718
Fix hw update thread waiting for initial update signal 3 years ago
FlightlessMango 947f287a5e
Only create hw_info_thread once 3 years ago
jackun 729ccc83bd
Use spdlog's 'fmt' to format media player metadata
Usage:
  media_player_format={title};{artist};{album}

Semi-colon breaks to new line, might change.
3 years ago
FlightlessMango 3ac7772a55 Add universal param 3 years ago
jackun d1617818cd
Fix OpenGL gpu_name 3 years ago
jackun 866fd8bc24
Add per process memory usage (`procmem` etc) 3 years ago
jackun a82e27d978
Use spdlog macros so logging can be completely disabled during compile-time 3 years ago
jackun 2f807a4c0d
Add `spdlog` wrap and logging 3 years ago
jackun c093f9823e
Use libdrm_amdgpu for amdgpu sensor info, if available
Using plain `open` as `drmOpen` needs bus id check which needs interface 1.4 ioctl which gives EPERM cause only DRM_MASTER can call it :(

https://github.com/clbr/radeontop/issues/48#issuecomment-493792404
3 years ago
jackun 88d801bd7e
Move functions not directly related to vulkan from vulkan.cpp to overlay.cpp 3 years ago
Joshua Martin 3b0b6fbc42
Add position options to place the overlay halfway down the screen (#561) 3 years ago
Lukáš Horáček 213953089d
Detect ToGL 3 years ago
jackun 750d2cddb5
Make engine type per instance 3 years ago
FlightlessMango 3f120b1fc5 don't set engine to vulkan if already set 3 years ago
Alessandro Toia 570bef468b Cosmetic changes to engine detection 3 years ago
FlightlessMango 5330573c8c don't rely on std in engine detection 3 years ago
jackun 0ee101e0ac
Fix MPRIS ticker, microseconds to nanoseconds 3 years ago
flightlessmango 428ddf4e8a
Merge pull request #536 from flightlessmango/battery_test
Battery info and font awesome icons
3 years ago
FlightlessMango 92282bcec2 convert frametime from ns to us 3 years ago
Joshua Ashton 815097718e Use nanoseconds to calculate fps
No need to round this earlier on.

Removes an unnecessary implicit float -> double conversion in the calculation also
3 years ago
Alessandro Toia 5c48b4729c Change param to battery, add param for icon, hide power when plugged in 3 years ago
jackun a0a57038c1
Fix redefinition of 'open'
musl pulls in fcntl.h from somewhere
3 years ago
Alessandro Toia a533883a39 Check if there are battieres before attempting to retrieve stats 3 years ago
Alessandro Toia 552a85aaaa Only update battery stats if a battery is present 3 years ago
FlightlessMango a90c897feb Check battery info 3 years ago
jackun f77a73ce8a
Fix scoped_lock clash with >= c++17 3 years ago
FlightlessMango 6286313478 MSVC building fixes 3 years ago
FlightlessMango 1a8689fbba Add gpu power to logs 3 years ago
flightlessmango e57be394d7
Merge pull request #428 from flgx16/swap
Add swap
3 years ago
FlightlessMango 90ce1c5778 ImGui wrap 4 years ago
FlightlessMango 0162fb913c Always try to update exec's 4 years ago
flightlessmango 214bb83d40 Moved update_exec() into a thread 4 years ago
FlightlessMango c54f8bec5d Hud elements exec function 4 years ago
Lukáš Horáček f11a49ae8b
Add swap 4 years ago
Alessandro Toia c479694735 Use SetCursorPosX() instead of SameLine() to center text 4 years ago
Alessandro Toia b77517501c Add new param custom_header 4 years ago
Alessandro Toia 8e873fe547 Remove more "not" and "and" in if statments
Rename dbus_helpers.hpp to dbus_helpers.h
4 years ago
FlightlessMango c20b06c851 Remove more ram related things for windows 4 years ago
FlightlessMango a4a5950ddf Make sure graphs have data without enabling elems 4 years ago
FlightlessMango 3827fe96d4 Add autostart_log param 4 years ago
jackun 0474c93800
Change `change_on_load_temp`'s `current` param to unsigned 4 years ago
jackun 1e8487c991
Move color conversion to HudElements; move some overlay related functions back to overlay.cpp 4 years ago
flightlessmango ce6a87823b
Merge pull request #388 from flgx16/cpu_power
Add cpu_power
4 years ago
Lukáš Horáček 02a34ba890 Fix cpu_mhz when core_load is disabled 4 years ago
Lukáš Horáček 3726c90c7a
Add cpu_power 4 years ago
FlightlessMango cc38924997 Added graphs 4 years ago
FlightlessMango cb8d992bfe Use real_font_size for padding 4 years ago
ZakMcKrack3n 73e6e31301
toggle fps limiter via hotkey, fps_limit may be set to multiple values
(e.g. 0,30,60).
fps toggle toggles between entries where zero means unlimited
4 years ago
FlightlessMango cbd87585b4 Win32 cpu usage 4 years ago
FlightlessMango 21e8d8c402 Move calc benchmark into overlay 4 years ago
FlightlessMango c3fc0f10b0 Start separating vulkan, keybinds, overlay and font 4 years ago
FlightlessMango 1c5baef992 Move try_log into update_hud() and fix formatting 4 years ago
FlightlessMango c337fddc58 Move try_log() into render_imgui 4 years ago
FlightlessMango c4a7d3002b Moved try_log() outside of no_display 4 years ago
FlightlessMango 9ddd075b18 Get actual frametime for logs 4 years ago
jackun cec98369ae
Include array, explicitly 4 years ago
FlightlessMango c1a255260f Add recording circle to render_mango 4 years ago
FlightlessMango 0230efee8b Small adjustments to render_mango 4 years ago
jackun e56b7ded15
Use `setenv`instead as `putenv` makes Lutris' wine crash for some reason (threading?) 4 years ago
Alessandro Toia 632f1e7000
Add wine and wine colors to overlay 4 years ago
FlightlessMango 8a39043a13 Merge branch 'master' into develop 4 years ago
jackun 443271f0b5
Convert hud color params to linear for sRGB image formats 4 years ago
jackun 6f176a3f3b
Fix cpu usage formatting (float parsed as int) 4 years ago
jackun c75232389b
A little more "atomic" cpu temp update for hud renderer; whitespace 4 years ago
FlightlessMango ce80203ee6 Minimal hud for recording 4 years ago
FlightlessMango a06e01c7ef Merge branch 'develop' 4 years ago
FlightlessMango 4fd1c5f3e7 Fixed some basic errors 4 years ago
FlightlessMango 9445ab4acc Warning that permit_upload = 0 4 years ago
FlightlessMango 6a443f35ac Upload multiple logs 4 years ago
jackun fc62624b7b
Recalculate right alignment offset if font scale changes 4 years ago
flightlessmango c046c250d8
Merge branch 'develop' into benchmark-percentages 4 years ago
jackun 55430d7571
Initialized fps limiter or wait for 300 years 4 years ago
Lars Krämer 7cc76142f1 Tidy up DBus helper classes
make sure metadata is up-tp-date when switching players (WIP)
4 years ago
Lars Krämer 6484e09f01 Implement wrapper class for DBusMessageIter
Implement for_each-style helpers for common constructions
Reimplement most of the DBus message parsing in terms of these
4 years ago
Lars Krämer 5850643db4 Change the media player functionality to allow changing active media
player
4 years ago
larskraemer a28931ef6b
General cleanup (#272)
* Cleanup unused struct fields, use uniform include guards
4 years ago
flightlessmango eafa62356b
Merge branch 'develop' into benchmark-percentages 4 years ago
Lars Krämer 0b29a7ea06 Remove conflict in render_imgui 4 years ago
Lars Krämer 329725c134 Move Log uploading; Cleanup 4 years ago
Lars Krämer 4101237fdd Move logging functionality into a class 4 years ago
jackun c63037efb5
Use 1-channel font textures; glyph ranges support; vulkan image descriptors and "helper" functions
* To save some memory, use just 1-channel alpha-only textures
* Add some sort of wider glyph ranges support
* Chop single-ish vulkan font image uploading function into separate reusable helper functions
* Use descriptor set for ImTextureID but probably use texture array and push constants for "fast-path" if need arises
4 years ago
Lars Krämer 20221217d4 Frame-timing using chrono 4 years ago
Lars Krämer 22026cbc60 Create MesaClock class, use chrono classes for time points/durations 4 years ago
Kingsley McDonald 0e1fe708c8 make use of new float parsing function
i've also moved the input validation checks to the config parser, so that
warnings aren't displayed in the terminal output every time a benchmark is
run with an invalid percentile entry.
4 years ago
Kingsley McDonald aa77a351de implement configurable benchmark percentiles. 4 years ago
FlightlessMango e957358786 Force a hw values update on log start 4 years ago
jackun 44060c2b80
Force blacklist re-check at certain points
Wine preloader that executed a non-blacklisted app may execute a blacklisted app,
or vice versa, and previous check applies to new app too.
4 years ago
FlightlessMango a9463ae06c Start logging after first update 4 years ago
Alan Witkowski 61a443bd50
add .csv extension to log file and rename function that generates the log filename suffix 4 years ago
larskraemer ecd84c8cc0
Logging options (#234)
* Added config options for logging

* Documentation

* Log everything

* Add RAM/VRAM usage to the log

* add loggingOn-check for memory usage

* Always init GPU stats

* Move functions from logging.h to logging.cpp, remove params from writeFile
4 years ago
jackun 66ddada43c
Fix `readlink` overloading for fortified musl
Issue #231
4 years ago
FlightlessMango e2ec80d84e Upload log keybind setup 4 years ago
FlightlessMango f14c9a7587 Moved exec function in to logging.h 4 years ago
FlightlessMango 8e34e752e5 Merge branch 'master' into develop 4 years ago
Kingsley McDonald 6178c5859c adjust benchHeight for 0.1% and fix percentages. 4 years ago
Kingsley McDonald 053a1d8a44 add 0.1% lows to the brief benchmark overlay 4 years ago
jackun 5ec6519832
Add `media_player_order` to set media player metadata order 4 years ago
FlightlessMango b9c00fc510 Check pci.ids without gpu_stats 4 years ago
FlightlessMango 38a78fa01e Fix logging window if bg alpha is 0 4 years ago
Rémi Verschelde f915d890f2 Fix -Wformat-security warning with GCC 10.1 4 years ago
FlightlessMango 0728d49a1d Fix width with no params 4 years ago
FlightlessMango df631a2343 Reduced width with io rw 4 years ago
FlightlessMango e9b1b70ebc Fixed nextRow for gpu_power 4 years ago
FlightlessMango 135f3a5009 Fixing compiler warnings and removing control 4 years ago
FlightlessMango 59268a34b3 Always do nextRow() with core_clock 4 years ago
FlightlessMango bc5d41f921 Changed IO rd/wr to rw 4 years ago
FlightlessMango 4a5e05c979 Trim gpuName from pci.ids 4 years ago
FlightlessMango 572ba69e3e More width fixing 4 years ago
jackun b68f78028d
Fix "IO RD/RW" typo
Also micro-micro-micro optimization, probably: move READ/WRITE if statement before WRITE
as you'd probably find it more useful than just WRITE.
4 years ago
jackun 1495b1e88f
ifdef guard nvml header 4 years ago
jackun 953c8d0e0f
Add meson option `with_nvml` 4 years ago
jackun 2220cb9d74
Decouple `engine_version` from `fps` 4 years ago
jackun 16b05dfc5e
Show gpu core clock or power usage in 4th column or both on next row if both are enabled 4 years ago
jackun b837ce930e
[whitespace] fix indentation from `gpu_name` to `arch` 4 years ago
FlightlessMango db151bb236 Add log_interval check to per frame log write 4 years ago
FlightlessMango d8727110b0 Replaced log_period env with log_interval param 4 years ago
FlightlessMango 128fbd4b88 Per frame logging use output_file and date 4 years ago
FlightlessMango 33a5ad6571 Format gpu_text and cpu_text in textColored 4 years ago
FlightlessMango dd1667bf3e Fixed typo 4 years ago
FlightlessMango 2d0ba9a076 Params to override cpu/gpu text 4 years ago
jackun c04658456a
Wider glyph ranges for custom font; media player text scaling with `font_scale_media_player` param 4 years ago
FlightlessMango c254347688 Use histogram in benchmark too 4 years ago
FlightlessMango ac926bbfd5 Added histogram param 4 years ago
FlightlessMango 078617f999 Added param for engine version 4 years ago
jackun ff48525313
Consolidated amdgpu file handles to a struct and add `gpu_power` param to show power usage for amdgpu/nvml 4 years ago
jackun 5057a47b05
Potential buffer overflow, use snprintf instead 4 years ago
jackun 159305bbc7
Use `display_time` instead of recalculating 4 years ago
FlightlessMango 1d375fd155 Removed crosshair 4 years ago
FlightlessMango 434aa04356 Fixed bench position even more 4 years ago
FlightlessMango 7f9bb2e6b8 Fixed mistake in bench positioning 4 years ago
FlightlessMango 54f83ee3d6 Corrected position and sizing for quick bench 4 years ago
FlightlessMango 22c25b6247 Fixo typo in quick benchmark 4 years ago
jackun c5bb35c10d
Merge branch '159' into develop 4 years ago
FlightlessMango 92b86ad8bf Added plot graph to quick benchmark 4 years ago
Valters 1afea91dab
Add multi hotkey 4 years ago
FlightlessMango 75f9128ce5 Redesigned logging, adding quick benchmark 4 years ago