Rakennustekninen päivitys

Kuvatutkimus, Konstellation ja nopeampi Mapsake

Kaksi ambicioita kuvanvälitysominaisuutta esittivät saman kysymyksen: voiko Mapsake tehdä huomattavasti enemmän työtä ilman, että se hidastuisi? Uusi simulointi- ja laitevertailusarja muutti vastauksen mitattavaksi tekemiseksi.

Tässä 13 minuutin lukuaika.
Mapsaken Kuvaselain, jossa on suodattimet, kokoelmat, kartan ja aikajanan hallintatoiminnot sekä matkakuvien hakutulokset

Uusi ominaisuus ja tekninen päivitys.

Tämä päivitys esittelee kaksi Mapsake:n tärkeimmistä kuvakokemuksista: Kuvaselain, joka tekee suuresta, kartoitetusta kirjastosta helposti haettavan ja Tähtikuviot, joka löytää visuaalisia yhteyksiä kaukana olevien paikkojen välillä.

Se sisältää myös vähäisimmän näkyvän ominaisuuden julkaisussa: pysyvä suorituskykytestausjoukko. Tämä joukko löysi välittömästi hitaimpia jakosuoria, teki korjaukset mitattaviksi ja antoi sovellukselle keinon havaita, kun tuleva työ tekee niitä hitaamiksi uudelleen.

Tuloksena ei ole vain enemmän mahdollisuuksia. Mapsake on huomattavasti nopeampi muuntaa suuria kuvakokoelmiin paikkoiksi, etsiä lähellä olevia kaupunkeja ja suunnitella taivaan tähdet.

Kuvatutkimus hakee matkarekisteriä, ei kamerakuvia

Kuvatarkastelija alkaa kompaktin metadatan kanssa, jonka Mapsake jo ylläpitää kartatun kuvien osalta. Tämä sisältää sijainnin, päivämäärän, lähteet, kamera, muistinot, korkeus, nopeus, suosikkeja, näytöslukemia, muokkauksia ja järjestelyä, joka on lisätty sovelluksen sisällä.

Sivuston indeksi pysyy laitteessa. Haku voi olla suora (Japani, 2024, iPhone, suosikit) tai ilmaistu luonnollisemmin, esimerkiksi "suosikkipisarat Italiasta viime vuonna." Kyselykerros muuntaa tuetun kielen rakenteelliseksi suodattimiksi, kun taas deterministinen sanastoa ja kirjainten korjaus tarjoavat luotettavan varauksen.

Etsintä on vain yksi reitti kokoelmaan. Kokoelmat avoivat hyödyllisiä ryhmiä ilman kirjoitusta; Map Area rajoittaa tuloksia geografisesti; Timeline ryhmittää ne päivämäärä perusteella; tallennetut ja viimeaikaiset etsintätulokset tekevät toistuvat kysymykset halvemmiksi. Suosikkeja, arvostuksia, tunnisteita, merkintöjä ja muistiinpanoja sijaitsee paikallisessa sivukansiossa, joten valokuvaus ei muuta tai lataa alkuperäistä.

Tärkeä rakennusvalinta on se, että jokainen työkalu jakaa saman indeksoitunut näkymän. Kokoelmat, aikajana, kartta ja tekstihakeminen eivät jokainen rakenna uutta 82,000-kuvan maailmaa alusta.

Indeksi perustuu, kun taas henkilökohtainen järjestäminen on kestävä.

Kuvatarkastelija tarvitsi kahden tyyppinä varastoja, joilla oli erittäin erilaiset elinajat. Hakukentät kuten paikan nimet, ottamisvuosi, kamera, korkeus ja lähteet voivat rakentua Mapsake:n olemassa olevasta metadatan pohjalta. Suosikki, yksityinen muistinota, arvio, merkki tai väritunniste on kirjoitettu henkilöltä ja ei voi käsitellä hylätynä väliaikaisena tallennettuna tiedostona.

Mapsake säilyttää käyttäjä tekemät järjestelmät pienessä varmuuskopiointiin sopivassa sivukirjassa. Suurempi hakeminen elää Caches -hakemistossa, sisältää kuvien tavut, ei ole varmuuskopiointiin mukana ja voidaan uudelleenkäyttää aina, kun sen tietorakenteen muuttuu. Kirjaston uudelleenskannaus tai johdettujen tietojen poistaminen ei poista työtä, jonka joku on tehnyt järjestämiseen.

Se jakaminen teki myös varmuuskopioista enemmän rehellisyyttä. Ei-kehittymätön JSON- ja HTML-varmuuskopiot voivat kuljettaa muistiinpanoja ja järjestystä, mutta ne eivät hiljaisesti kasvaa valokuvakirjastoksi. Apple-fotot-merkinnät säilyttävät parhaan ponnistuksen vakain iCloud-identifioinnin, jotta palautettu varmuuskopio voi yhdistää paikallisen kopion toiseen Apple-laite; Immich-asiakirjan identifioinnit ovat jo vakaita lähtökohtaisesti.

Ensimmäinen täydellinen stressi-ohjaus tuotti pakatun indeksin noin 12.4 MB:lla 82,000 kuvasta. Kylmä geografinen rakentaminen kesti 2.61 sekuntia kehityskoneen simulaattorilla, myöhempi palautus levityslevystä kesti 1.20 sekuntia, generoidut kokoelmat kesti 126 millisekuntia ja päivittäinen aikajana -malli kesti 211 millisekuntia. Nämä luvut antivat jokaiselle ominaisuuden osalle omansa budjetin sijaan kuin piilottaisivat kaiken yhdellä yleisellä “haku” -mittarilla.

Kuvatarkastelija selittää myös, miksi kohteessa on täsmennys. Tulos voi kertoa, että se täsmensi Kyotoa, 2024, iPhone-kameraa, yksityistä muistinotausta tai valitun suodattimen. Tämä pieni rivi on tärkeä, kun kysely yhdistää luonnollista kieltä useiden tarkkojen valintojen kanssa: käyttäjä ei koskaan saa arvata, mitä hakukone ajatteli heidän tarkoittavan.

Etsintäkieli on käyttöliittymä, ei lisenssi improvisoida.

Kaikki tuettavat kyselyt muuttuvat lopulta vahvistettuksi suodattimiksi. Suora polku tunnistaa paikat, päivämäärät, lähteet, kamera-mallit, muistiinpanot, suosikkeja, arvosteluita, tunnisteet, korkeus, nopeus, näytöskuvat ja muokattuja kuvia. Rajoitettu kirjoitusvirhekorjain voi korjata tarkoitusta kuvaavat sanat ja tunnetun indeksoinnin sanavaraston sanat, mutta se ei muokkaa mielivaltaisia yksityisiä muistiinpanoja.

Laite, joka tukee Apple:n laitteella olevaa Foundation Model -mallia, kysymyksen teksti voidaan tulkita saman rajoitetun rakenteen. Vain kysymys ja nykyinen vuosi annetaan järjestelmämallille. Kuva-px, metadata-keskiarvot, sijainti-merkinnät ja henkilökohtaiset järjestelmät eivät koskaan annetaan. Väärät arvot ja tuntemattomat arvot hylätään, ja deterministinen analysoija pysyy varalta.

Sovelluksen rakenne näyttää tulkinnan ja tarjoaa polun alkuperäisiin sanoihin takaisin. Tämä on paikka, jossa älyä tarvitaan vain silloin, kun se pysyy tarkastettavissa. “Kuvat yli 3,000 metriä viime vuonna” tulisi tunnettaa arkipidossa, mutta se tulisi edelleen käyttäytyä tarkasti määritellyksi suodattimiksi.

Constellations etsii toistumista etäisyyden yli

Tällä hetkellä & Tällä hetkellä kysyy, palasiko joku samaan paikkaan. Konstellation kysyy lähes vastaavaa kysymystä: mitä visuaalisia ideoita toistettiin paikkoissa, jotka olivat hyvin kaukana toisistaan?

Laitepohjainen indeksi poimii tiiviin joukon visuaalisia signaaleja ja motiiveja sopivista matkailuvideosta. Suunnittelija etsii ominaisuuksia, jotka ovat yksittäisen kuvan erottavaisia eikä vain yleisiä kaikkialla, ja yhdistää kandidaatteja eri kohteiden välillä. Oviaukot, rannat, katot, vuoristomuodot, värityypit, vuodenaikat ja kompositionit voivat muodostaa niin sanottu kielen viivakoodille.

Nämä viivat asetetaan kolmiulotteiseen taivaaseen. Käyttäjä voi kiertää sen, avata tähtikunta, hyväksyä tai hylätä yhteyden ja pelata leikkauselokuvaa, jossa liittyvät kuvat hajoavat yhdestä paikasta toiseen. Jakso- ja nauha-ominaisuudet käyttävät samaa tallennettua viivatietoa.

Tietojen poiminta ja suunnittelu tapahtuu laitteessa. Mapsake ei lähety matkakirjastoa kuvan analysointipalveluun. Taustaprosessit voivat syvittää indeksöintiä ajan myötä ilman, että ensimmäinen käynnistys joutuu odottamaan koko kirjaston lataamista.

Visuaalinen indeksi suunniteltiin halvalla muokattavaksi.

Jokaiselle sopivalle edustajalle Mapsake suorittaa yhden pieneen kuvan muokkauksen ja johtaa useita signaaleja: näkövälit, perusluokitusmerkinnät, tiheä värikerroin ja valaistuksen arvio paikan, ajan ja aurinkoaseman perusteella. Näkövälit on pieni numeerinen kuvaus, joka ei ole kuvan kopio ja ei voida näyttää kuvana.

Indeksi tallentaa suoraan luokittelijan tunnisteet, eikä välitön korvaamisella tuotteiden esittämiseen. Tämä valinta toimi hyvin todellisen kirjaston testauksen aikana. Ensimmäinen motiivilista sisälti nimikkeet, jotka kuulostivat järkeviltä, mutta eivät olleet oikeasti tuettuun Visionin kategorioon. Koska suoraan nimikkeet oli vielä saatavilla, uudelleenluonti “Tornit ja siltoja”, “Alukset ja satamat” ja myöhemmin motiiviryhmät oli nopea arviointiprosessi, ei toinen tarkastus tuhansia alkuperäisiä kuvia.

Indeksointi alkaa edustavilla kuvilla eikä lukemalla kirjastoa ehdottomasti uusimmasta vanhimpaan. Kuvat ryhmitellään likimäärin paikan soluihin ja paikan päiväihin, suosituksella hyödyllisille paikalliskuville ja välistä kuvien sarjoja. Sijoittaja siirtyy sitten paikkojen välillä pyörein. Tämä antaa nuoren indeksin geografisen laajuisuuden, kun taas taustalla olevat sarjat lisäävät vähitellen syvyyttä.

Ensimmäinen versio valitsi yhden kuvan paikasta kierros kerrallaan. Todellinen laitteen data paljasti virheen: enemmistö paikoista jäi kolmen kuvan minimivaiheen alapuolelle, joka käytettiin jälkikäteen, joten tuhansia indeksoituja varastoja voisi vielä tuottaa yksikään kandidaatti. Jokaisen kierroksen jakaminen kolmeen edustajaan teki indeksin hyödylliseksi aikaisemmin ilman, että sen kokonaisbudjetti kasvoi. Tämä on tarkalleen syy, miksi syntetiset testit ja todellinen, kaotinen kirjasto molemmat tarkoittavat.

Poimintaprosessi toimii sarjaprosessina, vahvistaa edistymisen atomisesti, keskeyttää lämmön paineen vuoksi ja ohittaa taustapoiminnan alhaisessa sähkövirituksessa. Apple-fotot, joita on jo laitteessa, kokeillaan ensin; iCloud-vain kuvat voivat odottaa myöhemmän verkkosallinnan tilaisuutta. Immich käyttää samaa visuaalista suoritusta olemassa olevan pienikuvan asiakkaan kautta.

Vain samankaltaisuus ei tee tarinasta

Etäisyys, joka perustuu visuaaliseen samankaltaisuuteen, voi löytää kaksi valokuvaa, jotka näyttävät samalta, mutta Constellations on tarkoitettu löytämään yhteys paikkojen välillä, eikä se ole pelkkä kaksoiskappaleiden tunnistin. Ehdokasvalokuvien on kuuluttava vähintään 150 kilometrin päässä toisistaan sijaitseviin kohteisiin. Moottori ottaa myös huomioon erottuvat motiivit, epätavallisen valon, vuodenajan ja toistuvat kalenteritapahtumat ennen kuin se hyväksyy yhteyden.

"Erityisasema" oli vaikea osa. Varhainen arviointimalli palkkasi merkkejä, jotka olivat molemmissa paikoissa. Kehitysliibressa tämä tuotti satoja yhteyksiä, joissa dominoidi yötä ja yleisiä kausia. Nämä merkit olivat teknisesti yhteisiä, mutta eivät olleet kaukaisesti yllättäviä. Moottori arvioi nyt nousua: merkki on merkityksellinen, kun se on erityisen vahva molemmissa paikoissa verrattuna henkilön kokoan liibriin.

Tämä muutos muutti kysymyksen “Sisältääkö molemmat paikat yötä kuvia?” “Ovatko molemmat paikat erityisen yötä täyttöä tälle kokoelmalle?” Yleiset merkit hävitsevät taustalle, kun taas toistuvat kirkon aikaiset, ovet, satamät, talvisä, tai toistuvat joulukuukaudet voivat muodostaa merkitystä.

Visuaaliset kandidaatit käyttävät useita edustajia paikasta sen sijaan, että heillä on vain yksi onnenlukko pari. Yhdisteen tunnisteet perustuvat niiden paikkiin ja perheeseen, joten sama yhdiste säilyttää identiteetinsä uudelleenarvioinnin jälkeen. Pidetyt, hylättyjen ja näkemien tilat säilyvät säätöjen aikana, ja hylätty yhdiste ei ilmene uudelleen vain siksi, että motori suoritti uudelleen.

Taivaan asettelu on myös etukäteen laskettu ja määrätty. Geografiset sijainnit luoivat solmut, johdon vahvuus vetää yhteydessä olevia paikkoja toisilleen ja pieni määritelty häiriö estää täydellisen ylittymisen. Elävässä rajapinnassa voidaan animoida yhdellä siirtymäarvolla maapallon muotoista maailmankarttaa ja valmiin tähtikuvan välillä; se ei suorita akkujen syövän fysiikka-simulaatiota jokaisella kuvauksella.

Match-cut elokuvamuodossa käytetään Vision-kiinnostuksen salienssia, joka asettaa pehmeän kameran liikkeen jokaisen esimerkin tärkeimpiin osiin. Ovia haihtuu toiseen oviin, eikä kuvien keskipisteet yhdistetä satunnaisesti. Reduce Motion poistaa liikkeen ja lyhentää siirtymää, kun taas keskikuvan leikkaus pysyy graafisen varakkeen varassa, kun salienssi ei ole saatavilla.

Miksi luodaan vertailusarja nyt?

Suuren kirjaston suorituskyvyn oli saavutettu niin pitkälle, että intuitio ei enää riittänyt. Muutos voisi tehdä yhden näytön nopeamaksi, kun taas hiljaisesti tehdä tuotteen tuotteen, muistin tai Konstellation hitaaksi, koska kaikki riippuvat samasta geografisesta ja kuvapipelinesta.

Uuden sarjan kaksi pistettä:

  • Logiikan tie ajaa deterministiset piirteiden moottorit pieniin, keskikokoisiin ja stressitesteihin, mukaan lukien 82,000-kuvakerros, joka perustuu suurimpaan todelliseen raporttiin, joka on saatavilla kehityksen aikana.
  • Käyttöliittymä näyttää esimerkkiruudut, kun taas Mapsaken oma suorituskyvyn seuranta tallentaa toimintojen ajoituksen, ongelmat ja muistin käytön.

Benchmarks käyttävät julkaisun optimointia testattavuuden kanssa. Debug-rajapinnat poistetaan tarkasti, koska ei-optimoitu Swift tuottaa lukuja, jotka eivät ole relevantteja julkaistuun sovellukseen. Simulaattorin ja fyysisen laitteen tulokset säilyttävät myös erilliset perusarvot, jotta erilaiset laitteet eivät vertailla toisiaan samana tavoin.

Koko joukko kattaa gazetteerin, kartan geometrian, tuotetut, valokuvien metatiedot, saavutukset, Passin, Ystävät, varmuuskopiot, sertifikaatit, tähtikuvat, muistit ja Valokuvien selaimen. Elämässä olevat verkot, kameran laatu, järjestelmän valokuvien laskenta ja CloudKit pysyvät integraatiotestinä, koska näiden syötteiden tarkkuuden varmistaminen olisi vähemmän rehellistä.

Vertailu voi olla luotettavasti väärä.

Rakentamiseen käytettiin enemmän kuin ympäröivää stoppikellon kierrettä sovelluksen koodiin. Ensimmäinen derivaation kiinteä käyttöönotto käytti tavallista hajautusta koordinaattien valintaan; Swift tarkoituksella satunnaiskäyttöön hajautuksen välillä prosesseissa, muuttamaan geometrian työtä noin 30 prosentilla toisesta ajankohtasta toiseen. Kiinteät kiinteät nyt käyttävät kiinteää generaattoria, ja sarja vahvistaa tuotetun muodon ennen tuloksena hyväksymistä.

Toinen varhainen tilanne nimeltä import.merge mitattiin uudet lisäykset. Tarkoitettu polku oli idempotentti yhdistäminen olemassa olevaan karttaan. Benchmark oli nopea ja toistettavissa, mutta se testasi väärää asiaa. Oikeuttaminen kuvitusmuodosta muutti perustason ennen mitään optimointia.

Käyttöliittymän mittaukset olivat samanlaista pakkaa. Suorituskykytietokoneet kerättiin käynnistystä alkaen, joten käyttöliittymägestuuri voi periytyä käynnistysanimaation häiriöistä ja näyttää hitaammalta kuin se oli. Jokainen interaktio purkaisi nyt sen ennen gestuuriin liittyvän tilanteen kuvan, ja kääntäisi vain työn, joka kuuluu sen tilanteen omiin kontekstiin.

Suoritus ympäristön, käyttöjärjestelmän, laitekerroksen, rakennelman ja lämpötilan tilan. Simulaattorin tulos ei koskaan korvata laitteen perustason. Epänormaali lämpötila säilyy hyödyllisenä diagnostiikkana, mutta se merkitsee sijaan kuin epäonnistumisena regressiokattolle. Regressio täytyy ylittää sekä suhteellinen kynnysarvo että pieni absoluuttinen alaraja, jotta submillisekunnin kohina ei muodosta väärää hätää.

Näitä yksityiskohtia ei ole virkamiehitystä benchmarkin ympäri. Ne ovat se, mikä tekee numerosta toimivaksi.

Tarkkuusvalvonta löysi todellisen karttapikan

Arvokkaimpien testien ensimmäisessä suoritusvaiheessa ei mitattu nopeutta. Se vertasi optimoidun valokuva-paikka-derivaation kanssa tarkoituksellisesti yksinkertaisen jäädytetyn viiterekisterin kanssa rajojen runsaissa koordinaateissa.

Se valvonta epäonnistui ennen kuin optimointi oli muuttanut moottoria. Kuvat ylittävissä hallinnollisissa monikulmioissa (Berliin Brandenburgissa, Seulassa Gyeonggissa ja Kyivin kaupungissa sen ympäröivässä oblastissa) voivat olla määritetty satunnaisen sanakirjan iterointijärjestyksen mukaan. Samat koordinaatit voivat ratketa eri tavalla päiväkäynnin jälkeen.

Kumpikin viitattu ja tuotanto-ajuri järjestävät ylittävät kandidaatit polygonin pinta-alan mukaan, mikä mahdollistaa tarkimman hallinnollisen ominaisuuden voiton deterministisesti. Vain kun 82,000 -kuvat valmistivat nollan eroja, kun kylmä ja lämpimät polkuja sopivat, tulevat avaruusnopeudet hyväksyttäviksi.

Tämä on suorituskykyoptimoinnin hiljainen etu, jossa käytetään vertailutarkastuksia: se voi paljastaa virheellisyysongelman, jonka normaali ajoitustyö ei koskaan näkisi.

Mitä ensimmäiset mittaukset muuttivat

Alkuperäinen stressi-testi paljasti useita yhteisiä rajoitteita. Ensimmäinen optimointivaihe lisäsi indeksoituja geometrian testaus, kestävää geografista solukenttävälkkyä, muistitallennettua paikan selvitystä, yhteisiä kuvien näytteitä ja incrementaalista Atlas-merkintöjen päivitystä.

Simulaattorilla kylmä johtaminen 82,000-fotokartasta laski 34.5 sekunnit 8.0 sekunneiksi.. Yleinen toiminto suodattimen vaihdon tai Paikat-näkymän avaamisen jälkeen palautui. 2.8 sekuntia. Suunnittelu 10,000-kuvatasolla lopetettiin. 3.3 sekunnit 0.9 sekunneiksi.. Välilehtien vaihdon viive väheni 31 prosenttia, ja Passaportin sivunvaihtoviive väheni 47 prosenttia.

Seuraava suoritusvaihe korvasi toistuvia SQLite -leveysasteen skannauksia hitaan, leveysasteen järjestettyyn lähimmän kaupungin indeksin ja rajoitetun tietokannan kirjauksen kanssa. Simulaattorin benchmarkissa keskikokoinen lähimmän kaupungin sarja laski 2.11 sekunnit 5.2 millisekunneiksi.. Fyysisessä iPhonessa sama jaettu moottori putosi. 3.06 sekunnit 6.35 millisekunneiksi., kun korkeatasoisen suunnittelun toiminnallisuus poistettiin käytöstä. 5.60 sekuntia 65.9 millisekuntiin.

Tämä toinen kierros myös siirtyi 82,000-kuvan kylmä derivointi 7.96 sekuntia noin 1.00 sekuntia simulattorilla, lämmittelyajalla 984 millisekuntia. Saavutukset kasaantui, koska lähimmän kaupungin haku sijaitsee alapohjalla importteja, Then & Now, kartan johtamista ja Constellations -toiminnoista, eikä yhden näytön osana.

Näitä ovat hallitsemattomia vertailukelpoisia työkuormia, ei takausta siitä, että jokainen laite tai kirjasto tuottaa saman luvun. Arvo on vertailukelpoisuus: kiinteät asetukset, kirjattu lämpötila, sitoutettu tulokset ja ovet, jotka voivat merkitä merkittävää regressiota.

Nopeammin, koska työ muuttui jäljennettävään

Suurimmat voitot eivät tulleet poistamalla ominaisuuksia tai lisäämällä latauspyörivästä. Ne tulivat pysähtymällä toistuvasta työstä:

  • Alueen geometria vähentää kandidaattipolygonien määrää ennen kallista pisteen testiä.
  • Maantieteellinen solmuvälimuisti, joka on sidottu rakennusversioon, muistaa ratkaistut alueet eri käyttökertojen välillä.
  • Lähimmän kaupungin hakeminen käyttää numeerista avaruusindeksia sen sijaan, että järjestetään tietokantaa joka koordinaatille
  • Kuvien ohjaamia pintoja jaettu yksi muuttumaton suodatettu näytös.
  • Atlas-pino ja lippujen päivittäminen tapahtuu tunnistimen perusteella, ei poistamalla ja luomalla kaikki uudelleen.

Kuvatarkastelija ja Konstellation hyötyvät siitä, että ne istuvat näillä samoilla perustuksilla. Niin tehtävät, Seuraavaksi & Nyt, datakartat ja paikan tarinat.

Vertailukoodi poistetaan App Store -arkistosta, mutta tapa pysyy repositoriossa: suorita sarja muutoksia kuumalle polulle, vertaa oikeaan perustapaukseen ja pidä tuloksia. Suorituskyky on nyt jotain, mitä projektin voi testata, ei vain jotain, mitä se voi toivottaa huomata.

Luvut säilyttävät myös keskeytetyn työn. Myöhempi fyysinen laite-UI-vaihe saavutti vakavan lämpötilatilanteen ja tallensi vielä suuren tabiin kierros muistin huippu ja lähes sekunnin hyytymisaikaa avattaessa Konstellation reaaliaikaisen kirjaston vastaan. Näitä lukemia on diagnostisia eikä täysin puhtaita regressiokomparatiivisia, mutta niiden säilyttäminen on hyödyllisempää kuin ilmoittaa sovellukselle, että se on valmis.

Mitä nämä kolme projektiä yhteistä

Kuvatutkimus, Konstellation ja benchmark-sarja alkivat samalla rajoituksella: suuri matkarekisteri tulisi muuttua hyödyllisemmäksi ilman laitteen poistamista tai muun sovelluksen painoa.

Kuvatutkimus muuntaa tunnetun metadatan kyselyiksi ja keräykset. Konstellation muuntaa edustava kuvatieto visuaaliseksi tarinaksi. Benchmarksarja tekee molemmista vastuullisiksi yhteisten moottoreiden alaisuudessa.

Tämä toiminto näkyy etsintäpäätelmässä, tähtitaivaan kuvassa ja yhdistetyssä leikkauksessa. Tekninen toiminto näkyy enimmäkseen siinä, mitä ei tapahdu: lounas ei odota kaikkia 82,000 -kuvia, suodatin ei rakenna viidestä samasta taulukosta ja nopea avaruusindeksi ei muuta hiljaisesti, mihin kaupunki kuvasta kuuluu.

Se on suunta, johon haluan suorituskyvyn työn olla Mapsake:ssa. Nopeus ei ole puhdistusvaihe ennen ambicioita ideoita. Se on yksi työkalu, jolla ne ideoita voidaan turvallisesti säilyttää.

Mapsake sovelluksen ikoni

Mapsaken itsenäinen kehittäjä, kirjoittamaan tuotteesta, kartasta, yksityisyydestä ja Apple-pohjaisesta työstä sovelluksen takana.

Rakenna oma atlas

Alkaa matkailuhistoriallesi, jota sinulla jo on

Mapsake on ilmaista, vaatii Mapsake-tilin ilman perus käyttöä ja pitää tuettuja kuvien yhteyden laitteella.

Saada Mapsake ilmaiseksi