Experience Index Returns (Open-source)

Discussion in 'MDL Projects and Applications' started by Muerto, Apr 7, 2016.

  1. Carlos Detweiller

    Carlos Detweiller Emperor of Ice-Cream

    Dec 21, 2012
    6,316
    7,022
    210
    To aid in further testing, I haven't refreshed that system's score, so far.
     
  2. Muerto

    Muerto MDL Debugger

    Mar 7, 2012
    1,855
    2,101
    60
    I may send you a WMI script to run, which grabs a value for debugging purposes.

    Or if your affiliated with WMI in win32_WinSAT there is a value “WinSATAsessmentState”, which holds the current state, could you let me know the value?

    Let me know either way, again I really appreciate your, and everyone else’s help.
     
  3. s1ave77

    s1ave77 Has left at his own request

    Aug 15, 2012
    16,104
    24,378
    340
    Could it be “WinSATAssessmentState” is meant :g:? Otherwise it errors here.

    Code:
    C:\Windows\system32>wmic path Win32_WinSAT get WinSATAssessmentState
    WinSATAssessmentState
    1
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. Muerto

    Muerto MDL Debugger

    Mar 7, 2012
    1,855
    2,101
    60
    I will check. I’m sure I checked the spelling but worth another look. Thanks man!
     
  5. s1ave77

    s1ave77 Has left at his own request

    Aug 15, 2012
    16,104
    24,378
    340
    Code:
    CPUScore                                real32                  Read
    D3DScore                                real32                  Read
    DiskScore                               real32                  Read
    GraphicsScore                           real32                  Read
    MemoryScore                             real32                  Read
    TimeTaken                               string                  N/A
    WinSATAssessmentState                   uint32                  Read
    WinSPRLevel                             real32                  Read
    
    At least with 1 s it fails in WMI and my dictionary :D.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. Muerto

    Muerto MDL Debugger

    Mar 7, 2012
    1,855
    2,101
    60
    It seems all data is correct here, although something odd is going on as Windows and WMI code creator show two different values. I'll look into it further now.

    Code:
                ObjectQuery Obj = new ObjectQuery("SELECT * FROM Win32_WinSAT");
                ManagementObjectSearcher Searcher = new ManagementObjectSearcher(Scope, Obj);
                foreach (ManagementObject WMIObj in Searcher.Get()) {
                    IntVal = WMIObj["WinSATAssessmentState"].ToString;
                }
     
  7. Muerto

    Muerto MDL Debugger

    Mar 7, 2012
    1,855
    2,101
    60
    #267 Muerto, Jan 6, 2018
    Last edited: Jul 5, 2019
    (OP)
    Xiret 2 beta 2 available:-

    Link removed by QB - Version superceeded.

    SHA256 - 6493adf0ad8f940a01b879ade639365b8d8c56d468d9d69b40d4008cad298ae3 (always make sure checksums match)

    Virus total included, please post any bugs here so I can narrow the next list down.

    Regards, QB.
     
  8. ItielMaN

    ItielMaN MDL Senior Member

    Apr 30, 2011
    367
    59
    10
  9. Carlos Detweiller

    Carlos Detweiller Emperor of Ice-Cream

    Dec 21, 2012
    6,316
    7,022
    210
    Maybe a bit late, but my value is:

    Code:
    C:\>wmic path Win32_WinSAT get WinSATAssessmentState
    WinSATAssessmentState
    1
    Will check out beta2.
     
  10. Carlos Detweiller

    Carlos Detweiller Emperor of Ice-Cream

    Dec 21, 2012
    6,316
    7,022
    210
    Well, checked beta2:

    1. Scores are still referred to as "valid", while Windows disagrees strongly. The question is now, how Windows determines that scores are out of date. I won't refresh the scores until we squashed that bug.

    2. The "Scoring" explanation still doesn't fit and the end is truncated.

    3. On the normal display of results, the "Harddisk" description line is missing, its score is shown. The Gaming score is now correct, yay!

    4. Same thing in Hardware mode, the Harddisk line is completely missing, probably pushed into oblivion by the other lines. The icons also do not match with the lines.

    Sorry for the bad news, don't shoot the messenger, thanks.
     

    Attached Files:

  11. Muerto

    Muerto MDL Debugger

    Mar 7, 2012
    1,855
    2,101
    60
    Haha, I'd never shoot the messenger :D

    1. This is proving difficult as apparently WinSAT gets the validity from WMI, I've checked the code multiple time and it's being returned correctly, maybe there's something I'm missing. I continue to look into this. but the value of "1" you're getting from "WinSATAssessmentState" means your scores are valid.

    2, 3 and 4. 4K scaling is definately being worked out before release, it would be easier if my 4k monitor didn't get damp, but I ordered a new one and it's in the mail. Once it arrives the issues can be fixed properly. Hardware mode does not scale properly on 4K since I based resizing on set values and it will be an easy fix.

    Thanks for letting me know gaming score is now read correctly,
     
  12. Muerto

    Muerto MDL Debugger

    Mar 7, 2012
    1,855
    2,101
    60
    Added for next BETA:

    1. New routine to detect the taskbar location and working screen area for notifications
    Code:
        private void SetLocationOfWindow()
        {
           int N = 6; //Magic number for bounds - W or H (Edge spacing)
           int W = Width; //Width of Form
           int H = Height; //Height of Form
           Screen LCD = Screen.PrimaryScreen;
    
           switch (GetTaskbarLocation()) //Gambol/Toast/WinAPI
           {
               case TaskBarLocation.Bottom:
                   Location = new Point(LCD.Bounds.Width - (W - N), (LCD.WorkingArea.Height - (H - N)));
                   break;
               case TaskBarLocation.Left:
                   Location = new Point(LCD.Bounds.Width - (W - N), (LCD.Bounds.Height - (H - N)));
                   break;
               case TaskBarLocation.Top:
                   Location = new Point(LCD.Bounds.Width - (W - N), (LCD.Bounds.Height - (H - N)));
                   break;
               case TaskBarLocation.Right:
                   Location = new Point(LCD.WorkingArea.Width - (W - N), (LCD.Bounds.Height - (H - N)));
                   break;
               default: //Assume default taskbar set to bottom
                   Location = new Point(LCD.Bounds.Width - (W - N), (LCD.WorkingArea.Height - (H - N)));
                   break;
            }
        }
    
    2. Changed how controls are rendered to eliminate "black blocks" on execution of application
    3. (DPI) Hardware mode resizing logic fixed for QHD/UHD panels
    4. Fixed multiple spaces for certain strings, e.g. HDD/SSD manufacturer
    Code:
    S = Regex.Replace(S, "{2, }", " ");
    5. Fixed spacing before MB, GB, GHz, etc

    Still working on:

    1. More DPI scaling fixes
    2. incorrect score validity shown - Unaware of cause
    3. Some machines show incorrect system drive - Aware of cause

    Regards, QB.
     
  13. Carlos Detweiller

    Carlos Detweiller Emperor of Ice-Cream

    Dec 21, 2012
    6,316
    7,022
    210
    1. As for validity, one hint could be what the OS prints as notification:
    osnotification.jpg
    "New hardware detected" might mean just that. Detecting a change in hardware / software (I did update the nVidia drivers, lately) deems the scores invalid.
     
  14. Muerto

    Muerto MDL Debugger

    Mar 7, 2012
    1,855
    2,101
    60
    #275 Muerto, Jan 9, 2018
    Last edited: Jan 9, 2018
    (OP)
    On Windows 10 it works very differently so I'm installing Windows 7, through 8.1 to see the differences between them. After installing new drivers in Windows 10 WMI reports WinSATAssessmentState "3", although it's still reported as "1" (valid) even if loaded from WMI, very strange issues. But then this is to be expected, when has Microsoft ever made anything easy?

    I upgraded my GTX drivers today and it reported valid on my side, whereas in Windows 7, it invalidates scores as it becomes "incoherent with hardware"

    Regards, QB.
     
  15. Michaela Joy

    Michaela Joy MDL Crazy Lady

    Jul 26, 2012
    4,071
    4,651
    150
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. Muerto

    Muerto MDL Debugger

    Mar 7, 2012
    1,855
    2,101
    60
    Thanks MJ! :D

    Windows 7 is installed after some .wim edits, I've never tried to install 7 on my Laptop so it needed USB3 and NVMe drivers, once I set up Visual Studio I'll get started on debugging.
     
  17. Muerto

    Muerto MDL Debugger

    Mar 7, 2012
    1,855
    2,101
    60
    Okay - Now I know the answer to some questions.

    1. Windows 7 gets the WinSAT validity from WinSATAPI.dll - I'm sure Windows 8, 8.1 and 10 do the same, on Windows 7 the validity in the UI @Carlos Detweiller is not based on Instrumentation and I'm sure this is why your validity is incorrect.
    2. My readings were muddled and incorrect since Delphi WMI Code Creator was compiled under x86 - Now under a 64 Bit environment it was return incorrect metrics, this caused my confusion, you'd think they would compile it as x64 specific.

    From these findings I have no choice but to rewrite with the API, which I have started now.

    Regards, QB.
     
  18. Muerto

    Muerto MDL Debugger

    Mar 7, 2012
    1,855
    2,101
    60
    #279 Muerto, Jan 11, 2018
    Last edited: Jan 12, 2018
    (OP)
    I've solved the validity issue. Same issue on my windows 7 - After removing nVidia drivers and restarting my PC, WMI still reports a valid score but WinSAT says my scores need to be refreshed.

    With the WinAPI rewrite WinSAT returns:

    Code:
    WINSAT_ASSESSMENT_STATE_INCOHERENT_WITH_HARDWARE
    With an integer value of "2" which is correct.

    @Carlos Detweiller - I'm going to send you a private version to test, all seems well my end.
     
  19. Carlos Detweiller

    Carlos Detweiller Emperor of Ice-Cream

    Dec 21, 2012
    6,316
    7,022
    210
    Answered in conversation - the change fixed it.