Uusi Direct2D-piirto versiossa 6.4

Keskustelua 3D-Win ohjelmasta
Avatar
mikko
Ylläpitäjä
Viestit: 281
Liittynyt: 10 Loka 2008, 20:56
Organisaatio: 3D-system
Nimi: Mikko Syrjä
Paikkakunta: Vantaa

Uusi Direct2D-piirto versiossa 6.4

Viesti Kirjoittaja mikko » 17 Marras 2017, 17:48

Ohjelman piirto on versiossa 6.4 osittain uusittu käyttämään Windowsin Direct2D-rajapintaa. Tämä osaa nyt esimerkiksi rasterikuvien osittaisen läpinäkyvyyden sekä viivojen reunojen ja rasterikuvien zoomauksen pehmennyksen.

Uusi piirto ei ole vielä oletuksena käytössä. Sen saa pysyvästi päälle Zoomaus / Asetukset -toiminnon erikoisasetuksella DirectDraw. Näytölle piirto saadaan päälle arvolla 3 Screen. Tulostukselle on erillinen arvo 4 Print, koska siellä toimivuus on toistaiseksi hieman huonompi. Testaamisen helpottamiseksi piirtoa pystyy vaihtamaan myös väliaikaisesti pikanäppäimillä: Ctrl-B vaihtaa Screen-asetusta ja Ctrl-Alt-B Print-asetusta. Tämä vaihto palaa aina takaisin DirectDraw-erikoisasetuksen arvoihin ohjelman uudelleen käynnistyksessä.

Direct2D toimii hyvin Windows 10:ssä, mutta on hieman heikommin tuettu vanhassa Windows 7:ssa. Esimerkiksi kaikki rasterien läpinäkyvyysoptiot eivät välttämättä toimi. Periaatteessa toimivuus pitäisi olla hyvä myös Windows 8:ssa, mutta sitä ei ole erikseen testattu. Osa piirtotoiminnoista käyttää vielä vanhaa GDI-piirtoa, mutta käytännössä tämä ei juurikaan näy, koska molemmat piirtorajapinnat osaavat toimia rinnakkain. Tarkoituksena on siirtää kaikki piirrot uuteen systeemiin vähän kerrallaan seuraavissa versioissa. Vanha piirto poistunee sitten kokonaan samoihin aikoihin kuin tuki Windows 7:lle joskus hamassa tulevaisuudessa.

Uusi piirto tuo seuraavia parannuksia:

- Vektoripiirto on hieman vanhaa nopeampi ja viivojen reunat tasaisempia.
- Rastereiden skaalaus on paremman näköinen pikselien reunojen pehmennyksen kanssa.
- Rasterit tukevat osittaista läpinäkyvyyttä (Tiedosto / Elementit / Asetukset / Läpinäkyvyys).
- Tekstien tiivistys fonttia kaventamalla.

Seuraavissa asioissa on vielä ongelmia:

- Tulostuksessa kuvan asemointi paperille ei välttämättä kaikissa tilanteissa toimi.
- Vanhat rasteripohjaiset alueen täytöt eivät toimi (uudet vektoripohjaiset viivoitukset toimivat).
- Isojen rasterikuvien piirto on hieman hitaampaa kuin vanhassa (tätä optimoidaan jatkossa).
- Kuvatiedosto leikepöydälle rasterikuvana tai metafile-muodossa ei toimi.
- Korkeuslukeman keskitys desimaalipisteeseen ei toimi.

Havaituista ongelmista voi ilmoittaa tähän ketjuun tai lähettää sähköpostia.

Avatar
mikko
Ylläpitäjä
Viestit: 281
Liittynyt: 10 Loka 2008, 20:56
Organisaatio: 3D-system
Nimi: Mikko Syrjä
Paikkakunta: Vantaa

Re: Uusi Direct2D-piirto versiossa 6.4

Viesti Kirjoittaja mikko » 15 Joulu 2017, 17:59

Muutama sana kuvatiedostojen luonnista uuden piirron kanssa.

Vanha Windows metafile on teknisesti tiedostoon tallennettu sarja GDI-piirtokomentoja ja näin ollen tulee jossain vaiheessa poistumaan muun vanhan piirron mukana. Moderni vastine tälle olisi piirto SVG-tiedostoon (https://msdn.microsoft.com/en-us/librar ... s.85).aspx). Tämä on kuitenkin tuettu vasta Windows 10:ssä eli sitä joudutaan odottelemaan kunnes päästään eroon vanhemmista versiosta.

Versiosta 6.4.0.4 lähtien rasterikuvan luonti leikepöydälle tai tiedostoon toimii uuden piirron kanssa. Uutena asetuksena on PPI-resoluutio (Pixels per Inch eli pisteitä tuumalle), jolla määrätään luodun rasterikuvan koko. Se mahdollistaa näyttöresoluutiota tarkempien kuvien luonnin. Asetuksen arvo on pikselien määrä tuumalle. Esimerkiksi jos paperin koko on A4 (210 x 297 mm) ja luodaan kuva 300 PPI resoluutiolla, tuloksena on 2480 x 3508 pikselin rasterikuva.

Kuvatiedosto vektoritiedostoon on piirrosta riippumaton ja toimii kuten ennenkin.

Avatar
mikko
Ylläpitäjä
Viestit: 281
Liittynyt: 10 Loka 2008, 20:56
Organisaatio: 3D-system
Nimi: Mikko Syrjä
Paikkakunta: Vantaa

Re: Uusi Direct2D-piirto versiossa 6.4

Viesti Kirjoittaja mikko » 27 Huhti 2018, 15:22

Versiossa 6.4.2 on saatu kuntoon suurin osa tulostuksen ongelmista. PDF-tulostus PDFCreatorin kanssa toimii hyvin, mukaan lukien sarjatulostus. Tulostimien kanssa asemoinnissa paperille on vielä pieniä ongelmia, mutta ainakin perus A4-lasereiden pitäisi toimia.

Isojen rasterikuvien tulostus toimii nyt myös. Systeemissä oleva rasterikuvan pikselikokorajoitus kierretään heikentämällä hieman isojen kuvien resoluutiota. Käytännössä tämän ei pitäisi näkyä.

Huomatkaa, että Zoomausasetusten erikoisasetuksella ei voi laittaa DirectDraw-piirtoa päälle pelkästään tulostukselle (print). Tulostusoption kanssa DirectDraw-piirtoa käytetään aina myös näytölle.

Jatkossa kaikki kehitys ja optimointi tehdään DirectDraw-piirron puolelle. Versiossa 6.5 ensi syksynä se tulee olemaan oletuksena kaikilla päällä, mutta ohjelmaan todennäköisesti jää vielä joksikin aikaa mahdollisuus käyttää myös vanhaa piirtoa. Kannattaa testata jo nyt ja ilmoittaa mahdollisista ongelmista.

Avatar
mikko
Ylläpitäjä
Viestit: 281
Liittynyt: 10 Loka 2008, 20:56
Organisaatio: 3D-system
Nimi: Mikko Syrjä
Paikkakunta: Vantaa

Re: Uusi Direct2D-piirto versiossa 6.5

Viesti Kirjoittaja mikko » 01 Marras 2018, 10:53

Versiossa 6.5 uusi DirectDraw-piirto on nyt kaikilla oletuksena päällä. Suurin osa ongelmista on saatu kuntoon ja jäljellä olevat koskevat vain joitain erikoistilanteita.

Jos uuden piirron kanssa tulee ongelmia, saadaan vanha takaisin Zoomaus / Asetukset -toiminnon erikoisasetuksella DirectDraw. Optiolla 8 No DirectDraw vanha piirto palautetaan sekä näytön piirtoon että tulostukseen. Optiolla 16 No Print vanha piirto palautetaan vain tulostukseen. Näillä näkymin vanha piirto on vielä mukana versioissa 6.5.x, mutta poistuu sitten versiossa 6.6.

Tulostus pitäisi nyt olla kunnossa normaalikokoisilla tulostimilla (A4, A3) sekä isoilla PDF-kuvilla (A2, A1, A0). PDF-tulostus on testattu Windowsin omalla Print to PDF -toiminnolla, PDFCreatorilla ja PDF-XChange Lite -ajurilla.

PDFCreatorin kanssa on pieni ongelma rasterikuvien kanssa. Jos tulostetaan rasterikuvia otsikkotiedoston kanssa ja otsikkotiedostossa on mukana rasterimuotoinen logo, syntyneen PDF-tiedoston koko kasvaa monikymmenkertaiseksi. Ilmeisesti vika on ainakin osittain PDFCreatorissa, koska ilmiötä ei tapahdu muiden ajureiden kanssa. Seurataan tilannetta.

Vielä kertauksena vanhan piirron ominaisuudet, jotka eivät toimi uudessa:
  • Kuvatiedosto Metafile-muotoon ei toimi. Metafile on rakenteeltaan sidoksissa vanhaan GDI-piirtoon, eikä voi toimi uuden kanssa. Mahdollisesti korvautuu myöhemmin piirrolla SVG-tiedostoksi.
  • Rasterimuotoiset alueen täytöt eivät toimi. Nämä eivät koskaan siirtyneet CAD-tiedostoihin, eivätkä skaalautuneet järkevästi tulosteisiin. Katsotaan jatkossa tarvitaanko tämäntyyppistä toiminnallisuutta. Vektorimuotoiset viivoitukset ovat useimmiten parempi ratkaisu.

Avatar
mikko
Ylläpitäjä
Viestit: 281
Liittynyt: 10 Loka 2008, 20:56
Organisaatio: 3D-system
Nimi: Mikko Syrjä
Paikkakunta: Vantaa

Uusi DirectDraw-piirto versiossa 6.5.0.1

Viesti Kirjoittaja mikko » 22 Marras 2018, 14:20

Kun DirectDraw tuli oletuksena kaikkien käyttöön versiossa 6.5.0, ilmeni ongelmia joidenkin laiteympäristöjen kanssa. Osa on saatu kuntoon versiossa 6.5.0.1, mutta joissain tapauksissa pitää vielä turvautua vanhaan piirtoon. Seuraavassa joitain tiedossa olevia ongelmia ja ratkaisuja niihin.

Rasterikuvat eivät piirry näytölle

DirectDraw käyttää näytönohjainta suoremmin kuin vanha piirto ja vaatii siltä toisinaan enemmän. Jos näytönohjaimella ei ole tarpeeksi muistia, voivat jotkin isot rasterikuvat jäädä piirtymättä. Erityisesti tämä tulee esille mustavalkoisissa kaavakartoissa, jotka on pakattu hyvin tiiviisti. Niiden tiedostokoko voi olla suhteellisen pieni, mutta muistiin luettuna ja RGB-muotoon muutettuna koko kasvaa huomattavasti. Esimerkiksi 1.5 megatavun TIFF-tiedosto voi muistissa olla gigatavun kokoinen. Tällä hetkellä tähän on ratkaisuna joko kuvien pienentäminen tai DirectDraw-piirron poistaminen käytöstä Zoomaus / Asetukset -toiminnon erikoisasetuksella DirectDraw.

Tulostus kaataa ohjelman

Muutamia ilmoituksia on tullut ohjelman kaatumisesta joidenkin tulostimien kanssa. Näissä tapauksissa ensimmäiseksi kannattaa päivittää tulostimen ajuri uusimpaan versioon. Jos tämä ei auta, niin toistaiseksi pitää poistaa DirectDraw käytöstä. Tähän on kaksi eri tapaa. Zoomaus / Asetukset -toiminnon DirectDraw-erikoisasetuksen optiolla 16 No Print voidaan poistaa DirectDraw käytöstä kaikkien tulostimien kanssa. Versiossa 6.5.0.1 on myös Tiedosto / Tulostus / Piirtoala -toiminnon erikoisasetus NoDirectDraw, johon voidaan listata ne kirjoittimet, jotka eivät uuden piirron kanssa toimi. Esimerkiksi erikoisasetuksen arvo PDFCreator käyttää vanhaa piirtoa PDFCreator-ajurin kanssa, mutta uutta piirtoa kaikkien muiden tulostimien kanssa.

PDF-tulosteiden paperin suunta on väärä

PDF-tulostinajurien paperikoon käsittely on osoittautunut aika kirjavaksi. Koska PDF-tiedoston koko ei ole riippuvainen olemassa olevista fyysisistä papereista, jotkin ajurit eivät toimi paperin vaaka-asetuksella. Näissä piirtoala on sisäisesti aina pystyssa vaikka vaakaleveys olisikin suurempi kuin pystykorkeus. Toinen tähän liittyvä ongelma on Windowsin tuntemien paperikokojen loppuminen kokoon A2. Suuremmat A1 ja A0 käsitellään eri ajureissa eri tavalla. Tällä hetkellä versiossa 6.5.0.1 tulostus tunnistaa osan PDF-ajureista (Microsoft Print to pDF, PDFCreator, PDF-XChange, CutePDF, PrimoPDF) ja korjaa niiden suunnan. LIsäksi Tiedosto / Tulostus / Piirtoala -toiminnossa on erikoisasetus PdfOrientation, johon voidaan listata muut kirjoittimet, jotka tarvitsevat vaaka/pysty suunnan korjauksen.

PDFCreator tekee isoja tiedostoja

Edellisessä viestissä mainittu ongelma PDFCreator-ajurin ja otsikkotiedoston rasterilogojen kanssa on edelleen olemassa uusimman ajuriversion 3.3.2 kanssa. Ratkaisuna on toistaiseksi poistaa DirectDraw käytöstä sen kanssa tai käyttää jotain muuta PDF-tulostinta.

Vastaa Viestiin