MSI AB / RTSS development news thread

Discussion in 'MSI AfterBurner Application Development Forum' started by Unwinder, Feb 20, 2017.

  1. Skylinestar

    Skylinestar Active Member

    Messages:
    69
    Likes Received:
    15
    GPU:
    NVIDIA GTX 1070
    Console emulator such as Cemu allows 2 windows to be displayed, the main TV window and the gamepad window. How do I get RTSS overlay to capture the details of the main window and display on the main window? Currently, it captures the detail of the secondary window (the gamepad view window) and displays the stats there.
    Image below for reference:
    [​IMG]
     
  2. Digika

    Digika Member Guru

    Messages:
    149
    Likes Received:
    1
    GPU:
    GTX 670
    Any plans to add detection fo DXVK? It looks like All Gamemaker games gonna use it from now on which is huge. Recent "Cyber Shadow" uses it as a defaul intermediated backend API even on Windows. RTTS treats it as D3D9 which is not really correct.
    UPD: nevermind, I goofed up, it detects it as VULKAN
     
    Last edited: Feb 19, 2021
  3. Im_Special

    Im_Special Member Guru

    Messages:
    125
    Likes Received:
    20
    GPU:
    Nvidia GTX 1070 6GB
    Hi Mr. Senpai, any update on this you can share? I'm super eagerly awaiting this new 4.6.3 + 7.3.0 wombo combo release, it hurts! (sorry if you hate these kind of posts Senpai :))
     
  4. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,228
    Likes Received:
    6,925
    No changes on MSI AB side. But there will be some additional changes in RTSS 7.3.0 related to further improving compatibility with DXVK in some games (e.g. JustCause3).
     
    Nastya likes this.

  5. aufkrawall2

    aufkrawall2 Ancient Guru

    Messages:
    4,593
    Likes Received:
    1,920
    GPU:
    7800 XT Hellhound
    RTSS inject does not work with this runtime packed D3D11 app:
    https://filehorst.de/d/dadgIfyD
    Archive password: rtss
    Virus-scanners might falsely flag it as malware due to runtime packing (or even crypting?).

    Edit: It used to work in the past.
     
    Last edited: Feb 26, 2021
  6. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,228
    Likes Received:
    6,925
    That sophisticated runtime packing is also the reason of injection failure. Create the profile template for it with the following contents and it will work:

    Code:
    [Hooking]
    ForceHooking        = 1
    
     
    aufkrawall2 and Astyanax like this.
  7. sedative

    sedative Guest

    Messages:
    6
    Likes Received:
    1
    GPU:
    AMD RX580 OC
    How to use the Overlay custom template images? It always goes back to some other image :|
    At start i got this image:
    [​IMG]
    So i always need to got to Riva settings, Open Overlay Editor, Load the Default template, and then load my custom one, then till a restart is working okay:
    [​IMG]
    Can you add some whay that the images can be selected via file browser or something? And the app to not lost the settings? Or some whay to fix this? :eek: Thanks! :)
     
  8. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,228
    Likes Received:
    6,925
    You've to embed desired image into your overlay. Layouts -> Edit -> Embedded image
     
  9. sedative

    sedative Guest

    Messages:
    6
    Likes Received:
    1
    GPU:
    AMD RX580 OC
    Wow, thanks! :) I do not look to that option till now! Thanks! :)
     
    Unwinder likes this.
  10. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,228
    Likes Received:
    6,925
    RTSS 7.3.0 RC has been upgraded to build 24467. New build features slightly refactored Vulkan bootstrap layer. The aim of refactoring is further improvement of compatibility with Vulkan applications, which dynamically create and destroy multiple Vulkan instances and devices (e.g. JustCause3+DXVK).

    https://download-eu2.guru3d.com/rtss/[Guru3D.com]-RTSSSetup730Build24467.rar
     
    cowie, The1, didamangi and 6 others like this.

  11. Haldi

    Haldi Master Guru

    Messages:
    319
    Likes Received:
    41
    GPU:
    R9-290 CF
    uhm... the left collumn was duration of the sensor refresh? So the GPU Temperature is on 16ms while others are something below 0.2ms
    RX6800.jpg

    That's a Radeon RX6800 Specific thingy right? It's probably not anything important but just somehow directly shows up as not expected.
     
  12. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,228
    Likes Received:
    6,925
    That's each sensor's polling time profiler, allowing you to identify the slowest polled sensor and possible stutter source. But unlike NVIDIA and the previous AMD APIs, AMD Overdrive8 API doesn't support independent polling of sensors and reads all of them in one call (even if you need just GPU temperature, it will also poll fan and power sensors etc). So polling time for the first displayed GPU sensor will always reflect cumulative time of all GPU related sensors and the rest ones will be read from cache and will be close to zero.
     
    Haldi likes this.
  13. Haldi

    Haldi Master Guru

    Messages:
    319
    Likes Received:
    41
    GPU:
    R9-290 CF
    Ohh. roger.
    I guess renaming / displaying that as "GPU sensor bundle" would be unnecessary / too complicated.
     
  14. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,228
    Likes Received:
    6,925
    There won’t be any renaming, that’s just illogical, sorry.
     
  15. Haldi

    Haldi Master Guru

    Messages:
    319
    Likes Received:
    41
    GPU:
    R9-290 CF
    Other tools that use the RTSS Overlay (i.e CapFrameX) cannot have their Position modified in the Editor can they?
    Same as the MSI Afterburner OSD settings are configured in Afterburner and cannot be modified by Overlay Editor.
    This would need the Tool's Dev to create a possibility to Offset their OSD with X and Y coordinates?

    overlay.jpg
     

  16. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,228
    Likes Received:
    6,925
    Of course you cannot use the editor to modify hypertext rendered by third party client application.
     
  17. Im_Special

    Im_Special Member Guru

    Messages:
    125
    Likes Received:
    20
    GPU:
    Nvidia GTX 1070 6GB
  18. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,228
    Likes Received:
    6,925
    Good news, release candidate of RTSS 7.3.0 (build 24467) will become official final RTSS 7.3.0 in nearest few hours. Once it is online in Guru3D news, we'll make it visible to update notification system. Then we'll also include it into MSI AB distributive and launch last MSI AB 4.6.3 beta 5 as final 4.6.3 (no changes in binaries, just database update with RTX 3060 info) in the nearest few days.
     
    Dan Longman, Eripsa, cowie and 2 others like this.
  19. Im_Special

    Im_Special Member Guru

    Messages:
    125
    Likes Received:
    20
    GPU:
    Nvidia GTX 1070 6GB
    Not good news.
    Great news!
     
    Unwinder likes this.
  20. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,228
    Likes Received:
    6,925
    For those who didn't follow this thread and missed 7.3.0 development news and betas, here is full 7.3.0 changes list in rederence to the previous official 7.2.3 build. It is huge (that huge so it doesn't fit into single post and needs to be split on 2 posts :)) and includes more than 70 fixes, enhancements and new features. Hope you'll find something useful for yourself inside it, stay tuned!

    · Scanline sync no longer stops working in OpenGL applications when OSD support is disabled at application profile level
    · Fixed Vulkan device and instance handle leak in Vulkan bootstrap layer
    · Fixed crash on capturing screenshots in Cyberpunk 2077 when scRGB HDR mode is enabled
    · Improved compatibility with Vulkan applications using multiple Vulkan instances and devices
    · Various Vulkan bootstrap layer and Vulkan overlay renderer cleanups aimed to improve compatibility with Vulkan validation layer
    · Added alternate asynchronous On-Screen Display renderer for Vulkan applications presenting frames from compute queue (id Tech 6 and newer engine games like Doom 2016 and Dooom Eternal). The implementation is using original AMD’s high performance concept of asynchronous offscreen overlay rendering and the principle of asynchronous combining with framebuffer directly from compute pipeline with compute shader without stalling compute/graphics pipelines. PresentFromCompute entry in global profile template is set to 1 by default now and it enables new asynchronous implementation. The previous synchronous and more performance consuming implementation is also available and can be enabled by setting PresentFromCompute to 2. It is recommended to enable the previous synchronous implementation for performance comparisons only and for estimating difference in performance hit between new and old implementations
    · Improved compatibility with multithreaded Direct3D1x applications, using multiple Direct3D devices and swapchains and concurrently presenting frames on them from different threads (e.g. Windows Terminal)
    · Various compatibility improvements in the hook engine:
    o Now any application may manifest itself as incompatible with RivaTuner Statistics Server overlay/hooks either via declaring special named exported variable (recommended and preferred way for EXE-level implementation) or via setting process environment variable (alternate way for DLL-level implementation). So the applications incompatible with RivaTuner Statistics Server may prevent its API hooking functionality with just a couple lines of code at compile time without need to add exclusion profile for it from RivaTuner Statistics Server side
    o Added user extendable profile mapper to profile loader. The mapper is allowing RivaTuner Statistics Server to map multiple executable names matching with specified wildcard (e.g. vegas130.exe, vegas140.exe and so on for different versions of Sony Vegas) to a single profile file, so it is no longer necessary to create exclusion profiles for each version of such application independently
    o Added user extendable injection ignore triggers list. Similar to injection delay triggers list, injection ignore triggers list allows defining the set of DLL modules, which will prevent RivaTuner Statistics Server from injecting target process when any of such modules is detected in the process context. This feature is aimed to exclude applications using typical GPU accelerated GUI libraries from hooking. The list currently includes WPF framework libraries (PresentationFramework.dll and PresentationFramework.NI.dll), so all WPF applications are excluded from hooking now
    o Improved 32-bit runtime disassembler provides better compatibility with 32-bit applications when stealth mode is enabled
    o Added Direct3D12 hooking support for Direct3D12 runtime changes introduced with KB4598291
    · Improved RivaTuner Statistics Server host API:
    o New localization API is allowing the plugins to use host multilanguage translation functionality for localizing the plugin’s GUI
    o New On-Screen Display preview API is allowing the plugins to render On-Screen Display on top of Direct3D frambuffer specified by caller and report back each rendered layer’s screen position and extent. On-Screen Display preview API can be used to implement visual On-Screen Display editing functionality
    o Added helper PickColor API function, allowing the plugins to use advanced host color picker dialog window
    · Improved On-Screen Display hypertext formatting implementation:
    o Various fixes in alignment, dynamic tabbing, positioning and backspace tags parsing implementation
    o Added layer definition tags. Each layer defined inside the hypertext is treated by parser as an independent block of text and new On-Screen Display preview API is able to report each rendered layer’s screen position and extent independently. Please take a note that layer definition tags also affect text extent calculation, so embedded objects with zero height and width defined inside the layer are covering just their layer area instead of whole On-Screen Display area
    o Added extent override tags support. By default the layer extent is defined by hypertext content, but you may force the layer extent to be greater than actual content extent with new extent override tag. The tag also allows aligning the layer content by left/right/top/bottom or centering it horizontally/vertically
    o Added image loading tags support. The tags are allowing the parser to load and embed a custom PNG image into On-Screen Display font texture
    o Added image embedding tags support. The tags are allowing you to render a part of On-Screen Display font texture image into hypertext. This allows you to display custom logos or animated image sequences into On-Screen Display
    o Added defaults override tags support. The tags are aimed to be used in pairs, to start and stop defaults override blocks inside the hypertext. The first tag starts the block, stores default hypertext formatting attributes (text color, size and so on) and saves currently applied hypertext formatting attributes as new defaults. This way user defined defaults are being applied with default text color or size tags inside defaults override block. The next tag ends the block and restores previously saved default hypertext formatting attributes
    o Changed embedded object size interpretation. Now positive size values are treated as zoomed pixels instead of fixed pixels
    o Added new <EXE> hypertext tag, allowing displaying hooked process executable name in On-Screen Display
    o Added range autoscaling flag support for embedded graphs
    · Added new type of plugins: client plugins. RivaTuner Statistics Server is designed to act as a server process, which is running passively and providing different functionality (On-Screen Display rendering, screen and video capture, benchmarking etc) to multiple client applications connected to it (e.g. MSI Afterburner). GUI for such functionality is normally located at client application side. New client plugins allow integrating GUI for such functionality directly into RivaTuner Statistics Server, without the need to run additional client applications, so new client plugins architecture is intended for those who prefer to use RivaTuner Statistics Server as a standalone solution without MSI Afterburner. SDK is now including the following open source client plugins:
    o HotkeyHandler plugin is a built in hotkey processor, which is providing and demonstrating implementation of the following functionality:
    § Low-latency DirectInput based hotkey handler, similar to MSI Afterburner’s internal one
    § Full set of standard hotkey based functionality, available in MSI Afterburner client and based on RivaTuner Statistics Server API. This includes On-Screen Display visibility control, framerate limiter activation/deactivation, screen capture, video capture and benchmarking functionality. Now all those features can be also used in standalone RivaTuner Statistics Server usage scenario
    § Up to 4 additional general-purpose programmable profile modifier hotkeys. You may bind almost any profile modification related actions to those hotkeys, e.g. increase of decrease framerate limit, toggle between multiple predefined framerate limits, increase or decrease scanline index for scanline sync mode, zoom OSD in/out, enable or disable global hooks and many more
    o OverlayEditor plugin is advanced visual hypertext editor, providing you more than any currently existing overlay can do. There were a lot of fair and independent commercial overlay reviews recently, claiming that it is absolutely impossible to develop visual overlay editing in free applications and that feature wise all free overlays are second tier products comparing to commercial ones. We decided to take it as a challenge, burst that marketing bubble and provide the plugin with such functionality free of charge to anyone who still believes in free system software distribution principles like us. So this plugin was developed from scratch in just a few weeks. It comes with fully open source code included in SDK, so you can peek inside and improve it or just see if such kind of functionality is really a rocket science development:
    § Unified and extremely flexible overlay layout editing GUI, which can be used in combo with any major and most popular hardware monitoring cores available on the market: HwINFO64, AIDA64 or MSI Afterburner. Do you wish to attach something else, e.g. GPU-Z? That’s not a problem, it can be easily done by any beginner developer in just a few hours because the plugin is completely open source. Your overlay layout can be easily adapted to any hardware monitoring data provider application and it will look exactly the same and stay exactly the same feature rich. With such modular architecture overlay rendering and editing application is completely decoupled from hardware monitoring core so it is extremely easy to troubleshoot hardware monitoring related compatibility issues and switch to a different hardware monitoring data provider application. Such modular architecture is a pro, not a con
    § The plugin provides internal data sources, which are measured by RivaTuner Statistics Server itself (e.g. framerate, frametime, minimum/maximum/average/1%/0.1% low framerates for benchmark mode). Such data sources can be used in overlay layout as is, without running any additional hardware monitoring data provider application in background
    § The plugin provides internal HAL (Hardware Abstraction Layer) and minimalistic built-in hardware monitoring core based on it. The HAL provides basic CPU and RAM usage related data sources and architecture specific GPU related monitoring data sources (such as graphics engine usage, videomemory usage, graphics processor and videomemory clocks, temperatures, power consumption, fan speeds and so on) available on modern discrete AMD and NVIDIA GPUs and integrated Intel GPUs. Internal HAL do not rely on low-level access to hardware in any form, it uses only native GPU monitoring functionality embedded in OS and GPU display drivers: NVAPI for modern NVIDIA GPUs, AMD ADL for modern AMD GPUs and D3DKMT for Intel iGPUs and legacy GPUs. Such approach don not break our main principle of decoupling overlay from hardware monitoring application, so HAL data sources have close to zero chances to affect hardware compatibility and they can be safely used in conjunction with any external data provider application of your choice
    § The plugin provides internal ping monitoring data source, implementation is a direct clone of MSI Afterburner’s ping monitoring plugin. Ping monitoring is not natively available in HwINFO64 or AIDA64, so this internal data source is aimed to help those who plan to use this plugin without MSI Afterburner in combo with HwINFO64 or AIDA64
    § The plugin provides an ability to import data sources from Windows performance counters, implementation is a direct clone of MSI Afterburner’s PerfConter plugin. Windows performance counters provide you built-in monitoring of HDD usage and read/write speeds, network interface download and upload rates, a lot of detailed global and per-process CPU, memory and pagefile related metrics as well as hundreds of other performance counters visible to OS
    § The plugin provides MSI Afterburner styled correction formulas for all external data sources. Which means that you can transform data received from external hardware monitoring data provider applications in any form, for example convert memory usage from megabytes to gigabytes and many more
    § The plugin provides layer based overlay layout representation, which is typical for graphics editors. Such architecture suits best for creating more complex and artistic On-Screen Display layouts, but requires a bit more time and efforts
    § Each layer is independently formatted and positioned hypertext block, which can display both static and dynamic hypertext. In addition to standard customization of each layer’s hypertext formatting attributes (text and background color, font size, subscript or superscript text size, text alignment etc), you can also embed the following objects directly into hypertext of each layer:
    · Rich set of different macro definitions, displaying system time in different formats, programmable timers, your PC hardware specs and of course current values of internal plugin data sources (e.g. framerate or frametime) of external data sources exported from different hardware monitoring applications (e.g. GPU temperature exported from MSI Afterburner)
    · Traditional, diagram or barchart styled graphs attached to any data source, either internal or external one
    · Static images, displaying your hardware manufacturer logos and so in
    · Dynamic animated images, changing depending on data source connected to animation input. This way you can create absolutely uniquely looking graphics indicators in your overlay layouts, e.g. round progress indicators, gauges etc
    · You’re not limited to embed just a single object per layer. This means that for example you may create a layer containing all CPU load barchart graphs and make them share the same settings template, which makes it much easier to modify such overlay layouts
    § Complete freedom of choice, you can still customize On-Screen Display layout via built-in GUI of MSI Afterburner, HwINFO64 or AIDA64. Use new plugin only if you need it and wish to create something more complex than native MSI Afterburner or HwINFO64 On-Screen Display layout

    .. to be continued
     

Share This Page