Pixmap mit großem DrawPort dauert lange zu erzeugen

  • Das ist ein Extrembeispiel mit 400k Text:

    Code
    Mär 06 14:35:27 yavdr-vbox vdr[9808]: [9808] flatPlus: cTextFloatingWrapper::Set() Text length: 20
    Mär 06 14:35:27 yavdr-vbox vdr[9808]: [9808]    Time: 0 ms
    Mär 06 14:35:27 yavdr-vbox vdr[9808]: [9808] flatPlus: CreatePixmap("Pixmap", 1, left 10, top 170, size 1240x491, drawport height 149090)
    Mär 06 14:35:27 yavdr-vbox vdr[9808]: [9808] flatPlus: CreatePixmap("PixmapImage", 2, left 10, top 170, size 1240x491, drawport height 149090)
    Mär 06 14:35:29 yavdr-vbox vdr-sxfe[9840]: [9859] [input_vdr] No data in 8 seconds, queuing no signal image
    Mär 06 14:35:30 yavdr-vbox vdr[9808]: [9808] flatPlus: cTextFloatingWrapper::Set() Text length: 135
    Mär 06 14:35:30 yavdr-vbox vdr[9808]: [9808]    Time: 0 ms

    Das Erzeugen der Pixmaps dauert ~3 Sekunden. Ist das normal? Kann man das Beschleunigen?

    Frage für einen Freund ;)

    Kanallogos: Picon.cz2VDR | Picons2VDR | MP-Logos
    Backupskripte:
    MV_Backup (RSync) | MV_BorgBackup (Borg)

    Skin: Skin FlatPlus  VDR-Add_MSGT

    "Es gibt keinen Grund, warum irgendjemand einen Computer in seinem Haus wollen würde."
    [Ken Olson], Präsident der Digital Equipment Corp., 1977

    VDR01 - yaVDR 0.7 (VDR 2.7.3)

    VDR 2.7.3; Gehäuse: Antec Fusion V2 Black & iMon LCD; Atric IR-Einschalter Rev. 4; Board: Intel DH77EB, Core i5-3550, GTX 1050 Ti, 8 GB RAM; DVB: 1x Digital Devices CineS2 Quad V6.5

    >Systeminfo.txt< [VDR-User #1540]

  • Dann sage Deinem Freund ;) wer 400k Text auf dem Bildschirm lesen will kann auch mal drei Sekunden warten :D (Bei 80 Zeichen pro Zeile sind das 5000 Zeilen, also etwa mindestens 50 DIN A4 Seiten a 100 Zeilen!)

    Das CreatePixmap reserviert eigentlich nur Speicher, das kannst Du ja selbst im VDR Source nachsehen. Evtl. muss dafür geswapped werden? Wieviel Speicher wird denn für die Pixmap benötigt? Hast Du das mal ausgerechnet? Jedes Pixel (tColor) benötigt 4 Byte.

    Außerdem kann ein Ausgabedevice die Größe beschränken (siehe cOsd::MaxPixmapSize()) und man muss dann mit mehreren Pixmaps arbeiten. Das wäre wohl auch hier notwendig, macht das ganze aber wesentlich komplizierter.

  • Danke sehr! Werde es 'weitergeben'

    Gibt s eigentlich so was wie einen Maximalwert für die Beschreibung im EPG?

    Kanallogos: Picon.cz2VDR | Picons2VDR | MP-Logos
    Backupskripte:
    MV_Backup (RSync) | MV_BorgBackup (Borg)

    Skin: Skin FlatPlus  VDR-Add_MSGT

    "Es gibt keinen Grund, warum irgendjemand einen Computer in seinem Haus wollen würde."
    [Ken Olson], Präsident der Digital Equipment Corp., 1977

    VDR01 - yaVDR 0.7 (VDR 2.7.3)

    VDR 2.7.3; Gehäuse: Antec Fusion V2 Black & iMon LCD; Atric IR-Einschalter Rev. 4; Board: Intel DH77EB, Core i5-3550, GTX 1050 Ti, 8 GB RAM; DVB: 1x Digital Devices CineS2 Quad V6.5

    >Systeminfo.txt< [VDR-User #1540]

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!