Hirdetés

Keresés

Új hozzászólás Aktív témák

  • thon73

    tag

    válasz Szmeby #3310 üzenetére

    Hát, ne egy hétköznapi billentyűzetre gondolj. Valójában akivel terveztük/teszteltük könyveket ír rajta több nyelven. Az eredetileg gigantikusnak gondolt határértékek a keze között akadállyá váltak: jelenleg 10 (külön keskeny és széles) layout a teszt, akár több, mint 1000 tényleges billentyűvel.
    Ha ehhez hozzávesszük, hogy egyetlen billentyű leírásához akár 20 token is kellhet; ill. hogy ez legalább 2500 objektum; ráadásul egy igen részletes log is tartozik hozzá - akkor már nem is olyan sok az az idő. De az oroszlánrészét az objektumok veszik el, meg persze GC is dolgozik közben - a log tanúsága szerint.

    Mindegy, három próbálkozáson keresztül jutottunk ide, és ez jónak tűnik: nagyon gyorsan és könnyen módosítható, és mindent tud, amit szeretnénk. No persze, az okostelefon elgondolásba ez a (mondjuk log nélkül talán) 10 másodperc már nem fér bele, tegyük hozzá a három sem. Ezért szeretném pontosan ezt: szétválasztani a kettőt. Akár install során legyártja a szükséges adatokat, aztán a mentés meg a töltés már nem sok idő.

    A Broadcast ötleten is gondolkodtam (ez jó, hogy példa is van hozzá), de az egyik előző elgondolásban az előző karakter átírását a DELETE majd ÚJKARAKTER elküldésével oldottam meg. legnagyobb meglepetésemre teljesen összekeveredett a sorrend, az elküldött értékek nem ugyanabban a sorrendben érkeztek meg. (A doksi csak arra hívja fel a figyelmet, hogy ez ún. IPC - vagyis nagyon lassú. De keveredésről nem volt szó.) Megoldható persze, egy blokkban kell a kettőt (néha többet) elküldeni. Épp csak attól tartottam, hogy a Broadcast még tovább rontja ezt az időt - talán az editor kellene a receiver legyen, de ez persze nem realitás.

    Ebben a Broadcast megoldásban elmélyedek, mennyire nehéz bele-aplikálni. (Loadernél használtam, ott nagyon jó volt)

    Még egy kiegészítés:
    Amúgy a Broadcast megoldás is singletonnal operál a példában (ami gyári); no ezt csak azért írom, hogy csak azért betenni, hogy egy másik singleton-szerű megoldást kiváltson, lehet h. felesleges.

    Szerintem kipróbálom mind a hármat (referncia átadása - service elérése singletonként - broadcast; aztán meglátom, mennyire idő/helyigényes és mennyire dönti romba a kód szépségét :)

Új hozzászólás Aktív témák