[viesti Survo-keskustelupalstalla (2001-2013)]
Kirjoittaja: | Seppo Mustonen |
---|---|
Sähköposti: | - |
Päiväys: | 6.2.2002 16:10 |
Survossa mahdollisuus tehdä hyvinkin monipuolisia kuvallisia esityksiä perustuu siihen yksinkertaiseen periaatteeseen, että kuvat luodaan kerrostamalla vapaasti Survolla tehtyjä peruskuva- tyyppejä. Tähän Survossa on pitkät perinteet. Sekä PostScript- että kuvaruutugrafiikkaan on käytettävissä omat keinonsa. Ohjelmoidessani kuvallisia toimintoja SURVO MM:ään päädyin (Reijo Sundin suosituksesta) kuvaruutugrafiikassa käyttämään Microsoftin erittäin joustavaa laajennettua metatiedosto- tekniikkaa (Enhanced Metafile, EMF). Sehän sallii kuvaikkunoiden vapaan skaalattavuuden kuvaruudulla ja hyvät yhteydet muihin Windows-ohjelmiin (esim. Word). Tällöin tuttuun INFILE-, OUTFILE-tyyliin sain kuvat kerrostumaan entiseen tapaan ilman ongelmia. Vaikka periaatetasolla kaikki onkin kunnossa eli kuvat kerrostuvat oikein kaikissa Windowseissa, nyt on tullut ilmi, että metatiedostot kasvavat kerrostettaessa eksponentiaalisesti!!! Win NT/2000- ympäristöissä, kun taas esim. Win9X-puolella, jossa itse olen pääasiassa työskennellyt, kasvu on luonnollisella tavalla lineaarista. Kuultuani tästä ilmiöstä Reijolta, kehitin pienen koeohjelman nähdäkseni, mistä todella on kysymys. Ohjelma näytti toteen sen minkä jo mainitsin. Siis jos vaikka samaa kuvaa kerrostetaan itsensä päälle toistuvasti, niin tiedostokoko kasvaa eri vaiheissa eri Windowseilla karkeasti seuraavaan tyyliin: (luvut suhteellisia) Kerros: 1 2 3 4 5 6 7 8 9 10 11 12 ... 30 Windows 98: 1 2 3 4 5 6 7 8 9 10 11 12 ... 30 Windows 2000: 1 2 4 8 16 32 64 128 256 512 1028 2048 ... 536870912 eli mentäessä monikymmenkertaisiin kerrostuksiin, jollaisia joissain erikoissovelluksissa saatettaisiin tarvita, joudutaan NT/2000-puolella mahdottomuuksiin. Tämän täytyy olla selvä Microsoftin puolella tehty ohjelmointivirhe. Niinpä lähetin tästä ongelmasta pari päivää sitten kyselyn kansainväliseen, Windows-ohjelmointia koskevaan keskusteluryhmään comp.os.ms-windows.programmer.win32 otsikolla "Metafile size problem". Sainkin nopeasti vastauksen (yllättäen) Microsoftin palveluksessa olevalta, grafiikkaohjelmointispesialistilta Feng Yuan'ilta, joka tunnustaa asian olevan juuri niin kuin väitin. Olen sen jälkeen käynyt muutaman kierroksen kirjeenvaihdon hänen kanssaan ja saanut hänet lupaamaan, että hän tulee tavalla tai toisella paikkaamaan tuon virheen. Elän siis toivossa, että ongelma saadaan selvitetyksi pikaisesti, vaikka toisaalta ei ole syytä suurempaan huoleen. Esim. kuvien 10-15-kertainen kerrostaminen ei vielä johda mihinkään suuriin vaikeuksiin; levytilaa vain kuluu enemmän. Win95/98/Me-versioissa ko. ongelmaa ei esiinny lainkaan. Vaikka ehkä itsekin pystyisin tilapäisesti paikkaamaan virheen suodattamalla Win2000/NT-metatiedostoista "löysät pois", on tärkeätä, että Microsoft korjaa virheen. Ties muuten vaikka mitä ilmenisi, kun julkaisevat uusia Windows-versioita. Koska virhe on tehty jo vuosia sitten, syntyy väistämättä myös epäilys, ettei Microsoftilla ole ehkä lainkaan tajuttu, miten tärkeää on voida kerrostaa kuvia myös metatiedostojen avulla. Haluan tällä viestillä osoittaa samalla, millaisten turhien ongelmien kanssa ohjelmoija joutuu kamppailemaan, kun yrittää tulla saman- aikaisesti eri Windowsien kanssa toimeen. Olisikohan ruoho yhtään vihreämpää Linuxin aidan takana? Seppo Mustonen
Vastaukset: |
---|
Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!