Brian wrote: ↑July 21st, 2023, 10:28 pm
I came across something related to this recently, which got me thinking more about this issue. There is a DirectX option that would allow you to select a preferred adapter for rendering.
https://learn.microsoft.com/en-us/windows/win32/api/dxcore_interface/ne-dxcore_interface-dxcoreadapterpreference
The bad news....its for later versions of Windows 10.
So, searching around, I found some other ways to "prefer" the dedicated graphics adapter vs an integrated one. The problem is, I don't have a lot of time to test if this works.
Could you try this test build?
https://builds.rainmeter.net/test_builds/Rainmeter-4.5.17.3723-prerelease-GPU_Preference.exe
It should select the dedicated GPU by default assuming you have the appropriate settings enabled in Windows and/or nvidia control panel (or whatever AMD uses). You might have to mess around with different settings.
If you want to fine-tune the preference settings, you can add
PreferAMD=0/1 and
PreferNVIDIA=0/1 to your Rainmeter.ini
[Rainmeter] section.. It defaults to
1 automatically.
-Brian
PS-Sorry it took so long to look at.
Hmm...no change. I tested all possible combinations between the 2 relevant settings in the NVidia panel, i.e. Use global setting (Auto-select: Integrated) and High-performance NVIDIA processor, and the 2 relevant settings in Windows Graphics Settings, i.e. Let Windows decide and High Performance, as well as adding first
PreferNVIDIA=1 then
PreferAMD=0 as well into Rainmeter.ini's
[Rainmeter] section, but the NVidia GPU is only above 0% when Hardware Acceleration is enabled in Rainmeter, or when some external software plugin like WebView is used (this despite MSEdge.exe being set to run on "Power Saving" aka the integrated AMD card in Settings - albeit it's more than just the MSEdge executable that's involved in WebView, which would possibly explain the contradiction).
Of course, just like before, the behavior is the expected one when HA is on, it just isn't replicated when HA is off. Thinking in retrospective and according to the usual understanding of such things which says it's either the CPU (e.g. HA off) or the GPU (e.g. HA on) taking the burden of graphics, it might just be that when HA is off only the CPU and maybe the default integrated GPU showing the desktop are involved, as opposed to when HA is on and actual choosing between video cards (including the dedicated one) is possible. Not sure if this makes much sense, but I can't explain it another way either.
For the record, when I posted this I used a 9 GB skin to test (yeah, I know, but it was mostly tons of frame images along with some mosaic ones), while now I used a similar but smaller skin with a code like this:
Code: Select all
[Variables]
Update=25
Frames=240
Cols=16
Rows=15
Speed=1
Size=414
Edge=1
Glow=0.0157
EC=0,0,0,255
[Rainmeter]
Update=#Update#
AccurateText=1
DynamicWindowSize=1
OnRefreshAction=[!SetWindowPosition "49.90%" "48.85%" "50.00%" "50.00%"]
---Measures---
[Frame]
Measure=Calc
Formula=((#Frames#+Frame+#Speed#)%#Frames#)
---Meters---
[Container]
Meter=Shape
Shape=Ellipse (#Size#/2),(#Size#/2),(#Size#/2-#Edge#),(#Size#/2-#Edge#) | Fill RadialGradient EllipseGradient | StrokeWidth 0 | Stroke Color #EC#
EllipseGradient=0,0 | 0,0,0,255 ; 0.0 | 0,0,0,255 ; (1-#Glow#/(1+#Glow#)) | 0,0,0,128 ; (1-#Glow#/(1+#Glow#)) | 0,0,0,0 ; 1.0
UpdateDivider=-1
[Earth]
Container=Container
Meter=Image
ImageName=#@#Blue Marble.jpg
ImageCrop=(Trunc([Frame]%#Cols#)*#Size#),(Trunc([Frame]/#Cols#)*#Size#),#Size#,#Size#
DynamicVariables=1
which uses a (414 x 16) x (414 x 15) mosaic JPEG image as a source, basically the below enlarged 10 (Horizontal) x 10 (Vertical) times:
Blue Marble - Small.jpg
The measurements in the screenshots were done via the MSI Afterburner plugin and are more or less confirmed by the GPU alias of UsageMonitor.
As a curiosity, when running on the integrated AMD card, the GPU Core is at 4% and the GPU Alias in UsageMonitor is at around 2% when HA is off, while the GPU Core is at 9% and the GPU Alias in UsageMonitor is at around 5% when HA is on. However, when running on the more powerful dedicated NVidia card, the GPU Core is at 17% and the GPU Alias in UsageMonitor is at around 19% (HA on), so a greater usage than when running on the less powerful integrated card. Anyway, this was mentioned only as a fun fact, I've given up long ago trying to understand the mathematics displayed in Windows...
P.S. I didn't restart the computer when testing, but I don't think it would matter since this is supposed to work without any restart needed. Of course, I exited Rainmeter before changing the GPU settings in both places, followed by running it again.
P.S.S. Don't worry about the time it took to answer this, the more important thing is for the report to have been read.
You do not have the required permissions to view the files attached to this post.