Anbima Posted May 8, 2023 Share Posted May 8, 2023 (edited) On 4/20/2023 at 10:24 PM, UCyborg said: I've got similar score as @Anbima in Speedometer 2.0 on XP in 360Chrome 13.5, using AMD Phenom II X4 920 (over)clocked at 3 GHz. Don't recall the exact number, should be somewhere between 36 and 39. Seems simply CPU bound test. I have read that the AMD Phenom does not return the SSE3 flag and thus some programs cannot use SSE3. Could this be the reason that the processor is so "slow"? How can I query whether 360Chrome uses SSE3? https://axebase.net/blog/2022/09/05/chromium-fehlendes-sse3-flag/ Edited May 8, 2023 by Anbima Link to comment Share on other sites More sharing options...
NotHereToPlayGames Posted May 8, 2023 Author Share Posted May 8, 2023 Chrome did not require SSE3 until v89. Since 360Chrome v13.5 is forked from Chrome v86, the SSE3 flag should not be an issue. Link to comment Share on other sites More sharing options...
Anbima Posted May 9, 2023 Share Posted May 9, 2023 15 hours ago, NotHereToPlayGames said: Since 360Chrome v13.5 is forked from Chrome v86, the SSE3 flag should not be an issue. But 360Chrome v13.5 does support SSE3. And with SSE3 it would probably be faster. How can I check if 360Chrome v13.5 has SSE3 active? Link to comment Share on other sites More sharing options...
NotHereToPlayGames Posted May 9, 2023 Author Share Posted May 9, 2023 It should throw a banner uner the address bar / tab bar if SSE3 is not active. If you are not seeing this banner, then I'm not sure if the slowness is SSE3-related or not. Is there an "emulator" or "virtual machine" program that can run XP with or without SSE3? VirtualBox doesn't seem to support CPU flags such as emulating SSE3 or not. Link to comment Share on other sites More sharing options...
NotHereToPlayGames Posted May 9, 2023 Author Share Posted May 9, 2023 Or perhaps another test could be a Roytam Fork test. He compiles SSE and non-SSE versions. Does Speedometer 2.0 score different in SSE versus non-SSE? Link to comment Share on other sites More sharing options...
UCyborg Posted May 12, 2023 Share Posted May 12, 2023 (edited) On 5/8/2023 at 8:12 PM, Anbima said: https://axebase.net/blog/2022/09/05/chromium-fehlendes-sse3-flag/ Current Chromium source suggests SSE3 is detected by running CPUID instruction with EAX register set to 0x00000001 and inspecting if bit 0 of ECX register is set to 1, I also remember seeing trying to execute one of SSE3 instruction directly in one part of the code yesterday to verify availability, but would have to find it again. Reading /proc/cpuinfo would obviously not work on Windows. My Phenom II says SSE3 is supported, along with MONITOR instruction, an odd instruction that is rarely, if ever used. Though executing the latter throws illegal instruction exception. I doubt SSE3/no SSE3 has much impact on Speedometer 2.0, which I find to be a rather meaningless metric in the grand scheme of things. Also UXP browsers are much slower at it, SSE or no SSE. My smartphone with Chromium 113 engine scores about 8 points on it, doesn't make it useless for web browsing. On 5/9/2023 at 2:57 PM, NotHereToPlayGames said: Is there an "emulator" or "virtual machine" program that can run XP with or without SSE3? VMware allows specifying returned feature flags when the guest uses CPUID instruction in a configuration file if I remember correctly, although I presume executing SSE3 instructions would work regardless on supported CPUs, so the program that wants them wouldn't use them only if it checks the feature flags and is programmed to not use them if feature flags say no SSE3. This is something I would have to test to be sure. There are some programs out there emulating very old CPUs, I only remember messing with PCem. In absence of owning real SSE3less CPU, emulating is probably the only way to have the "real" CPU without SSE3. Edited May 12, 2023 by UCyborg Many additions Link to comment Share on other sites More sharing options...
NotHereToPlayGames Posted May 12, 2023 Author Share Posted May 12, 2023 (edited) 45 minutes ago, UCyborg said: I doubt SSE3/no SSE3 has much impact on Speedometer 2.0, which I find to be a rather meaningless metric in the grand scheme of things. I too doubt that SSE3 vs non-SSE3 has much impact. I actually quite like Speedometer - I can tell just by its score if YouTube is going to "stutter". (Though I guess if that is the metric, then just go to YouTube directly, lol.) But I am talking desktop/laptop only. I've never ran any browser from a mobile device - why run on a 3" x 5" screen when the desktop has five widescreen monitors? Edited May 12, 2023 by NotHereToPlayGames Link to comment Share on other sites More sharing options...
UCyborg Posted May 14, 2023 Share Posted May 14, 2023 On 5/12/2023 at 11:12 AM, NotHereToPlayGames said: I've never ran any browser from a mobile device - why run on a 3" x 5" screen when the desktop has five widescreen monitors? In my case, it depends on the occasion/mood, not one versus another. With a phone, I'm not restricted to that one room to that one chair. Link to comment Share on other sites More sharing options...
rereser Posted May 17, 2023 Share Posted May 17, 2023 (edited) JS polyfill for findLastIndex test : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findLastIndex implemented in chrome 97 : https://caniuse.com/mdn-javascript_builtins_array_findlastindex // ==UserScript== // @name Inject findLastIndex Polyfill // @version 0.0.1 // @match *://*/* // @run-at document-start // @grant none // ==/UserScript== if (!Array.prototype.findLastIndex) { Object.defineProperty(Array.prototype, "findLastIndex", { value: function (predicate, thisArg) { let idx = this.length - 1; while (idx >= 0) { const value = this[idx]; if (predicate.call(thisArg, value, idx, this)) { return idx; } idx--; } return -1; } , writable: true, enumerable: false, configurable: true }); } Edited May 18, 2023 by rereser 1 Link to comment Share on other sites More sharing options...
NotHereToPlayGames Posted May 17, 2023 Author Share Posted May 17, 2023 (edited) Awesome! Thanks. Edited May 20, 2023 by NotHereToPlayGames Link to comment Share on other sites More sharing options...
rereser Posted May 17, 2023 Share Posted May 17, 2023 (edited) JS polyfill for Array.at test : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at implemented in chrome 92 : https://caniuse.com/mdn-javascript_builtins_array_at // ==UserScript== // @name Inject Array.at Polyfill // @version 0.0.1 // @match *://*/* // @run-at document-start // @grant none // ==/UserScript== if (!Array.prototype.at) { Object.defineProperty(Array.prototype, "at", { value: function (n) { // ToInteger() abstract op n = Math.trunc(n) || 0; // Allow negative indexing from the end if (n < 0) n += this.length; // OOB access is guaranteed to return undefined if (n < 0 || n >= this.length) return undefined; // Otherwise, this is just normal property access return this[n]; }, writable: true, enumerable: false, configurable: true }); } Edited May 20, 2023 by rereser 1 Link to comment Share on other sites More sharing options...
NotHereToPlayGames Posted May 17, 2023 Author Share Posted May 17, 2023 (edited) Sweet! Thanks again. Edited May 20, 2023 by NotHereToPlayGames Link to comment Share on other sites More sharing options...
rereser Posted May 18, 2023 Share Posted May 18, 2023 (edited) JS polyfill for findLast test : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findLast implemented in chrome 97 : https://caniuse.com/mdn-javascript_builtins_array_findlast // ==UserScript== // @name Inject findLast Polyfill // @version 0.0.1 // @match *://*/* // @run-at document-start // @grant none // ==/UserScript== if (!Array.prototype.findLast) { Object.defineProperty(Array.prototype, "findLast", { value: function (predicate, thisArg) { let idx = this.length - 1; while (idx >= 0) { const value = this[idx]; if (predicate.call(thisArg, value, idx, this)) { return value; } idx--; } return undefined; } , writable: true, enumerable: false, configurable: true }); } Edited May 20, 2023 by rereser 1 Link to comment Share on other sites More sharing options...
rereser Posted May 18, 2023 Share Posted May 18, 2023 (edited) all three polyfills have been changed. see the above posts please. Edited May 20, 2023 by rereser Link to comment Share on other sites More sharing options...
Anbima Posted May 18, 2023 Share Posted May 18, 2023 What is the easiest and best way to include polyfills? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now