-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fingerprint changes due to switching between GPUs #226
Comments
Same error. |
Let me confirm: they have identical components but different hashes, or different components but identical hashes? |
Hello Valve, they do have identical components, but different hashes. |
I noticed that fingerprint generated in active tab is different from generated in inactive tab. Problem occurs when you open link by cmd + click. Maybe this is an issue? |
I currently have two tabs open on The first tab will always generate the same hash on refresh but all the other tabs will match the second hash. I'll try to keep my tabs open in case you want me to run some commands. (I'll also check myself but I just found out about this lib, so didn't check the code yet). |
In my case it comes from the plugins. Using Not sure why, but in the second tab, |
@AlexGaspar you are right it was my mistake, I should be more careful with loads events |
same error....the components is identical;but the hash value have two |
Is anyone still able to reproduce this, and if so, under what circumstances? |
In chrome open http://valve.github.io/fingerprintjs2/ in sever tabs... I'm getting different hashes in different tabs. |
That's good news! Could you paste the output of this jsfiddle here? https://jsfiddle.net/o75kk2fn/ Which Chrome version and OS are you using? |
And those are the 2 hashes i'm cycling through between browser tabs.
|
That's very interesting. I use the exact same browser and OS and can't reproduce this. Telling from the output, it seems the canvas fingerprints are different. Maybe the problem is with some indeterministic antialiasing or smoothing, I don't know. I don't know enough about graphics to debug this any further. |
I can add that i get different hash values in incognito as well. |
I've experienced this and I suspect it is due to switching between the Intel & NVIDIA chipset for rendering. |
If that's true then you should be able to manually switch graphic chips, either using this: https://support.apple.com/en-us/HT202043 or maybe even this: https://github.com/codykrieger/gfxCardStatus |
@jonashaag this does not particularly help for the purposes of collecting fingerprints from website users. |
True but I'm trying to understand if that's really the cause of the rendering differences. |
@jonashaag also I doubt that any tangible percentage have the dual-graphics macbook pros. Something that may be unimportant |
@jonashaag sorry it took so long, but i did some testing. Toggling the setting in System Preferences didn't seem to do anything, but I'm watching Google Chrome in Activity Monitor (Energy Tab) and seeing it "Requires High Perf GPU". It was toggling between Yes and No and I believe caused the two different renders. Unfortunately it is hard to tell because there is a delay with Activity Monitor updating. Now in contrast, Safari says NO for Requires High Perf GPU and has a constant render. If I change Chrome's settings to not use Hardware Acceleration when available, I get a constant render. The odd report is that after turning hardware acceleration back on in chrome, It is constantly requesting High Perf GPU and am getting a constant render. It is no longer toggling between the two. Im afraid i can't say much more without knowing what chrome is doing in the background. |
These are very useful clues, @Pazza! I guess it's pretty obvious now that this is in fact due to load balancing between different GPUs. Not sure how we can force the browser to use the slow (or the fast) GPU for consistent fingerprints. Maybe something with https://davidwalsh.name/translate3d? Not sure if it applies to canvas objects? Or we could gather two canvas fingerprints and concat them. Any other ideas? |
Also relevant, from Firefox 63 Release Notes : A new powerPreference context attribute has been added to HTMLCanvasElement.getContext(). On macOS this allows WebGL non-performance-critical applications and applets to request the low-power GPU instead of the high-power GPU in multi-GPU systems (bug 1349799). |
Closing as WebGL has been removed from v3. |
Update: See #226 (comment) for the probable cause
Hi!
Sometimes i do find website visitors who i identified using a cookie.
In their Sessions, the do have identical Fingerprints, but the Hash-Value is not identical.
Did anyone else notice this, and what might be an explaination for this?
The text was updated successfully, but these errors were encountered: