Ultrawidify 的评价
Ultrawidify 作者: Tamius Han
Tamius Han 的回应
开发者回应
发布于 7 年前> A simple edge/blackborder detection would have done the job easily.
There's no such thing as "simple edge/blackborder detection." I've started the entire autodetection approach with a "simple" approach first, and it quickly became obvious that simple doesn't cut it. There's simply too much false positives. But we'll come back to auto-detection later.
> After reloading website on Youtube works for some minutes and adjusts (sometimes not correctly) content with huge delay (>10seconds at least).
Technical limitations. Youtube starts playing video before the page has finished loading. Extensions (to my knowledge) only start running when webpage has been fully loaded.
In addition to that, there's two more problems that can cause additional delays:
* there's edge cases which cause autodetection script to do nothing, because video doesn't contain enough data to determine the aspect ratio
* aspect ratio detection only runs once per second due to technical limitations of Javascript's memory management. I'm not kidding.
> But too often the plugin failed to recognize any content
Too often, the popup seems to lie.
> Auto detection is fully broken, takes a lot of ressources doing nothing. Constantly switches itself off.
Autodetection takes a lot of resources because it's written in javascript. Autodetection is written with javascript because javascript is the only¹ option that runs in-browser. Javascript is also utter garbage for this purpose.
To date, ridiculously great amounts of time were spent trying to improve resource usage (especially RAM usage, which gets really bad if you run autodetection script more than two times a second), and the answer has consistently been 'pound sand' and 'cry is free'.
EDIT: Apparently the bug where autodetection shuts itself on between videos is back. However, there's a new feature that turns off automatic detection when it detects things are taking too much time, so I'll leave this bit here.
When automatic detection runs on slower hardware, everything takes longer. Javascript is single-threaded and blocking, meaning that as long as autodetection script runs, the rest of the browser is going to wait and do nothing. This causes noticeable lag/stutter (on my other test machine), which is why a decision was made: if autodetection consistently takes too long to complete, we'll turn it off. After all, having no autodetection (with ability to manually set aspect ratio) beats laggy video.
Too long is 15 milliseconds, which seems like a reasonable number for various reasons.
Consistently means 'over 15 milliseconds for more than 5 seconds in a row.'
> 3) If the site has more than one video (e.g. Steam Store) the plugin fails to recognize any second, third, further video and is not able to stretch these.
Known issue. There's no easy solution as each approach to pages with multiple videos has some drawbacks. At the end of the day, though, things take time, and priorities are Youtube > Netflix > Amazon Prime (currently not officually supported) > everything else (also no official support), though.
There's a reason extension is disabled elsewhere by default. We've had that experiment once and it was a bit too ambitious.
EDIT: whoopsie, it seems that the bug with autodetection not starting on video change is back. Sorry about those earlier assumptions.
---------
¹Okay webasm is an unexplored venue. It's going to stay unexplored for a while. WebGL is another thing that sounds like something possibility worth exploring if I had time to explore the possibilites. Both would be a ton of work requiring a ton of time, and time is something that's a bit hard to come by with a full time job.
There's no such thing as "simple edge/blackborder detection." I've started the entire autodetection approach with a "simple" approach first, and it quickly became obvious that simple doesn't cut it. There's simply too much false positives. But we'll come back to auto-detection later.
> After reloading website on Youtube works for some minutes and adjusts (sometimes not correctly) content with huge delay (>10seconds at least).
Technical limitations. Youtube starts playing video before the page has finished loading. Extensions (to my knowledge) only start running when webpage has been fully loaded.
In addition to that, there's two more problems that can cause additional delays:
* there's edge cases which cause autodetection script to do nothing, because video doesn't contain enough data to determine the aspect ratio
* aspect ratio detection only runs once per second due to technical limitations of Javascript's memory management. I'm not kidding.
> But too often the plugin failed to recognize any content
Too often, the popup seems to lie.
> Auto detection is fully broken, takes a lot of ressources doing nothing. Constantly switches itself off.
Autodetection takes a lot of resources because it's written in javascript. Autodetection is written with javascript because javascript is the only¹ option that runs in-browser. Javascript is also utter garbage for this purpose.
To date, ridiculously great amounts of time were spent trying to improve resource usage (especially RAM usage, which gets really bad if you run autodetection script more than two times a second), and the answer has consistently been 'pound sand' and 'cry is free'.
EDIT: Apparently the bug where autodetection shuts itself on between videos is back. However, there's a new feature that turns off automatic detection when it detects things are taking too much time, so I'll leave this bit here.
When automatic detection runs on slower hardware, everything takes longer. Javascript is single-threaded and blocking, meaning that as long as autodetection script runs, the rest of the browser is going to wait and do nothing. This causes noticeable lag/stutter (on my other test machine), which is why a decision was made: if autodetection consistently takes too long to complete, we'll turn it off. After all, having no autodetection (with ability to manually set aspect ratio) beats laggy video.
Too long is 15 milliseconds, which seems like a reasonable number for various reasons.
Consistently means 'over 15 milliseconds for more than 5 seconds in a row.'
> 3) If the site has more than one video (e.g. Steam Store) the plugin fails to recognize any second, third, further video and is not able to stretch these.
Known issue. There's no easy solution as each approach to pages with multiple videos has some drawbacks. At the end of the day, though, things take time, and priorities are Youtube > Netflix > Amazon Prime (currently not officually supported) > everything else (also no official support), though.
There's a reason extension is disabled elsewhere by default. We've had that experiment once and it was a bit too ambitious.
EDIT: whoopsie, it seems that the bug with autodetection not starting on video change is back. Sorry about those earlier assumptions.
---------
¹Okay webasm is an unexplored venue. It's going to stay unexplored for a while. WebGL is another thing that sounds like something possibility worth exploring if I had time to explore the possibilites. Both would be a ton of work requiring a ton of time, and time is something that's a bit hard to come by with a full time job.