Kapiainen / Lauhdutin

A Rainmeter skin for launching games.
MIT License
67 stars 8 forks source link

Skin loads at start up quite long #73

Closed LinusHe closed 7 years ago

LinusHe commented 7 years ago

Short description of the issue

The Skin is loading more than a minute when I start my PC / Rainmeter

VIDEO: click here

Lauhdutin version

Latest Version (2.7.0 Beta 5)

Rainmeter version

4.0.0 r2746 64-bit (Jan 1 2017)

Python version

Python 3.6 (installer)

Windows version

Windows 10 Pro 64-bit (build 14393)

Python stack traceback

Running on Python 3.6.1
Processing Windows shortcuts...
        Found shortcut 'Battlefield 1.lnk'
        Found shortcut 'Battlefield 4.lnk'
        Found shortcut 'Minecraft.lnk'
        Found shortcut 'STAR WARS Battlefront.lnk'
        Found shortcut 'Titanfall2.lnk'
Processing Battle.net games...
        Found game 'Hearthstone'
        Found game 'Heroes of the Storm'
        Found game 'Overwatch'
        Found game 'World of Warcraft'
        Found game 'Overwatch'
Processing Steam games...
                Failed to process 'sharedconfig.vdf'
                Failed to process 'localconfig.vdf'
        Found library 'C:/Program Files (x86)/Steam'
                Found game 'Starbound'
        Found library 'D:\Games'
                Found game 'Terraria'
                Found game 'Call of Duty: Black Ops II'
                Found game 'Call of Duty: Black Ops II - Multiplayer'
                Found game 'Castle Crashers'
                Found game 'Call of Duty: Black Ops II - Zombies'
                Found game 'Chivalry: Medieval Warfare'
                Found game 'Stanley Parable, The'
                Found game 'Euro Truck Simulator 2'
                Found game 'Worms Clan Wars'
                Found game 'BattleBlock Theater'
                Found game 'Assassin's Creed IV Black Flag'
                Found game 'Rocket League'
                Found game 'Cities: Skylines'
                Found game 'Grand Theft Auto V'
                Found game 'Tabletop Simulator'
                Found game 'Wolfenstein: The New Order German Edition'
                Found game 'Brawlhalla'
                Found game 'Call of Duty: Black Ops III'
                Found game 'Chaos Reborn'
                Found game 'Life Is Strange'
                Found game 'SteamVR Performance Test'
                Found game 'AdVenture Capitalist'
                Found game 'Portal Knights'
                Found game 'DARK SOULS III'
                Found game 'Ultimate Chicken Horse'
                Found game 'Garry's Mod'
                Found game 'Moonlight'
                Found game 'GRID 2'
                Found game 'Farming Simulator 17'
                Found game 'Portal 2'
                Found game 'Counter-Strike: Global Offensive'
        Found 32 games that are installed
Processing Steam shortcuts...
Processing GOG Galaxy games...
Generating master list of games...
Found 41 games...
Comparing new master list of games with old master list of games...
Downloading banners for 32 games from supported platforms...
        Failed to download banner at some point for 'Starbound - Unstable'
Writing master list of 64 games to disk...
Initializing frontend...
Execution time: 1 minutes 25.34 seconds
BanCrash commented 7 years ago

Hello,

I see that the error is:

            Failed to process 'sharedconfig.vdf'
            Failed to process 'localconfig.vdf'

Do you select the folder of you profile in the settings of the skin? Because I get the same error when I don't select it:

image

image

LinusHe commented 7 years ago

Hi,

yes i have selected my account: unbenannt

unbenannt2

what starting time do you get, when you reboot your pc? unbenannt3

maybe its normal..?

BanCrash commented 7 years ago

Well, I guess that would depend on your computer, but I see a huge difference between your execution time and mine:

image

I think the problem is that error you get. I don't get that error:

image

Could you create other folder in your rainmeter skins path, and try to install from 0 in that folder the skin to see if the problem still arise? I mean, without erasing or modifying your actual skin folder.

Kapiainen commented 7 years ago

Have you checked that \Steam\userdata\YOURUSERDATAID\7\remote\sharedconfig.vdf and \Steam\userdata\YOURUSERDATAID\config\localconfig.vdf do exist? If they do exist, then could you try using this modified version of \@Resources\Backend\Steam.py? You can either replace the contents of your current version of that file or you can rename the current version and create a new copy with the linked contents. I added some print statements to give a bit more information about the spots where the two .vdf files are failing to be processed.

I noticed that the log says that Overwatch was found twice:

Processing Battle.net games...
        Found game 'Hearthstone'
        Found game 'Heroes of the Storm'
        Found game 'Overwatch'
        Found game 'World of Warcraft'
        Found game 'Overwatch'

I'm not sure what is going on there.

Regarding execution times; I have 79 games installed via Battle.net, GOG Galaxy, and Steam (248 games in total, most of which are not installed). It takes ~0.1-0.2 seconds when I don't parse my Steam community profile. If I do parse my Steam community profile, then the execution time goes up to 2-4 seconds, which is probably due to downloading the web page.

LinusHe commented 7 years ago

@BanCrash Youre Right. It now takes only 5-10 seconds on startup. This fixed my problem now.

@Kapiainen Yes, both files do exist. the new output:

Processing Steam games...
shared_config: {'userroamingconfigstore': {'software': {'valve': {'steam': {'ssaversion': '3', 'privacypolicyversion': '2', 'desktopshortcutcheck': '0', 'startmenushortcutcheck': '1', 'autolaunchgamelistcheck': '1', 'apps': {'12210': {'lastplayed': '1370353291'}, '24010': {'cloudenabled': '1'}, '200170': {'cloudenabled': '1'}, '44350': {'cloudenabled': '1'}, '570': {'cloudenabled': '1'}, '205790': {'hidden': '1'}, '255710': {'cloudenabled': '1'}, '113200': {'cloudenabled': '1'}, '271590': {}, '202970': {}, '202990': {}, '242050': {}, '203160': {}, '252950': {}, '286160': {}, '311210': {}, '298110': {}, '288570': {}, '233840': {'cloudenabled': '0'}, '211820': {}, '374320': {}, '367540': {'hidden': '1'}}, 'steamdefaultdialog': '#app_games'}}}, 'web': {'webfav0_url': 'https://www.google.com/', 'webfav0_name': 'Google', 'webfav1_url': 'http://www.youtube.com/', 'webfav1_name': 'YouTube', 'webfav2_url': 'http://www.twitter.com/', 'webfav2_name': 'Twitter', 'webfav3_url': 'http://www.facebook.com/', 'webfav3_name': 'Facebook', 'webfav4_url': 'http://www.reddit.com/', 'webfav4_name': 'Reddit', 'webrecent0_url': 'https://www.youtube.com/', 'webrecent0_name': 'YouTube', 'webfrequent0_url': 'http://www.youtube.com/', 'webfrequent0_name': 'YouTube', 'webfrequent0_access': '2', 'webrecent1_url': 'http://www.youtube.com/?gl=DE&hl=de', 'webrecent1_name': 'YouTube', 'webfrequent1_url': 'http://www.youtube.com/user/de', 'webfrequent1_name': 'YouTube', 'webfrequent1_access': '1', 'webrecent2_url': 'http://www.youtube.com/user/de', 'webrecent2_name': 'YouTube', 'webfrequent2_url': 'http://www.youtube.com/?gl=DE&hl=de', 'webfrequent2_name': 'YouTube', 'webfrequent2_access': '1', 'webrecent3_url': 'http://www.youtube.com/', 'webrecent3_name': 'YouTube', 'webfrequent3_url': 'https://www.youtube.com/', 'webfrequent3_name': 'YouTube', 'webfrequent3_access': '1', 'webrecent4_url': 'https://store.steampowered.com/account/ackgift/B4F9FF9F01595E0D?redeemer=happynewyearsale4%40yandex.kz', 'webrecent4_name': 'Gift activation', 'webfrequent4_url': 'https://store.steampowered.com/account/ackgift/B4F9FF9F01595E0D?redeemer=happynewyearsale4%40yandex.kz', 'webfrequent4_name': 'Gift activation', 'webfrequent4_access': '1'}, 'tradeinfohint': '1'}}
['userlocalconfigstore', 'software', 'valve', 'steam', 'apps']
['software', 'valve', 'steam', 'apps']
                Failed to process 'sharedconfig.vdf'
Press Enter to continue

By the way, it only takes 1min+, when i reboot/start my computer. When I just refresh the skin, it takes 5-15 seconds.

Kapiainen commented 7 years ago

Okay, thanks for the info. So for some reason you don't have an entry in sharedconfig.vdf with UserLocalConfigStore as its key, but instead you do have one with UserRoamingConfigStore as its key and otherwise the file looks to be structurally the same. Could you check if the first line in \Steam\userdata\YOURUSERDATAIDHERE\config\localconfig.vdf is UserLocalConfigStore, UserRoamingConfigStore, or something else? I imagine it will be the same in both files.

Maybe Steam has shifted towards using UserRoamingConfigStore for all new installs of Steam and is maintaining backwards compatibility rather than updating the files of old installations? I installed Steam on my computer back in late January/early February 2017, but I've still got UserLocalConfigStore.

If your D partition is on an HDD, then there might be a delay if the device is powered down by the OS until it is accessed. However, I don't think that the delay of powering on the HDD would account for the 1+ minutes of execution time.

Regardless, I will have to update Steam.py.

LinusHe commented 7 years ago

First lines in sharedconfig.vdf

"UserLocalConfigStore"
{
    "Broadcast"
    {
        "Permissions"       "1"
        "MaxKbps"       "2500"
        "OutputWidth"       "1280"
        "OutputHeight"      "720"
        "EncoderSetting"        "0"
        "IncludeDesktop"        "0"
        "RecordSystemAudio"     "0"
        "RecordMic"     "0"
        "ShowDebugInfo"     "0"
        "ShowReminder"      "1"
        "ShowChat"      "1"
    }
    "friends"
    {...

I think my last steam installation was in mid-2016..

if you need the whole file, let me know it :)

Kapiainen commented 7 years ago

Okay, not quite what I expected. I don't think I'll need anything more from that file.

I wonder what kind of logic is being used to determine which key to use? If your installation is older than mine, then my hypothesis of newer installations using different keys is wrong.

I'll try to have a new beta version, which should fix the issue with not correctly processing those .vdf files, uploaded at some point tomorrow. Jetzt ist es zu spät. Gute Nacht.

LinusHe commented 7 years ago

Okay :) I'll try that in the next days and will report the effect.

Gute Nacht ;) Hab morgen Mathe Abi, yay ^^

Kapiainen commented 7 years ago

Viel Glück!

BanCrash commented 7 years ago

Just out of curiosity, you use / used some streaming feature / family mode / Steam link or something like that on Steam?

I have think of a theory that have Roaming instead of local to get that configuration on some other device.

Kapiainen commented 7 years ago

@LinusHe Could you provide the output from the custom Steam.py file, which I asked you to use earlier, for the processing of localconfig.vdf (i.e. press Enter when it fails to process sharedconfig.vdf in order to continue on to localconfig.vdf)? I just realized that your first log indicated that both .vdf files caused issues, but only sharedconfig.vdf uses a different key than what was expected. There must be something else in your copy of localconfig.vdf that is causing an issue.

LinusHe commented 7 years ago

Excuse me for answering a bit late. I had stress because of Abitur ..;)

@BanCrash No I dont use that. I used Steam Family a few years ago, but I do not think it has any impact on my current client.

@Kapiainen Okay, here is the output with the alternative Steam.py: https://pastebin.com/raw/LYBLFdfR Info: Its now the Output of the "new" Skin Version (new, clean Skin Folder) wich loads faster.

Kapiainen commented 7 years ago

No worries. Looks like localconfig.vdf is no longer failing to be processed. I'll release a new beta, which should fix the issue with sharedconfig.vdf, in a moment.

Kapiainen commented 7 years ago

Beta 6 is available now.

LinusHe commented 7 years ago

okay thanks 👍