Begrenzte Anzahl von parallelen Downloads
Die Anzahl der gleichzeitig stattfindenden Downloads soll vom Benutzer beschränkt werden können, um die Bandbreite zu schonen.

Fragt sich, inwiefern das gut umsetzbar und wirklich nützlich wäre. Kommentare gerne erwünscht!
9 comments
-
Anonymous commented
Also ich lade manchmal bis zu 100 Videos parallel runter (meine YouTube Playlist der letzten Wochen). Das Problem durch die vielen parallelen Downloads ist, daß jeder einzelne Download die Gesamtgeschwindigkeit durch die TCP Congestion Control und TCP Slow Start verlangsamt. Die ACKs kommen immer langsamer durch und dadurch wird die Geschwindigkeit der entsprechenden Verbindung verlangsamt.
Das führt dann dazu, das ClipGrab am Ende nur noch einen sehr geringen Teil der zur Verfügung stehenden Bandbreite nutzt, die Downloads wesentlich länger bräuchten als sie müssten und manchmal dann sogar von der Serverseite her abgebrochen werden.
Ein Realisierung stelle ich mir leicht vor ... Die gewünschten Downloads einfach in einer Liste halten ... und daraus dann immer so viele Downloads durchführen und aus der Warteliste entfernen, wie der Benutzer als parallele Downloads konfiguriert hat.
-
flocken commented
glaube nicht das ist wirklich notwendig wäre, höchstens für eine relativ kleine Nische der Benutzer
-
Martin commented
Mit der Begründung "um die Bandbreite zu schonen" ist das natürlich Blödsinn, da alle laufenden Internetzugriffe (-downloads) immer versuchen zusammen die volle Bandbreite zu nutzen, egal ob das 1 oder 100 Downloads oder sonstige Zugriffe sind.
Und wenn Trafficshaping implementiert werden soll, könnte man den einzelnen Download oder alles von Clibcrap zusammen beschränken.
Das einzige was das bringt ist vermutlich, dass die zuerst gestarteten Downloads dann auch früher abgeschlossen werden, da ihnen mehr Bandbreite zur Verfügung steht. -
Oliver commented
sehr wichtig für Nutzer mit begrenztem Net. Nicht jeder hat Glasfaser ins Haus. Eine Funktion die eine Liste abarbeitet wäre extrem sinnvoll.
-
pissed off ClipGrab user commented
Why on Earth would someone WANT this as a feature. How absurd.
-
DirkSchulze commented
@Lin4you Nicht jeder hat eine 20k Leitung. Es geht hier nicht um die Bandbreite zu beschrenken sondern die gleichzeitigen Downloads. Obwohl auch das beschrenken der Bandbreite in bestimmten Situationen Sinnvoll wäre(z.B. gleichzeitiges Onlinespielen.)
Das begrenzen der gleichzeitigen Downloads wäre für mich auch recht Sinnvoll. Alle Downloads in einer Liste und dann wie in einem normalen Downloadmanager 2-3 gleichzeitige(einstellbar) Downloads. Wenn einer fertig dann zum nächsten. So wartet man nicht auf alle Videos z.B 5h, sondern kann schon einige ansehen während die anderen noch herunter geladen werden. -
Harry commented
@Lin4you - Du musst es ja nicht benutzen und lässt es dann halt auf unbegrenzt eingestellt.
An sich sollte die Funktion eingebaut werden. Hat ja eigentlich fast jeder Download Manager. Zwei Text Felder zum direkten eingeben der Geschwindigkeit und Anzahl der gleichzeitigen Downloads . Oder Dropdown Menüs oder noch besser beides.
Das ganze dann direkt unter der Download Liste damit mans schnell ändern kann. -
Georg Grabler commented
Also zur umsetzbarkeit: Das sollte nicht all zu schwer werden, und kann über das bereits verwendete finished() signal von qnetworkaccessmanager gemacht werden.
Man kann ja einfach nur bis zu dem limit starten (download()), und sobald ein download das finished() signal gibt den nächsten starten.
---
Optimale Bandbreitennutzung/schonen: Dafür wird normaler Weise traffic shaping verwendet. Um dies umzusetzen subclassen viele QTcpSocket, und arbeiten nicht mehr mit QNetworkAccessManager (http://doc.trolltech.com/qq/qq17-ratecontrol.html) -
Lin4you commented
Ich habe eine 20k Leitung und da wäre es doch schade wenn ich die nicht voll ausnutzen könnte :D insofern finde ich das nicht praktisch.