Sammanfattning. Nyckelord: Renderingstid, Canvas, Attribut och iterationer.
|
|
- Birgitta Jansson
- för 9 år sedan
- Visningar:
Transkript
1
2 Sammanfattning På grund av att Javascript har utökats inom webben de senaste åren är även Canvas på uppgång. Javascript möjliggör dynamiskt genererad grafik vilket gör Canvas möjligt att skapa grafik via Javascript. Canvas objekt består av ett stort antal kurvor/linjer där varje kurva/linje har ett x antal olika attribut, vid ändring av dessa attribut kan man påverka renderingstiden på webben. Problemet med dagens webbläsare är att renderingsmotorerna inte presterar lika bra som det gör för att ladda en bild på webben. Canvas blir därmed en långsam teknik och andra format så som jpg och png ligger steget före. Detta projekt implementeras med en kombination av tre programmeringsspråk, HTML, CSS och Javascript. Med hjälp av funktioner och variabler kan man ta reda på renderingstiders för olika objekt som skapas och målas ut. Vad projektet ger i slutändan är en analys av hur renderingen av olika objekt i olika webbläsare presterar. Det finns både kortsiktiga och långsiktiga utvecklingar av detta projekt. Nyckelord: Renderingstid, Canvas, Attribut och iterationer.
3 Innehållsförteckning 1 Introduktion Bakgrund javascript Mätning av svarstider i javascript Canvas Bildattribut i Canvas Tidigare arbeten Problem Hypotes Metodbeskrivning Metoddiskussion Alternativa metoder Forskningsetik Genomförande/Implementation Förstudie Beskrivning av prototyp Pilotstudie Utvärdering Presentation av undersökning Analys Slutsats Avslutande diskussion Sammanfattning Diskussion Framtida arbete... 26
4 1 Introduktion Javascript blir mer och mer populärt trots dess långsamma respons samt att Javascript har blivit en standard som finns på 95% av webben menar Mehrara (2011). Javascript har dock en del problem, bland annat dess långsamma respons som har att göra med att det aldrig riktigt har stöd av flerkärniga system. Javascript behandlas inte som ett flertrådat språk vilket begränsar möjligheter tyder Mehrara (2011). HTML5 Canvas möjliggör dynamisk skript rendering. Genom en fullständig uppsättning ritfunktioner kan man komma åt områden med Javascript vilket möjliggör dynamisk genererade grafik. Canvas har också ett stort stöd, alla sorts webbläsare samt mobilversioner kan hantera rendering av canvas objekt. Varje Canvas objekt består av ett antal linjer som i sin tur har unika egenskaper. Dessa egenskaper även kallade attribut kan vara färger, former och storlek. Attributen avgör hur slutresultatet skall bli tillsammans med en algoritm. Wei och Xu (2011) säger i sin artikel att Amazon har tagit fram resultat av förlorad försäljning på 1% på grund av 100 ms fördröjning. Med detta resultat kan man dra slutsatsen av att användarna strävar bland annat efter snabba svarstider, om detta ej uppfylls kan användarna enkelt ta sig vidare till nästa sida. Genom att hålla snabba svarstider kan en verksamhet enklare hitta problem samt en lösning för detta problem vilket kan leda till att verksamheten sparar både pengar och tid. Rajamony och Elnozahy (2001) menar att man kan med hjälp av Javascript mäta svarstiden utan att använda sig av ändringar inom webbläsaren. Problemet är att dagens canvas objekt målas ut alldeles för långsamt. Johnson och Jankun- Kelly (2008) menar att canvas har problem med sin rendering, att andra format som SVG ligger steget före canvas. Ahmadi, Jazayeri och Repenning (2012) tyder på att dagens webbläsare varierar i prestanda. Frågeställningen som skall besvaras är hur stor skillnad det är mellan olika canvas objekt som utgår från samma bild men använder sig av olika antal linjer och egenskaper på parametrar. Alla linjer har olika attribut som måste anges innan de kan målas ut vilket innebär att hårdvaran och mjukvaran behöver använda en mängd resurser för att få fram ett resultat. Totalt kan en bild ta lång tid att rendera vilket kan leda till längre responstid. En experimentmetod kommer att användas för att utföra tester på målningar med olika antal linjer och parametrar för att kunna mäta tiden och sedan se skillnaden på resultatet. Experimentet fungerar som så att man målar ut en bild med parametrar och linjer med olika egenskapar, målet är att använda sig av en bild med egenskaper som skapar en bild med låg kvalitet, en med hög kvalitet, samt en som ligger mitt emellan. 1
5 2 Bakgrund Detta kapitel kommer först att handla om grunder inom de program och språk som kommer att användas för att utföra detta experiment för att senare gå in mer djupgående. 2.1 javascript Javascript är ett programmeringsspråk som används mycket inom webbtillämpning och är tillgängligt för alla webbläsare. Javascript är något som inte syns på utsidan på en hemsida, det ligger i grunden av uppbyggnaden. En stor del av vad det kan användas till är att skapa effekter, exempelvis animationer. Javascript är något som kommer vara till användning i detta arbete för att hålla ordning på renderingstider samt kopplingar kring funktioner och dess variabler. Javascript är det bästa sättet att komma fram till hur lång tid det tar för ett objekt att målas ut eftersom man kan koppla ihop knappar och variabler i funktioner för att få ut ett gemensamt resultat. Javascript kommer mer och mer till användning trots dess långsamma respons. Mehrara (2011) säger att Javascript har blivit en standard på 95% av webben. Mehrara (2011) menar också att Javascript är långsamt på grund av att det aldrig riktigt har behandlats som ett flertrådat språk, vilket begränsar möjligheten att utnyttja ett flerkärnigt system. Responsiva program uppbyggda med hjälp av Javascript är dynamiskt skrivet och traditionellt exekverande med hjälp av bytekod tolkning. Tolkningen gör Javascript mycket långsammare i jämförelse med ursprunglig kod genererad för statiskt språk såsom C eller C++. Mehrar (2011) säger också i sin artikel att det primära problemet är att document of object (DOM), används av Javascript för att interagera med webbsidor och webbläsare, att DOM inte har en modell för delat tillträde. Detta betyder att två trådar kan involvera flera händelsehanterare som ändrar samma DOM-objekt och skapar antingen raceförhållanden eller korrekthetbuggar Mätning av svarstider i javascript Ur en användares perspektiv är svarstiden den tid som förflutit från det att en begäran inleds vid en klient till den tidpunkt då svar är visat av klienten. Snabba svarstider inom webben är något användaren strävar efter. Rajamony och Elnozahy (2001) menar att man kan med hjälp av Javascript mäta svarstiden utan att använda sig av ändringar inom webbläsaren, att man använder sig av skript som körs på användarens dator och kontrollerar tiderna därifrån. Därmed kan skriptet få dem rätta tiderna från användarens nuvarande situation. Therefore, obtaining quantitative measures of the response times in a timely and costeffective manner is fundamental to manage e-commerce services across a diverse and rapidly changing client population - Jianbin (2011) Genom att hålla goda svarstider kan ett företag enkelt identifiera sina problem, lösa dem och komma tillbaka till normalt igen och därmed minska sina kostnader. När det kommer till hemsidor så har användaren många val att välja mellan, speciellt inom e-handel är har detta stor betydelse. Det är mycket enklare att gå vidare till nästa hemsida än att gå till en annan butik ute på stan. Det är där med av stor betydelse att uppfylla kvalitetskraven en användare ställer, svarstiden kan vara en av dem. Man vill både behålla 2
6 sina användare samt få tag på nya. Svarstiden på en hemsida inkluderar hela innehållet, även bilder. Rajamony och Elnozahy (2001) menar att det är två faktorer är viktiga när det gäller svarstiden, internetfördröjning och fördröjning av serversidan. Rajamony och Elnozahy (2001) menar också att det finns några etablerade tekniker för att minska svarstiden över webben, användningen av kraftfulla servrar, omvända proxyservrar, webb cachar och smart lastbalansering bland geografiskt utspridda servrar. 2.2 Canvas Canvas är en del av HTML5 och möjliggör dynamisk skript rendering. Canvas består av en utdragbar region som definieras i HTML5 med höjd- och breddegenskaper. Genom en fullständig uppsättning ritfunktioner kan man komma åt områden med Javascript vilket möjliggör dynamiskt genererad grafik. Canvas kan bland annat användas inom spel, animationer och bildkomposition. Mowery och Shacham (2012) tar upp canvas breda stöd, att det finns tillgängligt i Chrome, Firefox, Internet Explorer, Opera och Safari samt mobil Safari och Android browser. Shiraishi och Yamaguchi (2000) beskriver att processen av att måla ut ett objekt består av två steg, förberedelse och sammanställning. Förberedelsen innebär att fördela linjer och dess attribut och till sist vilken ordning de kommer att målas ut i. Under sammanställning utförs målningen av linjerna en efter en. Varje linje är fixed och behöver gå igenom fyra olika steg (Stroke attributes) för att bli fullständig. Figure 1 visar ett exempel på hur det kan se ut när man går igenom de olika stegen. Steg ett är färgprovtagning, en färg utsätts till linjen. Steg två är bildbeskärning, man fokuserar på en mindre del av bilden. Steg tre är färgskillnad, den beskärda bilden görs svartvit för att de olika linjerna sedan ska få den korrekta färgen. De sista steget är rektangel beskärning, en liten del av bildbeskärningen tas ut för att sedan beskäras ner till mindre rektanglar som i sin tur tilldelas färger för att skapa ett slutresultat. Figure 1: Olika steg för stroke attribut (Orginalfoto Adam Meek 2014) 3
7 När man väl använder sig av canvas för att måla av en befintlig bild vill man få den att likna de ursprungliga objektet så bra som möjligt. De målet kan oftast vara ett problem, canvas objekt kan bestå allt ifrån 2000 strokes till strokes. Om man då använder sig av strokes istället för 2000 srokes så måste man gå igenom de fyra fasta stegen 8000 gånger extra, vilket tar tid och resurser men man får ett bättre resultat Bildattribut i Canvas I Canvas använder man sig av ett stort antal linjer, det kan variera från hundratals till tusentals. Varje linje har unika attribut för att kunna forma och färglägga en bild. Figure 1 visar hur uttagningen av attributen går till. Bildattributen kan variera beroende på vilken algoritm man använder för att ta ut linjernas attribut. En algoritm bestämmer hur man vill utforma områdena inom bilden, hur man vill att det skall gå till vid mörka områden samt vid ljusa. Attribut så som färg, position och storlek är viktiga att ta reda på för varje penseldrag. Buck, Humphreys och Hanrahan (2000) säger att grafikaccelatorer är optimerade för att flytta data en riktning, från host till skärmen. Därför är varje åtgärd som krävs mycket dyr. Grafikkortet håller reda på de flesta, om inte alla tillstånd och dess attribut. Attribut så som aktuella färger, transformationsmatrisen, och så vidare. Genom att kontrollera värdena kan man förhindra onödiga tillståndkommandon från att genereras när det finns flera kontexter med samma värden. Det kan vara så att det blir en stor skillnad enbart av att ändra så att man målar ut alla linjer som använder färgen röd först och sedan går vidare till nästa färg istället för att gå fram och tillbaka mellan röd. Buck, Humphreys och Hanrahan (2000) tror att genom att spåra tillståndet tillsammans med en hierarkisk representation av tillståndsförändringar är en effektiv teknik för att förbättra hastigheten och robusthet av renderingssystem. 2.3 Tidigare arbeten Pinto, Amador och Gomes (2010) har presenterat en rapport om 3D-grafik bibliotek helt skrivet i Javascript som möjliggör utveckling av 3D-innehåll direkt i webbläsarn. Dem använder sig av Canvas tillsammans med 3D-algoritmer kodade i Javascript. Vanligtvis så används Canvas för att utforma 2D-grafik men dessa personer tar nytta av dessa 2Dritfunktioner för att skapa, manipulera och rita 3D-objekt direkt i webbläsaren. Vad man kan få fram av detta arbetet är att det behöver inte vara frågan om rendering av 3Dgrafik utan att förändra attribut för linjerna, hur dem är lagda och formade samt färger för att optimera utritningshastigheten. Shiraishi och Yamaguchi (2000) presenterade ett arbete om en metod för automatisk rendering av en målning. De använde sig en ursprunglig bild, exempelvis ett foto för att sedan måla av detta objekt med hjälp av en algoritm. De använder sig av olika attribut på bilderna, exempelvis att de minskar antalet linjer från en bild till en annan för att se skillnaden i bildkvaliten. Metoden de använder sig av kontrollerar tätheten av linjerna samt ordningen de målas i baserade på storleken. De börjar med de större linjer först och avslutar med de mindre. 4
8 Detta arbete tyder på att det blir en skillnad på hur bildkvaliten varierar beroende på linjeattributen. Man kan tycka att detta arbete liknar tanken med detta. Där det finns likheter är hur bildkvaliten kan variera, men att detta arbetet är mer fokuserat på responstiden mellan de olika bilderna och hur stor skillnaden egentligen är. 5
9 3 Problem Problemet är att dagens Canvas objekt målas ut alldeles för långsamt. Johnson och Jankun- Kelly (2008) menar att canvas har problem med sin rendering, att andra format som SVG ligger steget före canvas. Ahmadi, Jazayeri och Repenning (2012) tyder i sin artikel på att dagens webbläsare varierar i prestanda och att vi kan i farmtiden vänta oss snabbare renderingsmotorer. Alla linjer har olika attribut som måste anges innan de kan målas ut vilket innebär att hårdvaran och mjukvaran behöver använda en mängd resurser för att få fram ett resultat. Totalt kan en bild ta lång tid att rendera vilket kan leda till längre responstid. Ett objekt består av ett stort antal linjer där varje linje har egna egenskaper vilket gör att en målning med fler linjer tar längre tid att måla ut eftersom att fler egenskaper måste anges. Frågeställningen som skall besvaras är hur stor skillnad det är mellan olika canvas objekt som utgår från samma bild men använder sig av olika antal linjer och egenskaper på parametrar. Vilka parametrar kan man påverka utan för dåligt resultat och hur stor skillnad är det på responstiden, från början till slut om man ändrar objektens egenskaper? Exempelvis om man ritar ut ett objekt med andra linjeparametrar, hur påverkas svarstiden? 3.1 Hypotes Hypotesen är att linjeattribut eller minskat antal parametrar påverkar renderingstiden positivt men att man kommer se en skillnad i bildkvaliten. Färre antal linjer i ett objekt behöver inte gå snabbare, färre antal linjer innebär tjockare linjer vilket är mer krävande vid utritning och vid ett större antal linjer används mer men mindre linjer. Detta kan påverka renderingstiden på olika sätt, antingen så tar det längre eller kortare tid att måla ut ett objekt med mindre antal linjer. Uppkopplingen kan också vara en faktor som påverkar renderingstiden, det kan vara en skillnad på hur en webbläsare samt en dator reagerar på en uppkoppling med 80 Mbit och en med 10 Mbit. Att avgöra om det är värt att försämra bildkvaliten för att påverka renderingstiden positivt är upp till användaren eller skaparen, det kan bero på vad för sort ämne det handlar om. Man kan tycka att det kanske inte är värt att lägga tid och resurser på att måla ut en bild under en längre tid när man egentligen vill visa upp en sida där bilden inte är i fokus utan att texten ligger i fokus. 3.2 Metodbeskrivning Den metod som passar bäst för att kunna testa hypotesen är experimentmetoden. Den gör så att man kan testa målningar med olika antal linjer och parametrar för att kunna mäta tiden och sedan se skillnaden på resultatet. Man sedan kan använda sig av de olika tiderna man har fått från testerna för att skapa grafer som gör det enkelt att urskilja resultatet. Om man går igenom liknade arbeten så kan man se att de använder sig av samma sorts metod. Bland annat så kan man se att Shiraishi och Yamaguchi (2000) använder en experimentmetod för att kunna se resultat mellan olika Canvas objekt som använder sig av 6
10 olika antal linjer. Heok och Daman (2004) använder sig också av en experimentmetod för att kunna urskilja detaljnivån av 3D-objekt. Chi och Liu (2014) utför också ett experiment när de testar algoritmer för att rendera icke-fotorealistiska bilder av typen Pointillism, vilket är en typ av bild som består av prickar av färg i ett mönster. Experimentet kommer fungera som så att man målar ut en bild med parametrar och linjer med olika egenskapar, målet är att använda sig av en bild med egenskaper som skapar en bild med högre kvalitet än de andra och sedan använda sig av en med betydligt sämre kvalitet och till sist använda en bild som ligger mitt emellan. Det man mäter då är tiden från man startar målningen tills den är 100% klar. Det kan också vara intressant att veta hur det kan påverka ett Canvas objekt igenom att använda en färgordning, de vill säga att man målar ut röd, röd och sen blå istället för röd, blå och röd igen vilket gör att man får ändra färgegenskapen ytterligare en gång. Om detta sker ofta kan det bygga på en tid som i slutändan kan ses som en skillnad. Rajamony och Elnozahy (2001) menar att man kan med hjälp av Javascript mäta svarstiden utan att använda sig av ändringar inom webbläsaren. Rajamony och Elnozahy (2001) säger att man kan mäta svarstiden genom att starta en klocka när användaren exempelvis klickar på en länk och sedan stoppa tiden via en onload funktion på sidan. Dock fungerar de inte lika bra att starta klockan om en användare går in på sidan via en URL-adress. Rajamony och Elnozahy (2001) menar också att man inte ska gå efter klockan när man mäter svarstiden, att man istället använder sig av ett client-script. Detta skriptet körs på användarens dator och kan antingen utföras när en speciell händelse inträffar eller när dokumentet laddas. Skriptet tar reda på tiden genom att ta reda på nuvarande tid och starttid som skriptet kommer ihåg från tidigare steg och sedan räkna ut hur lång tid det tog Metoddiskussion Att använda olika enheter för att utföra tester är en möjlighet för att få annorlunda data. Exempelvis att utföra testerna på en bärbar och en stationär dator är ett sätt. Det negativa med detta är att det blir svårt att jämföra resultatet eftersom en stationär dator oftast mer kraftfull än vad en bärbardator är. Utifrån arbetets förutsättningar kommer inte denna idé att fungera. Detta beroende på att datorerna som är tillgängliga är baserade på olika operativsystem och om man skulle behöva använda sig av en virtual machine för att köra ett annat operativsystem på ett redan befintligt, så använder datorn mycket mer resurser för att köra två operativsystem och det blir då obalans i mätningen som i sin tur ger dåligt resultat. Det blir också svårt att jämföra de olika webbläsarna eftersom de bland annat är på olika operativsystem och att de stödjer olika webbläsare. På exempelvis OS X fungerar Safari på men inte på Windows som i sin tur stödjer Internet Explorer. Detta är ett problem om man vill utföra tester på så många webbläsare som möjligt, då det blir svårt att testa både Internet Explorer och Safari på samma dator. Lösningen för detta är att använda sig av en virtual machine men då återkommer man till samma probleme att datorn får köra flera operativsystem och mer resurser på datorn används och det kan försämra tiderna i mätningen. Genom att använda tillägg för webbläsaren (Exempelvis Greasemonkey) blir det ett problem att utföra dessa tester på en mobilenhet. Det går inte att implementera ett skript som ska köras på webbläsaren när man besöker en viss sida, man kan mäta med Javascript-variabler men inte med tillägg som inte fungerar i alla webbläsare. Detta gör så att man inte kan testa 7
11 skillnaden på en mobil och dator. Alla är medvetna om att en mobil idag fungerar som en dator och att man nästan kan göra allt på den som man kan göra på en dator. Mikkonen och Taivalssari (2009) säger i sin artikel att det finns ett antal allvarliga problem med en webbapplikation på en mobilenhet, bland annat har webbläsaren en dåliga prestanda och inte är designad för en applikationsplattform Alternativa metoder En annan metod som skulle kunna användas inom detta ämne är fallstudie. Det som skiljer fallstudien från experiment är att man går djupare inom ämnet för att undersöka fenomen medan experimentmetoden kan fokusera mer på att göra mätningar av variabler. Genom att använda fallstudie kan man forska sig vidare för att få fram ett vetenskapligt resultat som stödjer en hypotes medans man med experiment får testa sig fram för att få ett resultat som kan följa en hypotes. I detta fall verkar fallstudie inte relevant, och man får inte direkt fram något av det Forskningsetik Inga testpersoner kommer att användas för detta experiment på grund av att det inte är relevant för att testa hypotesen. För utgöra mätningar av responstider behövs ingen direkt person, vad som behövs är data och ingen känslig sådan. Det kan hända att personer agerar på objekten som målas ut, exempelvis djur eller bild på en person. För att detta inte ska inträffa kan man använda sig av ett objekt så som en boll, ett bord eller en bil. Någonting som inte kan kopplas till en unik person. Eftersom detta kommer att publiceras och innehålla den kod och information som används kommer det att finnas en garanti av återupprepbarhet samt en öppenhet med resultatet. Resultatet kommer att vara oberoende av åsikter från forskare och endast bestå av sammansatt data från testerna. Experimenten kommer utföras i ett flertal webbläsare för att garantera möjligheten att återupprepa. Det kan hända att en del personer föredrar en speciell webbläsare och inte känner sig bekväma med de andra som finns tillgängliga. Det är också för att utöka resultaten och inte endast för att öka garantin av återupprepning. Thummalapenta, Devaki, Sinha och Chandra (2013) tar upp att det kan vara bra att testa flera webbläsare på grund av att renderingen kan variera samt att DOM-strukturen också kan variera mellan olika webbläsare, webbläsarversioner och därmed ha en inverkan på skripten som körs. 8
12 4 Genomförande/Implementation Detta kapitel kommer att beskriva en förslagen lösning av mätning av Canvas objekt och vägen till ett resultat. Kapitlet kommer att avslutas med en pilotstudie för att visa att de mätningar som samlats in kan användas för att analysera resultatet. 4.1 Förstudie Inspirationen av detta projekt uppstod på grund av en kombination av ett intresse av webben och HTML5 Canvas, att få chansen att arbeta djupare inom ämnet Canvas som kan vara på ingång och kan bli en bättre teknik på webben. Java direkt med Swing är en kurslitteratur skriven av Jan Skansholm och är en bok som handlar om programspråket Java. Boken tar bland annat upp olika attribut inom Canvas som ger lösningen till problemet och hypotesen inom detta projekt. Utöver Java direkt har inspiration av implementationer kommit från forum via webben, Beskrivning av prototyp De olika tekniker som används i projektet är en koppling mellan och Javascript. Alla tekniker behöver varandra för att fungera på ett effektivt sätt, mer djupgående beskrivs nedantill HTML Vad som görs i HTML är att man deklarerar en div-box till en Canvas vilket görs med ett id, canvas id= mycanvas. Detta id används sedan i Javascriptet för att skapa ett Canvas objekt till just de unika id. Med HTML gör man också kopplingen mellan olika webbsidor samt koppling till CSS-mallen och Javascripet. Man kan använda sig av koden för Javascriptet direkt i HTML-filen men det är ingen snygg lösning, blir enklare att läsa och arbeta med koden om man använder sig av en separat fil som sedan HTML-filen läser av. En skapad teknik med HTML som finns i detta projekt är en dropdown meny som görs med en option, vilket är bra för att man skall kunna göra val av vilket sorts objekt man vill måla ut. Detta alternativ kan vara bra om man använder sig av flera antal olika objekt eller om man inte väljer att hårdkoda in objekten. Se appendix B för hela koden. Figure 3: Dropdownmeny Javascript Javascriptet är själva nyckeln i detta projekt, här görs koden för Canvasen samt kontrollen för svarstiderna vilket är syftet med projektet. Scriptet fungerar så att först görs en kontroll av vilket val som har gjorts i HTML-filen, alltså vilken option som har valts. Beroende på valet så går man vidare till en funktion som skapar ett nytt Canvas objekt. Nästa steg är att gå vidare till den tilldelade funktionen som har koordinaterna för de olika linjerna/kurvorna för ett objekt. Alla koordinater skickas via en path där man pushar ett segment till en funktion som sedan ritar ut och färglägger objekten, färgläggningen sker samtidigt vilket innebär att alla objekten målas ut samtidigt. Alla koordinater sparas i minnet och målas ut när alla koordinater för alla objekt har tilldelats. Varje segment består av en kind med 9
13 antigen x1,y1 eller x2,y3 eller x3,y3 därmed behöver en kurva en kombination av x1,y1,x2,y2 och x3,y3 för att skapa bågen av linjen. Se appendix C för hela koden. Efter koordinaterna har skickats in via en path så vill man gå direkt vidare till att måla ut objektet med en draw(). Men på grund av att använda sig av requestanimationframe så behöver man anropa draw vilket gör att man får skapa en helt ny funktion som gör anropet på draw(). Samtidigt i den skapade funktionen används en translate vilket avgör hur många objekt som skall målas ut, se mer utförlig förklaring nedan. De olika objekten är implementerade via tilldelade koordinater. Objekten är vektorbaserade bilder skapade i Adobe Illustrator (svg-filer), för att få reda på koordinaterna för de skapade bilder så kan man överföra svg-filen till Canvas objekt görs via en konverter, SVG-Converter (2014). Detta är ett php-script som överför bildens linjer, kurvor, färger och så vidare till koordinater samt hexadecimala värden av färger. Valet av hur många objekt som skall målas ut görs via en for-loop där man sätter ett värde beroende på antal objekt, vad som görs i loopen är att man använder en translate på det valda objektet. Vad som menas med en translate är att man översätter objektet och målar ut de igen fast jämsides med det tidigare objektet. Figure 4: Translate Svarstider Lösningen av svarstiderna går att lösa på två olika sätt eller genom att använda teknikerna tillsammans. En av lösningarna är att använda performance.now(), det fungerar så att man skapar ett stoppur vilket är en grundteknik inom Java som tar den nuvarande tiden vilket medför att man kan deklarera en starttid och sedan deklarerar man en sluttid. När man har samlat in starttiden och sluttiden kan man räkna ut den beräknade svarstiden, sluttid starttid = sumtid. Vad som skiljer preformance.now() mot Date() är att man får decimaltal. Detta är bra för att mätningar som dessa inte skiljer mycket i ms vilket gör det ännu viktigare att få reda på decimala värden. En annan lösning är att använda sig av requestanimationframe vilket fungerar så att man talar om för webbläsaren att man vill utföra en animation och begär att webbläsaren kallar på en viss funktion för att uppdatera animeringen innan nästa utmålning. Med denna lösning kan man helt enkelt kontrollera frames per second på ett objekt. Se appendix D för fokus på lösningen med tiderna Iteration av objekt Det finns ett flertal olika sätt att utföra iterationer på en webbsida, om man inte har tillgång till koden kan man använda sig av tillägg i sin webbläsare där man skapar ett script som körs på just en sida och man kan kolla upp olika variabler som används för att göra dessa iterationer. Den enklaste lösningen samt den bästa lösningen är självfallet att hårdkoda in iterationen i sin egen kod, vilket görs i detta projekt. Det fungerar så enkelt att man skapar en for-loop runt anropen på utritningen, detta gör att loopen kommer att gå runt om och om igen ett x antal gånger. Se appendix E för fokus på iterationen. 10
14 4.2.5 Analys av svarstider För att kunna utföra en analys av svarstiderna via exempelvis en graf behöver man få tillgång till tiderna och inte bara via webbläsarn. Koden i appendix F visar en lösning för att kunna spara ned tiderna i en string som läggs i en array enligt följande, Iteration 1 tog 30Ms. Denna arrays skall sedan gå att ladda hem till sin dator via sin webbläsare i excel-format, vilket är ett utmärkt program för att göra grafiska analyser av mätningarna. Denna array töms sedan inför varje gång man väljer att måla nya objekt Progression Eftersom att koordinaterna för varje objekt sparas i minnet och målas ut samtidigt och inte var för sig så blir det ett problem med att ta reda på hur lång tid det tar för ett objekt att målas ut från början till slut. En annan implementation som inte fungerade var att använda sig av funktioner för varje Canvas objekt, att man tilldelade en div-box ett speciellt Canvas objekt. Det fungerade att måla ut objekten genom att tillkalla funktionen men problemet var att man inte kunde ändra attribut för objekten mellan olika boxar, exempelvis färg eller border. Den lösning man kunde göra via denna implementationen var att skapa en ny funktion för ett likadant objekt när man ville byta färg. Det är absolut ingen snygg eller bra lösning, den fungerade men det blir för många funktioner som gör samma saker. En lösning som fick kastas var att använda sig av arrays, en för varje attribut man vill ändra. Man kan sedan skicka med ett värde från en array beroende på vilket id Canvasen har i forloopen. colors=["","red","blue","green","lightblue","yellow","#f5f5f5]; Denna array fungerar så att Canvasen som får ett i-värde, om i=1 skickar man med color[i] vilket innebär att color=röd. Så istället för att skapa ett flertal funktioner för liknande objekt fast med olika egenskaper så kan man skapa arrays som innehåller olika värden som sedan skickas med beroende på vilket id Canvasen har tilldelats, exempelvis i Figure 4 kan man se att objektet har färg röd vilket menar att det är första objektet som skapats. Man behöver då endast en funktion för varje objekt men en ytterligare funktion som skapar de olika Canvasobjekten samt tilldelar egenskaper Lösningar För att lösa problemet med den första tekniken ovan behöver man använda sig av en translate på det valda objektet. Med hjälp av translate kan man enkelt välja hur många objekt som skall målas ut och enkelt att mäta svarstider på. Eftersom att man inte är intresserad av att ta reda på hur lång tid det tar från att skicka in koordinaterna samt att måla ut koordinaterna är translate den bästa lösningen. Man kan använda sig av samma funktion av objekt och upprepa de ett antal gånger beroende på hur många objekt man vill måla ut. Lösningen för det andra problemet som beskrev ovan blev det enklast att hårdkoda om objektet med dess nya attribut. 11
15 4.3 Pilotstudie Syftet med mätningen är enkel, det handlar enbart att ta reda på information om hur renderingstiden är mellan olika objekt med olika attribut eller utritnings ordning. Det kan vara en lösning som färgordning för att minska antalet anrop på draw() eller skillnaden mellan att måla ut ett, tre och sex objekt. Figure 5 visar ett resultat av en mätning av sex objekt 50 gånger, man kan se att första målningen tar betydligt mycket längre tid än resterande. Vad man kan sammanställa av denna mätning är att objekten är små och kräver inte mycket cpu-kraft. Appendix H visar en linjegraf av en liknande mätning av sec objekt. Vad som skiljer de åt är att Figure 5 körs på safari och appendix H via Google Chrome. Figure 6 påvisar ett näst intill unikt exempel av en mätning, vad som skiljer de åt från Figure 5 är att man mäter renderingstiden på ett enskilt objekt. En utmåling av ett objekt 50 gånger istället för sex objekt 50 gånger. Vad man kan sammanfatta från det är att ett objekt går fortare än vad sex objekt gör vilket är uppenbart eftersom att de är samma objekt fast mindre antal. Dock så kan man inte riktigt dra någon slutsats från dessa mätningen på grund av att störta andelen av iterationerna tar 0 ms vilket inte går att göra en mätning på. Figure 5: Mätning 6 objekt. Appendix H del 2 så får kan man se en linjegraf av en mätning av renderingstiden av ett objekt 50 gånger i Google Chrome, en motsvarande mätning av tidigare test. Vid just dessa mätningar kan man ej fatta några direkta slutsatser på grund av att objekten som testas är små och består av ytterst få lager, linjer och endast två färger. Vad man kan få ut av denna pilotstudie är att prototypen går att använda för att utföra mätningar av olika objekt. Vad som behövs ändra innan testerna är de hårdkodade Canvasattributen samt antal iterationer som skall utföras. Figure 6: Mätning 1 objekt. 12
16 5 Utvärdering Detta kapitel börjar med att beskriva den genomförda studie, som följs av en analys av den insamlade data från experimentet. Kapitlet avslutas med en sammanfattning av de slutsatser som gjorts i analysen. 5.1 Presentation av undersökning Undersökningen är uppdelad i tre delar, varje del består av ett eget objekt. De olika objekten som undersöks är ett stort objekt med ca 400 kurvor/linjer och 23 lager, ett litet objekt med ca 100 kurvor/linjer och består endast av ett lager samt ett objekt som ligger på ca 150 kurvor/linjer och 19 lager vilket gör de ett objekt som ligger emellan de stora och de lilla. Vad som gör de lilla och medelstora objektet så olika även fast de bara skiljer ca 50 kurvor/linjer är att de skiljer 18 lager. Varje gång ett objekt byter färg eller börjar på en helt ny punk så behöver man skapa ett nytt lager, ett nytt lager innebär en ny path som skickas in. Genom att testa de lilla och det medelstora objektet så kan man urskilja hur mycket tid de kostar att skapa en ny path. Skillnaden mellan de stora och det medelstora objektet är antal kurvor/linjer, antal paths är nästan den samma. Med de två objekten kan men urskilja hur mycket de påverkar om man har många kurvor/linjer vid rendering. Den uppdelning som beskrivs ovan går att kombinera på olika sätt. Vad som görs är att man måla ut dessa objekt 1000 gånger vid varje test, varje test av ett objekt utförs 15 gånger. Detta 15 tester delas upp i tre delar, fem tester för varje del. En del för att måla ut en bild av objektet med 1000 iterationer, en del för att måla ut fem bilder av objektet med 1000 iterationer och den sista delen för att måla ut tio bilder av objektet med 1000 iterationer. Alla dessa tester görs i tre olika webbläsare, Google Chrome, Mozilla Firefox samt Safari. Med dessa tester kan man urskilja de olika webbläsarnas renderingsmotorer och se vilken som presterar bäst. Inför varje analys tas den absoluta första iterationen bort i summeringen av iterationerna. Detta görs på grund av att just den första iterationen målar inte bara ut objekten utan skickar också in alla koordinater, färger och så vidare vilket gör de till en ojämn mätning om man väljer att ta med den informationen. Det man vill mäta på är utritningen och inget annat onödigt som kan göra informationen annorlunda Utrustning MacBook Air, OS X version ,3 GHz Intel Core i5, 8GB RAM. Grafikkort Intel HD Graphics MB. Hårddisk på 126GB SSD. Testerna utförs på ett 100/100 trådlöst nätverk med en ASUS router, RT-N12 Wireless-N. Testerna utförs på Högskolan i Skövdes webbserver för studenter - wwwlab.iit.his.se 13
17 5.2 Analys Analysen av varje mätning utförs i Excel, genom att samla ihop tiderna från varje test och ta reda på medelvärdet för varje iteration för att sedan kunna skapa grafer utifrån den informationen Objekt Krokodil Objekt Krokodil anses som det lilla objektet som består av ca 100 kurvor/linjer och endast ett lager. Experimentet har utförts i tre olika webbläsare med 1000 iterationer Figure 7.1: Objekt Krokodil summan av 1,10,100 och 1000 iterationer. Figure 7.2: Bättre syn av figure 7.1 iteration 1 och
18 Figure 7.1 visar resultatet av objekt Krokodil, resultatet är ifrån testerna som utfördes av utmålningen av 10 krokodiler per iteration. Grafen består av ms i y-axeln och summan av antal iterationer i x-axeln. De olika färgerna står för vilken webbläsare tiderna kommer ifrån. Man kan tydligt se att Mozilla Firefox sticker ut över de två andra webbläsarna, medan att Google Chrome och Safari har näst intill samma värde. Vad som skiljer dem åt är att Safari har en bättre standardavvikelse vilket betyder att nästa gång man utför testerna så är det ca 98% chans att resultatet hamnar innanför standardavvikelsen enligt rule, Wikipedia. Den standardavvikelse som används är multiplicerat med tre (Stddev*3). För att få en bättre bild av iteration 1 och 10 se figure 7.2. Figure 8.1: Objekt Krokodil summan av 1,10,100 och 1000 iterationer. Figure 8.2: Bättre syn av figure 8.1 iteration 1 och
19 Figure 8.1 visar en liknande graf som i figure 7.1. Vad som skiljer dessa två från varandra är att resultatet i figure 8.1 visar summan av 1,10,100 och 1000 iterationer av 5 objekt per iteration. Medelvärdet a varje iteration används för att skapa en summa av antal iterationer. Vad som kan sammanfattas från grafen i figure 8.1 är samma som tidigare sammanfattning av figure 7.1. Alltså att Mozilla Firefox tar längre tid på sig att rendera alla objekten 1000 gånger medans Google Chrome och Safari är jämsides vid 100 och 1000 iteratoner. Om man ser närmare på figure 8.2 så får man en bättre bild av iteration 1 och 10 och få resultatet på att Google Chrome startar långsamt men går fortare och fortare medan Mozilla Firefox tappar sin renderingstid men att Safari fortfarande presterar bättre. Standardavvikelsen visar att Safari håller den mest stabila mätningen. Standardavvikelsen som används är multiplicerat med tre (Stddev*3). Analysen av liknande test fast med summan av 1,10,100 och 1000 iterationer av 1 objekt per iteration ger en graf som ser ut som grafen för summan av 1,10,100 och 1000 iterationer av 5 objekt per iteration i figure 8.1. Alla analyser fungerar på samma sätt fast använder sig av olika tider eftersom att tiderna tas ifrån de olika testerna som görs. Alla analyser använder sig av en standardavvikelse multiplicerat med 3 (Stddev*3) och utförs i olika webbläsare Objekt Tält Objekt Tält ses som det medelstora objektet som består av ca 150 kurvor/linjer samt 19 lager. Experimentet utförs i tre olika webbläsare och testerna görs med 1000iterationer. Figure 9.1: Objekt Tält summan av 1,10,100 och 1000 iterationer. 16
20 Figure 9.2: Bättre syn av figure 9.1 iteration 1 och 10. Figure 9.1 visar en graf med resultatet av summan av 1,10,100 och 1000 iterationer av 10 objekt per iteration. Grafen fungerar som alla tidigare, ms i y-axeln och summan av antal iterationer i y-axeln. Grafen består också av standardavvikelsen multiplicerat med tre (Stddev*3). Här kan man tydligt se att Mozilla Firefox presterar mycket sämre än Google Chrome och Safari, detta gäller vid summan av alla iterationer. Om man kollar på figure 9.1 och 9.2 så ser man tydligt att Google Chrome presterar bäst men består av en stor standardavvikelse vilket menar att Safari inte behöver prestera sämre på grund av just denna analys. Eftersom att standardavvikelsen multiplicerat med tre ger en 98% säkerhet enligt rule, Wikipedia av att nästa mätning kommer hämna innan för standardavvikelsen. Om man jämför resultatet i figure 9.1 mot figure 7.1 vilket båda gör en mätning av 1,10,100 och 1000 iterationer av 10 objekt per iteration fast med två olika objekt men endast ca 50 kurvor/linjer. Det som skiljer dem åt är att objekt tält består av 19 lager medan objekt krokodil endast har ett lager. Vad man kan se om man tittar noggrant på dessa två figurer är att summan av iterationerna är betydligt mycket mer i ms och att webbläsarna är hyfsat när varandra i figure 7.1. Däremot i figure 9.1 så är skillnaden på webbläsarna betydligt mycket större vilket ger ett resultat av att renderingsmotorn påverkas beroende på hur många lager objektet består av, men också att antal kurvor/linjer inte behöver påverka renderingstiden vilket är hypotesen i detta experiment. 17
21 Figure 10.1: Objekt Tält summan av 1,10,100 och 1000 iterationer. Figure 10.2: Bättre syn av figure 10.1 iteration 1 och 10. Figure 10.1 visar resultatet av mätningen av objekt tält med summan av 1,10,100 och 1000 iterationer av 10 objekt per iteration. Grafen fungerar som alla tidigare, likadana x- och y- axlar samt standardavvikelsen multiplicerat med tre. Efter en analys av denna mätning kan man resultera i att Safari fungerar bättre när mindre antal objekt målas ut vid varje iteration. En annan slutsats man kan fatta är att Mozilla Firefox fortfarande är den webbläsare som har den högsta renderingstiden men också att Google Chome och Safari fortfarande är 18
22 jämsides och att standardavvikelsen för Safari fortfarande är betydligt mycket mindre än de andras. Figure 11: Objekt Tält summan av 1,10,100 och 1000 iterationer. Analysen av mätningen i figure 11 med summan av 1,10,100 och 1000 iterationer av 1 objekt per iteration ger en helt annan information än tidigare analys av objekt tält. Vad man kan sammanställa från denna analys är att de olika webbläsarna ger ungefär samma summa av renderingstider Objekt Lejon Objekt Lejon är det stora objektet i detta experiment. Det består av ca 400 kurvor/linjer samt 23 lager vilket gör de 250 kurvor/linjer större än objektet som ses som medelstort. Detta test ger ett resultat av hur mycket renderingsmotorns resurser som går åt för antalet kurvor/linjer. Testerna utförs som alla tidigare, i tre olika webbläsare och analyseras i Excel genom att skapa grafer baserat på medelvärdet för varje iteration. Om man tar summan av ett antal iterationer av medelvärdet (1,10,100 och 1000) från varje test av de olika webbläsarna så kan man tydligt se skillnaden av hur renderingsmotorn i webbläsaren reagerar på objekten som målas ut. 19
23 Figure 12.1: Objekt Lejon summan av 1,10,100 och 1000 iterationer. Figure 12.2: Bättre syn av figure 12.1 iteration 1 och
24 Figure 12.1 visar tydligt att väl när man kommer upp i ett större antal kurvor/linjer i ett objekt så blir det en betydligt större skillnad bland de olika webbläsarna. Om man fokuserar mer på iteration 100 och 1000 i y-axeln kan man se att Google Chrome har en betydligt mycket bättre renderingstid av summan av antalet iterationer. Vad som mäts i figure 12.1 är summan av 1,10,100 och 1000 iterationer av 10 objekt per iteration, alltså vid varje iteration så målar man ut 10 stycken lejon. Dessa 10 lejon målas ut intill varandra. Figure 12.2 är samma värden som i figure 12.1 men fokuserar på summan av iteration 1 och 10 på grund av att dessa staplar i grafen blir så pass små att det blir svårt att tyda, men med grafen i figure 12.2 får man en bättre graf vilket innebär summan av första iterationen samt de 10 första. Man kan tydligt se att Google Chrome startar snabbast och Mozilla Firefox startar långsamt medan Safari ligger mitt emellan. Standardavvikelsen för varje webbläsare går inte i varandra vilket innebär en 98% chans att nästa mätning hamnar inom standardavvikelsen enligt rule, Wikipedia Alla tre objekt tillsammans i samma webbläsare Den analys som görs under denna punk är att jämför renderingstiden av summan av 1, och 1000 iterationer av 10 objekt per iteration av de tre olika objekten (krokodil, tält och lejon) för att se hur mycket längre tid de tar. Analysen sker för enskilda webbläsare, alltså tre objekt målas ut 10 gånger med 1000 iterationer i Google Chrome, Mozilla Firefox och Safari. Figure 13.1: Summan av 1,10,100 och 1000 iterationer av tre olika objekt i Chrome. Det man kan resultera ut analysen i figure 13.1 är att renderingstiderna för de tre olika objekten ökar, den blå stapeln står för det lilla objektet, den röda för det medelstora objektet och den gröna för det stora objektet. Analysen görs i Google Chrome med standardavvikelsen 21
25 multiplicerat med tre. Antalet kurvor/linjer skiljer inte mycket mellan den blå och röda stapeln, vad man kan sammanfatta från det är att renderingsmotorn i webbläsaren reagerar olika beroende på hur många lager ett objekt består av. Om man jämför den röda och den gröna stapeln som inte skiljer så mycket i antal lager men däremot i antalet kurvor/linjer kan man tydligt se att summerade renderingstiden skiljer mycket. Med detta sagt kan resultera att renderingsmotorn reagerar annorlunda för objekt med ett större antal kurvor/linjer och inte bara antal lager i ett objekt. Figure 13.2: Summan av 1,10,100 och 1000 iterationer av tre olika objekt i Firefox. Vad man kan se i figure 13.2 är en likadan analys som i 13.1, den ända skillnaden är att analysen sker i Mozilla Firefox. Vad man kan resultera i när man kollar på denna graf är att det skiljer mycket mer mellan stapel blå och röd, alltså att Mozilla Firefoxs renderingsmotor reagerar sämre på renderingstiden av ett objekt som består av mer antal lager och inte lika mycket på antalet kurvor/linjer som Google Chrome gör. 22
26 Figure 13.3: Summan av 1,10,100 och 1000 iterationer av tre olika objekt i Safari. Figure 13.3 gäller det de samma som i figure 13.1 och Det som är annorlunda är att denna figure visar mätningsvärden från webbläsaren Safari. Man kan se i denna graf att det stora objektet (lejon, vilket är den gröna stapeln) verkligen sticker ut, alltså kan man med säkerhet säga att Safaris renderingsmotor reagerar sämre på objekt med ett större antal kurvor/linjer. Skillnaden mellan den blåa och röda stapeln är skillnaden mellan de lilla och det medelstora objektet vilket skiljer i stor del av antal lager i bilden, detta leder till att Safari också reagerar på antalet lager i en bild men också antalet kurvor/linjer. 5.3 Slutsats Efter att ha gjort analyser på olika mätningarna som gjort i detta experiment kan man dra ett antal slutsatser. För att tydliggöra vad som har testats i detta projekt så är de inte mätningar av objekt med olika egenskaper på attributen. Alltså inga mätningar på samma objekt fast med olika egenskaper, exempelvis ändring av färger, tjockleken på bordern och så vidare. Det som har testats är hur webbläsarens renderingsmotor reagerar på objekt som är uppbyggda på olika sätt. Vad som menas med uppbyggda är hur strukturen ser ut, består objektet av ett stort antal linjer eller är de mer avancerat. Ett mer avancerat objekt är uppbyggt av många lager, ett nytt lager behövs när man ändrar färg eller börjar på en ny utritningspunkt. Vad som då mäts är hur lång tid det tar att måla ut ett objekt med många lager till skillnad från ett objekt med ett större antal linjer och få lager. En utav dessa slutsatser som kan dras är att standardavvikelsen ser olika ut beroende vilken webbläsare testerna utförs i. Standardavvikelsen i Mozilla Firefox har den största positiva och negativa piken vilket innebär att renderingstiderna för varje iteration i Mozilla varierar mest, vilket innebär att nästa mätning kommer att hamna inom just den standardavvikelsen. 23
27 Standardavvikelsen i Google Chrome är mindre än Mozillas men har också en stor skillnad mellan den positiva och negativa piken. Webbläsaren med den minsta standardavvikelsen är Safari, om man kollar de grafer som har tagits upp under analysdelen kan man se att i alla grafer är de Safari som har en minsta standardavvikelse vilket innebär att nästa mätning kommer till 98% chans att hamna inom den piken. En annan slutsats som man kan dra i etta experiment är att Mozilla Firefoxs renderingsmotor reagerar sämre på objekt med flera antal lager i sig tillskillnad mot objekt som består av ett större antal kurvor/linjer, det är något man kan se tydligt i figure Däremot kan man också dra slutsatsen att Google Chromes renderingsmotor reagerar sämre på objekt med ett större antal kurvor/linjer tillskillnad mot objekt som består av fler antal lager i sig. Detta är rena motsatsen mot Mozilla Firefox. Det sista slutsatsen man kan dra med detta experiment är att Google Chrome hanterade de mätningarna bäst i längden, alltså att när man kommer upp i ett större antal iterationer så blir den summerade renderingstiden för Google Chrome den lägsta jämfört med Mozilla Firefox och Safari. Man kan också se att Mozilla var den webbläsaren som presterade sämst under dessa mätningar vilket gör att Safari hamnar mitt emellan Chrome och Mozilla. Däremot så presterade Safari bättre i uppstarten, alltså att Safari hanterade de första iterationerna snabbast men tappade i längden och detta har att göra med att Google Chromes iterationer var så pass varierande, att de kunde gå från 30 ms till 7 ms. Google Chrome presterade därför bättre vid 1000 iterationer istället för 1-5 iterationer men att Safari alltid höll sig på samma tid under alla 1000 iterationer vilket gör de till den stabila webbläsaren. Om man sammanfattar denna slutsats med hypotesen från tidigare kapitel kan man bekräfta att hypotesen stämmer överens med resultatet. Ett objekts renderingstid behöver inte vara beroende av antal kurvor/linjer utan mer av objektets uppbyggnad, alltså hur många lager bilden består av. Figure 13.1, 13.2 och 13.3 visar alla tre att det är skillnad på renderingstiden av objekt som består av näst intill samma antal kurvor/linjer men har olika attribut i sig. 24
28 6 Avslutande diskussion 6.1 Sammanfattning Om man kollar på frågeställningen tidigare i dokumentet under problem-kapitlet, exempelvis om man ritar ut ett objekt med andra linjeparametrar, hur påverkas svarstiden? Svarstiden eller med andra ord renderingstiden påverkar på olika sätt beroende på vilken webbläsare man väljer att rendera i. I detta experiment testades Google Chrome, Mozilla Firefox och Safari och man kan sammanfatta det kort. Google Chromes renderingstider påverkar av hur många kurvor/linjer och objekt innehåller men är också den snabbaste webbläsaren i längden. Mozilla Firefoxs renderingstider påverkar av hur många lager en bild består av och är den webbläsare som har den längsta renderingstiden. Safari ligger emellan Mozilla och Chrome men håller jämnast renderingstider. Ett objekts renderingstid påverkas inte av vilken färg, opacity eller border objektet har utav av antalet kurvor/linjer eller antalet lager en bild har. Ett lager uppstår när en bild ändrar färg eller får en ny startpunkt, exempelvis en boll har endast en startpunkt eftersom att det är en cirkel. 6.2 Diskussion Vad som gör detta projekt unikt från de liknande projekten som tagits upp i bakgrunden är att det är olika objekt som testas vilket gör att man kan få en bättre förståelse av vad de olika webbläsarna är bra på men också att man utför projektet i ett fler tal webbläsare, också hur ett Canvas objekt presterar samt att se varför Canvas ligger steget efter andra format på webben. Efter att ha gjort ett sort antal mätningar förstår man varför man väljer andra filformat före Canvas. Man får en bättre förståelse av varför Canvas är så pass långsamt och vad webbläsarens renderingsmotor är bra på. Det unika med projektet är inte bara mätningarna i olika webbläsare för att sammanfatta ett resultat för varje webbläsare, men även att andra projekt som linkar detta använder sig av olika algoritmer för att ändra uppbyggnaden av Canvas objekten. Vad dessa algoritmer exakt gör är att de ersätter ett antal linjer/kurvor i en bild för att korta ner på resurser som krävs. Detta kan leda till kortare renderingstider men ger ofta ett sämre resultat när de gäller bildkvalitet. Detta är inget som görs i detta projekt, här är fokuseringen mer på tre olika objekt som är uppbyggda på olika sätt, alltså att inget är likt de andra men också att inga algoritmer används för att ändra i objekten. Vad som får mig att tro att dessa mätningsvärden och analyser är trovärdiga är på grund av att jag har används mig av ett stort antal iterationer för varje test (1000) vilket minskar chansen för att spikes ska påverka resultatet. En annan sak som gör analysen trovärdig är användningen av standardavvikelsen, den gör så att sannolikheten av nästa mätning kommer till 98% chans hamna inom just den tillagda standardavvikelsen enligt rule, Wikipedia. Varje graf i detta projekt använder sig av en standardavvikelse multiplicerat med tre vilket ökar chansen till 98% som nämndes ovan. Vad jag anser om detta projekt och vad det har för nytta inom olika arbeten finner jag intressant, arbetsbranschen som har nytta av informationen som tas upp i detta projekt är 25
TSBK 10 Teknik för avancerade datorspel Fö 9: Nätverk, Peter Johansson, ISY
TSBK 10 Teknik för avancerade datorspel Fö 9: Nätverk, Peter Johansson, ISY Fysik Datorgrafik Spelmekanismer AI Nätverk Nätverksaspekter i spel z Fleranvändarspel blir allt populärare z Roligare att spela
Att köpa ny dator SeniorNet Lidingö Januari-2016
Att köpa ny dator SeniorNet Lidingö Januari-2016 Att tänka på innan du köper bärbar dator Behov/Användningsområde Om man mest ska använda datorn till epost, Internet, lagra foton och skriva dokument i
Routerinställning. Denna guide tar dig genom de enkla steg som behövs för att ställa in routern så den fungerar trådlöst.
Routerinställning Denna guide tar dig genom de enkla steg som behövs för att ställa in routern så den fungerar trådlöst. Om frågor uppstår efter att du använt denna guide så går det bra att maila fibergruppen.
RSI Road Status Information A new method for detection of road conditions
WP 5 Sida 1 av 15 RSI Road Status Information A new method for detection of road conditions Användarmanual för RSI WP 5 Sida 2 av 15 Användarmanual för RSI Om detta dokument Detta dokument är en användarmanual
1. Abstrakt... 2 2. Introduktion... 2 3. Problemspecificering... 2 4. Vår teknik... 3 4.1 Designval... 3 4.2 Abstract Colour Visualization... 5 5.
1. Abstrakt... 2 2. Introduktion... 2 3. Problemspecificering... 2 4. Vår teknik... 3 4.1 Designval... 3 4.2 Abstract Colour Visualization... 5 5. Realisering av Abstract Color Visualization... 7 6. Diskussion...
Diagram. I detta kapitel lär du dig: m Diagrammets beståndsdelar. m Att skapa både inbäddat diagram och diagramblad. m Att ändra diagramform.
1 Diagram Med diagram kan du presentera information på ett effektivt sätt. Eftersom datan visas grafiskt så kan betraktaren ta till sig mycket information på en gång. Microsoft Excel har ett kraftfullt
Teknikprogrammet, inriktning informations- och medieteknik
Teknikprogrammet, inriktning informations- och medieteknik Varför välja oss? Kursplan Presentation av våra datatekniska kurser Eftersom företag mycket sällan anställer gymnasieelever (de vill att ni ska
Brandsäker i handeln Brandfarlig vara i handeln. Till dig som ska introducera webbutbildningarna
Brandsäker i handeln Brandfarlig vara i handeln Till dig som ska introducera webbutbildningarna Innehållsförteckning Introduktion av webbutbildningarna om brandsäkerhet för handeln 1 Varför utbildning?
Ajax TruClient. Erfarenheter, tips och trix från Swedbank IT. Christian Gerdes Performance Engineer, LIGHTS IN LINE AB
Ajax TruClient Erfarenheter, tips och trix från Swedbank IT Christian Gerdes Performance Engineer, LIGHTS IN LINE AB Intro Lite om Swedbanks Teknik Test Varför TruClient En ny teknik kräver ett nytt tänk
Slutrapport YUNSIT.se Portfolio/blogg
Slutrapport YUNSIT.se Portfolio/blogg RICKARD HANSSON 2012-06-04 Abstrakt Rapporten du har i din hand kommer handla om mitt projektarbete som jag genomfört under tio veckor för utbildningen Utvecklare
A" utveckla kartor med responsiv design. Johan Lah8 Geografisk IT- utvecklare Stadsbyggnadskontoret, Malmö stad
A" utveckla kartor med responsiv design Johan Lah8 Geografisk IT- utvecklare Stadsbyggnadskontoret, Malmö stad Innehåll 1. Vad och varför responsiv design? 2. Hur kan det genomföras? 3. Exempel (smap)
Brandsäkerhet i hemmet SFI Handledarmanus
Handledarmanus SFI Brandsäkerhet i hemmet SFI Handledarmanus Välkommen som handledare för utbildningen Brandsäkerhet i hemmet för SFI-elever. Syftet med utbildningen är att deltagarna ska förstå vilka
App-klient för smartphones... 2. Power BI... 3. Arbetsflöde... 4. CRM Online... 5. Webb-klienten... 6. Dokumenthantering... 7. Molnet...
Nyheter i Dynamics NAV 2016 Innehåll App-klient för smartphones... 2 Power BI... 3 Arbetsflöde... 4 CRM Online... 5 Webb-klienten... 6 Dokumenthantering... 7 Molnet... 8 Elektronisk fakturering... 9 App-klient
Introduktion till arv
Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering
Nya Veckans AffArer VÅRA LÄSARE RÄCKVIDD & UPPLAGA
Nya Veckans AffArer Nya Veckans Affärer är förstahandsvalet för näringslivet: Vi når 70 000 kvalificerade och köpstarka beslutsfattare inom svenskt näringsliv. I Veckans Affärer får de ny kunskap, nya
ANVÄNDARGRÄNSSNITT FÖR FÖRÄLDRAR INSTRUKTIONER
ANVÄNDARGRÄNSSNITT FÖR FÖRÄLDRAR INSTRUKTIONER INNEHÅLLSFÖRTECKNING 1 INLOGGNING I PÄIKKY 1 1.1 Aktivera användarnamnet 1 1.2 Inloggning 2 2 ALLMÄN INFORMATION 3 2.1 Skaffa ett nytt lösenord 3 2.2 Stödda
Objektorienterad programmering
Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad
Inlämningsuppgift 2. DA156A - Introduktion till webbutveckling Teknik och samhälle, Malmö högskola Oktober 2012
Oktober 2012 Uppgiften går ut på att redovisa dina kunskaper kring JavaScript, liksom din förmåga att skapa en CSS-baserad layout. Detta gör du genom att lämna in ett resultat som följer specifikationerna
Projektarbete 2: Interaktiv prototyp
Projektarbete 2: Interaktiv prototyp Jonatan Hilmarch (Grupp 13) 880427-5595 hilmarch@skip.chalmers.se Kurs: Människa-Datorinteraktion TIG061 HT 2010 Projekt 1 - en tillbakablick Enligt projektets systemdefinition
Web Client. Produktinformation
Web Client Produktinformation Inledning Web Client Industrin ställer allt högre krav på flexibla lösningar. WideQuick Web Client ger operatören möjlighet att styra och övervaka anläggningen oavsett tid
Manual för externa sökande
Aditro Recruit 9.2 10.11.2015 Aditro Recruit 9.2 Manual för externa sökande Aditro Recruit 9.2 10.11.2015 Innehållsförteckning 1. Logga in i systemet... 1 1.1. Låst användarkonto... 2 2. Skapa ett användarkonto...
EW-7438RPn Air Quick Installation Guide
EW-7438RPn Air Quick Installation Guide 02-2014 / v1.0 I. Produktinformation I-1. Paketets innehåll - EW-7438RPn Air - CD med snabbinstallationsguide och bruksanvisning på flera språk - Snabbinstallationsguide
Användarmanual för mätdatabasen Malin
Användarmanual för mätdatabasen Malin Tillväxtverkets databas för resultaten från mätningarna av företagens administrativa kostnader 117 86 Stockholm Besöksadress: Götgatan 74 Telefon: 08-681 91 00. Telefax:
Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Slutrapport för JMDB.COM. Johan Wibjer 2012-06-03
Slutrapport för JMDB.COM Johan Wibjer 2012-06-03 Abstrakt Den här rapporten kommer handla om mitt projekt som har handlat om att gör en webb sida för ett personligt media bibliotek, hur jag har jobbar
Användarhandledning Rapportgenerator Version: 1.1
Användarhandledning Rapportgenerator Version: 1.1 Umefast AB 2008 www.umefast.se Innehåll 1. Rapportgenerator... 2 1.1. Syfte och avgränsningar... 2 1.2. Wizards... 2 1.3. Förutsättningar för arbete med
Macromedia. Flash 8 Grundkurs. www.databok.se
Macromedia Flash 8 Grundkurs www.databok.se Innehållsförteckning 1 Börja arbeta med Flash 8...1 Användningsområden...1 Bekanta dig med arbetsytan...2 Scen och tidslinje...3 Lager...3 Bibliotek...4 Verktygsfältet
WD406F - Interaktiva medier I 7,5hp Moment: Web Usability Inlämningsuppgift 1ab. Wynona Ekesrydh 2010-12-13
Här följer min reflektion över innehållet i Jonathan Lazars bok Web Usability, kapitel 1 2, 6 7. Webbanvändbarhet För att infrastrukturen ska fungera behövs system som på ett enkelt och effektivt sätt
Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09
Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal
Beställnings- och installationsguide av Dubbelskydd
Beställnings- och installationsguide av Dubbelskydd 1. Logga in i lokalnätbutiken med ditt användarnamn. Om du inte har något användarnamn kan du skapa ett genom att registrera dig som användare. a. Användarnamnet
Enkel Digital Skyltning. på några minuter...
Enkel Digital Skyltning på några minuter... Enkel Digital Skyltning 105mm i litet format... Det finns enkel digital skyltning, med enkla genomtänkta system... Paketen Vi har tagit fram tre färdiga paket
WINDOWS 8.1. Grunder
WINDOWS 8.1 Grunder EXCEL 2013 Grunder INLEDNING Mål och förkunskaper...5 Pedagogiken...5 Hämta övningsfiler...6 1 INTRODUKTION TILL WINDOWS Grundläggande om operativsystem...7 Starta och avsluta Windows
Net id OEM Användarhandbok för Windows
Net id OEM Användarhandbok för Windows Net id OEM Användarhandbok för Windows Copyright 2012 SecMaker AB Klassning: Publik Version: 5.6 1 / 8 Net id OEM Användarhandbok för Windows Copyright 2012 SecMaker
Läkarintyg för sjöfolk. Hur gå vidare?
LÄKARWEBB 1 (5) Fartygsoperativa enheten Handläggare, direkttelefon Johan Bagge, 011-19 13 86 Ert datum Er beteckning Läkare som är intresserade av systemet för digitalt läkarintyg Läkarintyg för sjöfolk.
varandra. Vi börjar med att behandla en linjes ekvation med hjälp av figur 7 och dess bildtext.
PASS 8 EKVATIONSSYSTEM OCH EN LINJES EKVATION 8 En linjes ekvation En linjes ekvation kan framställas i koordinatsystemet Koordinatsystemet består av x-axeln och yaxeln X-axeln är vågrät och y-axeln lodrät
19. Skriva ut statistik
19. Skiva ut statistik version 2006-05-10 19.1 19. Skriva ut statistik Den här dokumentationen beskriver hur man skriver ut statistik från SPFs medlemsregister via Internet. Observera att bilderna är exempel
VIDEODAGBOKEN. Individuellt Mjukvaruutvecklingsprojekt. En dagbok i videoform online. Robert Forsgren (rf222ce) UD12 2013-06-05
VIDEODAGBOKEN En dagbok i videoform online. Individuellt Mjukvaruutvecklingsprojekt Robert Forsgren (rf222ce) UD12 2013-06-05 Abstrakt: Den här rapporten kommer ta upp mitt projekt Videodagboken, en dagbok
Korma [Tiedoston otsikko] Ssähkno Maija VIPU-ANVÄNDARENS ANVISNING. ELEKTRONISK STÖDANSÖKAN 2014 Huvudstödsansökan
Korma [Tiedoston otsikko] Ssähkno Maija VIPU-ANVÄNDARENS ANVISNING ELEKTRONISK STÖDANSÖKAN 2014 Huvudstödsansökan Innehåll 1 Allmänt om tillämpningen... 3 1.1 Krav på maskinvara... 3 1.2 Användarrättigheter
Inledning. Att bli medlem
- Inledning Nedan följer en instruktion om hur man blir medlem på Vreta-Ytternäs hemsida och sedan en instruktion om hur man loggar in. Innan man kan logga in måste man registrera sig som medlem. Anledningen
http://www.leidenhed.se Senaste revideringen av kapitlet gjordes 2014-05-08, efter att ett fel upptäckts.
Dokumentet är från sajtsidan Matematik: som ingår i min sajt: http://www.leidenhed.se/matte.html http://www.leidenhed.se Minst och störst Senaste revideringen av kapitlet gjordes 2014-05-08, efter att
En snabb titt på XML LEKTION 6
LEKTION 6 En snabb titt på XML Bokstaven x i Ajax står för XML, ett mycket användbart beskrivningsspråk som gör det möjligt för Ajax-tillämpningar att hantera komplex strukturerad information. I den här
FJÄRRENDERING AV CANVAS GRAFIK FÖR INTERAKTIVA DIAGRAM REMOTE RENDERING OF CANVAS GRAPHICS FOR INTERACTIVE DIAGRAMS
M a lskapad av Henrik FJÄRRENDERING AV CANVAS GRAFIK FÖR INTERAKTIVA DIAGRAM REMOTE RENDERING OF CANVAS GRAPHICS FOR INTERACTIVE DIAGRAMS Examensarbete inom huvudområdet Datalogi Grundnivå 30 högskolepoäng
Post Mortem för Get The Treasure!
Post Mortem för Get The Treasure! Av: Emil Lindberg - Grupp 15 Vi skulle göra ett action multiplayerspel som spelades över nätverket. Vilket vi nästan lyckades göra. Tiden tog slut och programmerarna han
Systemkrav. www.hogia.se/approval. Systemkrav för Hogia Approval Manager. Gäller från och med programversion 2012.1
Systemkrav Systemkrav för Hogia Approval Manager Gäller från och med programversion 2012.1 För produkten Hogia Approval Manager gäller samma systemkrav som för ekonomisystemet, med vissa tillägg. Tilläggen
Installationsanvisningar
Installationsanvisningar Hogia Webbrapporter INNEHÅLLSFÖRTECKNING Systemkrav version 2013.x 3 Installation av IIS för Windows Server 2008 5 Nyinstallation av Hogia Webbrapporter 8 Installation och inloggning
Procedurell grottgenerator och eld i GLSL. Marcus Widegren
Procedurell grottgenerator och eld i GLSL Marcus Widegren 14 januari 2012 Innehåll 2 Sammanfattning Jag har gjort en enkel procedurell grottgenerator i GLSL och C++. För belysning används en fackla, som
Användarmanual för Hemsida
Användarmanual för Hemsida Sida 1 av 44 Inledning Detta dokument är en användarmanual för redigerbara hemsidor utvecklade av. Du kan själv, i ett wordliknande gränssnitt, enkelt uppdatera din egen hemsida
Introduktion till Adobe Acrobat Connect. I denna guide beskrivs hur man använder Adobe Connect samt användning av headset och webbkamera.
Introduktion till Adobe Acrobat Connect I denna guide beskrivs hur man använder Adobe Connect samt användning av headset och webbkamera. Innehåll Hur startar jag ett möte i Adobe Connect?... 3 Hur är ett
Realtid. eda040project2010 MANUAL. - Christoffer Olsson. - Daniel Lehtonen
Realtid eda040project2010 MANUAL dt08es7 dt08co0 dt08dm8 dt08dl4 - Emil Selinder - Christoffer Olsson - David Meyer - Daniel Lehtonen Innehållsförtäckning Introduktion Hur man kör igång programmet Proxy
Introduktion. Markera den gröna bocken. Skriv in URL:en http://www.ipoint.se. Klicka på knappen Platser.
LATHUND Introduktion Välkommen till vår interaktiva kursportal. Detta är en lathund för dig som ska utbilda dig med hjälp av ipoint-kurser. Instruktionerna gäller när du använder Internet Explorer 8.0
Föreningarnas nya sidmall. Version 4, 12.4.2016
Föreningarnas nya sidmall Version 4, 12.4.2016 Innehållsförteckning Föreningarnas nya sidmall... 1 Introduktion... 3 Sammanfattning... 3 Sidmallar och sidornas uppbyggnad... 4 Gamla sidmallen... 4 Nya
Microsoft Windows 8 Grunder
WINDOWS 8 GRUNDER Inledning Mål och förkunskaper...5 Pedagogiken...5 Hämta övningsfiler...6 Del 1 1 Introduktion till Windows Grundläggande om operativsystem...7 Starta och avsluta Windows 8...8 Välja
Real-time requirements for online games
Real-time requirements for online games En undersökning om protokoll, tekniker och metoder som datorspel använder för att kommunicera över Internet Victor Grape Milad Hemmati Linköpings universitet Linköping
Här är vinnaren av webbläsartestet
http://www.idg.se/2.1085/1.301554/hararvinnarenavwebblasartestet 20100312 09:33 PC för Alla: Här är vinnaren av webbläsartestet Av Hampe Engstedt Stort test Kampen i testets topp är stenhård. Men bara
INFORMATION FRÅN VITEC. Nyhetsbrev 3.56. Vitec Marknad/Webbplats/Kundservice
INFORMATION FRÅN VITEC VITEC Nyhetsbrev 3.56 Vitec Marknad/Webbplats/Kundservice VITEC Affärsområde Fastighet www.vitec.se infofastighet@vitec.se Växel 090-15 49 00 GÖTEBORG: REDEG 1 C, 426 77 V. FRÖLUNDA
Struktur och innehåll Laboration 2
Laborationsanvisning Struktur och innehåll Laboration 2 Författare: Johan Leitet Version: 2 Datum: 2011-08-08 Inledning Till skillnad från laboration 1 som mest handlade om att komma igång med arbetsmiljön
Användar Guide. är ett varumärke av Google Inc.
Användar Guide Android TM är ett varumärke av Google Inc. - 2 - Tack för att du köpt en MINIX NEO X5mini. Följ denna guide för att ställa in din enhet. MINIX NEO X5mini är en revolutionerande smart media
Systemkrav myschenker.se
Systemkrav myschenker.se Dessa systemkrav måste vara helt uppfyllda för att full funktionalitet ska kunna garanteras: PC med Windows XP, Vista eller Windows 7 Microsoft Internet Explorer 7 eller högre,
SCHOLA COMAI ELEV WEBBKALENDER / SCHEMA VERSION 1.1. [Skriv text]
20111206 SCHOLA COMAI WEBBKALENDER / SCHEMA VERSION 1.1 ELEV [Skriv text] Innehåll 1 Inledning... 3 1.1 Terminologi... 3 1.2 Teknisk kravspecifikation... 4 1.3 Behörigheter... 4 1.5 Start... 4 1.5.1 Grundinställning
9-1 Koordinatsystem och funktioner. Namn:
9- Koordinatsystem och funktioner. Namn: Inledning I det här kapitlet skall du lära dig vad ett koordinatsystem är och vilka egenskaper det har. I ett koordinatsystem kan man representera matematiska funktioner
ProReNata Journal. Snabbstart
ProReNata Journal Snabbstart 1 av 8 Välkommen till ProReNata Journal! Vi har lagt ner stor möda på att det här systemet ska bli ett tillförlitligt och enkelt verktyg som hjälper dig i din vardag. Den här
NMCC Sigma 8. Täby Friskola 8 Spets
NMCC Sigma 8 Täby Friskola 8 Spets Sverige 2016 1 Innehållsförteckning Innehållsförteckning... 1 Inledning... 2 Sambandet mellan figurens nummer och antalet små kuber... 3 Metod 1... 3 Metod 2... 4 Metod
Användarhandbok - SRS
2012 Användarhandbok - SRS Trond Morten Thorseth Gabrielle Hansen-Nygård John Birger Stav Knut Bjørkli Pascal Pein Sør-Trøndelag University College 17.04.2012 1 Innehåll Inledning.. 3 Teknisk översikt..
QlikView - Lathund för Flödesmodellen bas
QlikView - Lathund för Flödesmodellen bas För att komma åt en applikation i QlikView (hädanefter QV) krävs QV-pluginlicens samt behörighet till applikationen. Beställning av både licens och behörighet
RAPPORT: ATT UPPLEVA EN UTSTÄLLNING HELT I LJUD. FÖR UTSTÄLLNINGEN VÄRDEFULLT. BAKGRUND..s 2 METOD...s 2 RESULTAT...s 3 9 ANALYS AV WORKSHOP...
RAPPORT: ATT UPPLEVA EN UTSTÄLLNING HELT I LJUD. FÖR UTSTÄLLNINGEN VÄRDEFULLT BAKGRUND..s 2 METOD...s 2 RESULTAT.....s 3 9 ANALYS AV WORKSHOP...s 10 1 BAKGRUND Vi vill ta reda på hur en upplever en utställning
Innehåll. Välkommen till vår webbshop! Manual. www.plannet.fi
Innehåll ATT KOMMA IGÅNG Stöttade webbläsare 2 Inloggning 2 Startsidan 2 SÖKA EFTER PRODUKTER Navigeringsmenyn/katalogen 3 Söka efter en specifik produkt 3 SKICKA BESTÄLLNING Snabbinmatning 4 Varukorgen
ANVÄNDARMANUAL ANSLUTA TILL REGION HALLAND VIA CITRIX
ANVÄNDARMANUAL ANSLUTA TILL REGION HALLAND VIA CITRIX Dokumentet beskriver hur anställda på Region Halland, samt externa samarbetspartners, ansluter och arbetar på distans via Region Hallands Citrix lösning.
Användarguide för anslutning till Treserva och TES 2016-02-29. Användarguide för anslutning till Treserva och TES
Användarguide för anslutning till Treserva och TES Innehållsförteckning Systemkrav... 3 Symantec VIP Access... 4 För tvåfaktorsautentisering via mobiltelefon... 4 För två-faktorsautentisering via dator...
StoCKK Stockholm Center för Kommunikativt och Kognitivt stöd. Tips på timer-appar. Appar som hjälper dig hålla koll på tiden
StoCKK Stockholm Center för Kommunikativt och Kognitivt stöd Tips på timer-appar Appar som hjälper dig hålla koll på tiden Januari 2016 Timer-appar Många människor både vuxna och barn, personer med eller
Ta med dig kartan ut i skogen Ta med informationen till skogsskiftet i din telefon eller surfplatta. Du behöver inte ladda in några nya program. Du finner webbappen på adressen www.skogsstyrelsen.se/webbapp
Lathund för att arbeta med pdf
Lathund för att arbeta med pdf Till Riksstämman 2016 är alla handlingar digitala, närmare bestämt i PDF-format. I den här lathunden får du som använder en PC/Mac tips och råd om hur du lättast går tillväga
TDDB96 Projekt: Object priming med visuell stimuli
TDDB96 Projekt: Object priming med visuell stimuli Daniel Johansson danjo133@student.liu.se Rickard Jonsson ricjo400@student.liu.se 1. Sammanfattning Vad vi ville komma fram till i denna studie var huruvida
DT123G Nätverksanalys. Laboration II. Presentation av data. Lennart Franked Nayeb Maleki. 28 september 2015
DT123G Nätverksanalys Laboration II Presentation av data Lennart Franked Nayeb Maleki 28 september 2015 Innehåll 1 Introduktion 2 2 Genomförande 2 2.1 Baseline................................ 2 2.2 Presentation
Kom igång med din SMART Board. Det praktiska
Kom igång med din SMART Board Det praktiska Nu när ni fått er nya SMART Board på plats och ni vill börja använda den finns det ett par steg som man bör göra först för att få allt att fungera. I denna guide
JÄMFÖRELSE MELLAN 3D OCH 2D UTRITNINGAR FÖR GRAFER
Malskapada v Henrik JÄMFÖRELSE MELLAN 3D OCH 2D UTRITNINGAR FÖR GRAFER WebGL 3D jämförelse med HTML5 canvas 2D utritningar för att konstatera vilken metod som är snabbast. A COMPARISON BETWEEN 3D AND 2D
Föreläsning 3.1: Datastrukturer, en översikt
Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,
Studie av gränssnittsprototyp i projektet Webbklustring - användarupplevelsen
LINKÖPINGS UNIVERSITET Institutionen för Datavetenskap Studie av gränssnittsprototyp i projektet Webbklustring - användarupplevelsen Namn E-mail Evelina Rennes evere305@student.liu.se INNEHÅLL INNEHÅLL
Innehåll. WordWall låter dig som pedagog skapa övningar, aktiviteter och presentationer med några enkla klick.
Wordwall innebär ett nytt sätt att arbeta interaktivt i klassrummet. Genom bara några klick skapar du interaktiva aktiviteter. Aktiviteterna kan sedan omvandlas och återanvändas på ett sätt som tidigare
Projektpresentation Wapspel
Projektpresentation Wapspel Innehållsförteckning Projektets namn:...2 Uppdragsgivare:...2 Deltagare och ansvarsfördelning:...2 Adress till www-dokumentation:...2 Adress till WAP-spelet:...2 Adress till
JAVASCRIPT. Beteende
JAVASCRIPT Beteende OVERVIEW HTML Formulär JavaScript Syntax Events DOM Validering av fomulär WEBBPROGRAMMERING PÅ KLIENTSIDAN Skriptspråk som körs på klientsidan (klientskript) Koden exekveras i webbläsaren
Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker
Sid 1 Laborationer i kursmomentet Datoranvändning E1 http://www.etek.chalmers.se/~hallgren/eda/ : Mer om FrameMaker 1996, 1997 Magnus Bondesson 1998 och 99-09-22 Thomas Hallgren 1 Introduktion I Laboration
Dedikerad Server Vilket operativsystem ska jag välja? Är ni i startgroparna och ska beställa en dedikerad server eller en virtuell server?
Vilket operativsystem ska jag välja? Är ni i startgroparna och ska beställa en dedikerad server eller en virtuell server? Att välja operativsystem kan vara svårt. Det kan vara svårt att förstå vilka konsekvenser
Omtentamen i OOSU2, 21 augusti 2014
Omtentamen i OOSU2, 21 augusti 2014 Maxpoäng: 50. Betygsgränser: A: 90 % + B: 80 % + C: 70 % + D: 60 % + E: 50 % + Mindre än 50 % ger underkänd tentamen. Är det något du inte uppfattar så förklara hur
Procedurell renderingsmotor i Javascript och HTML5
Procedurell renderingsmotor i Javascript och HTML5 TNM084 Procedurella Metoder för bilder Gustav Strömberg - gusst250@student.liu.se http://gustavstromberg.se/sandbox/html5/shademe/texture_stop_final.html
För att skriva CSS-kod använder man sig av olika kommandon. Ett exempel på hur man kan skriva kod för att ändra textfärg kan vara:
Hemsida CSS Introduktion till Cascading Style Sheets (CSS) Detta är en mycket kort genomgång av CSS med exempel på hur sådan kod ska läsas och hur den kan användas på IdrottOnline-sidor. Är man ute efter
Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Bygg ett akvarium i Scratch
Digitalt lärande och programmering i klassrummet Introduktionsworkshop - Bygg ett akvarium i Scratch Introduktion Scratch är en programmeringsomgivning utvecklad av forskare på Massachusetts Institute
Android-app Användarmanual 1.0
Android-app Användarmanual 1.0 Fokus på tillgänglighet Med Android-appen kan alla som använder en smarttelefon eller surfplatta med Android få enkel tillgång till en bildtelefon. Med appen kan du sen ringa
På sjön 2.0 Intern Guide för Android
På sjön 2.0 Intern Guide för Android På sjön 2.0 - Guide 1 Översikt Meny Eniro sök GPS position/ Kartorientering Dashboard 2. Meny Innehåller följande funktioner: Min profil/båt information (se 2.1) Mina
Lära känna skrivbordet
Är det första gången du använder Windows 7? Den här versionen har mycket gemensamt med tidigare versioner av Windows, men du kan behöva hjälp med att få upp farten. Den här guiden innehåller praktisk information
LABORATIONSRAPPORT Säkerhet och Sårbarhet Laboration 1 Brandväggar
LABORATIONSRAPPORT Säkerhet och Sårbarhet Laboration 1 Laborant/er: Klass: Laborationsansvarig: Robin Cedermark Erik Gylemo Jimmy Johansson Oskar Löwendahl Jakob Åberg DD12 Martin Andersson Hans Ericsson
Företagande mot sporten
Företagande mot sporten Att driva företag och samtidigt fokusera på hoppsporten Fredrik Spetz 2015-01-06 Innehåll Inledning och syfte... 3 Metod... 4 Insamlad data från intervjuer... 5 Analys... 7 Slutsats...
WEBB12: Animering och multimedia för webben 7,5 hp H13 (31WAN1)
Kursrapport Animering och multimedia för webben WEBB12: Animering och multimedia för webben 7,5 hp H13 (31WAN1) Kursansvarig Daniel Birgersson och Jan Buse Medverkande Daniel Birgersson, Stefan Nilsson,
2016 PLATSANNONSER. Priser & format för platsannonsering i jobb & karriär & på dagensmedicin.se
2016 PLATSANNONSER Priser & format för platsannonsering i jobb & karriär & på dagensmedicin.se PLATSANNONSER Nå vårdens samtliga resurser, nyckelpersoner och studerande med din platsannons. dagensmedicin.se/lediga-jobb
Övningar i JavaScript del 2
Övningar i JavaScript del 2 Genm dessa övningar frtsätter intrduktinen av JavaScript. Vi tar nu upp if-satser ch lite mer m funktiner. Vi kmmer ckså in på tillämpningar sm att byta en bild på webbsidan
jobb & karriär PLATSANNONSER Priser & format för platsannonsering i jobb & karriär & på dagensmedicin.se
jobb & karriär 2016 PLATSANNONSER Priser & format för platsannonsering i jobb & karriär & på dagensmedicin.se PLATSANNONSER Nå vårdens samtliga resurser, nyckelpersoner och studerande med din platsannons.
UTBILDNINGSGUIDE FÖR FRAMGÅNGSRIK INLÄRNING
Silver Sidekicks Projekt UTBILDNINGSGUIDE FÖR FRAMGÅNGSRIK INLÄRNING Handbok för studerande 0. INNEHÅLL 0. Innehåll... 1 1. Introduktion... 2 2. Utbildnings utformning... 3 2.1. Övergripande målsättning...
ViTex snabbguide. 1. Inläsning till ViTex från scanner eller PDF Läs in text via scanner Läs in text från en JPEG-bild eller ett PDF-dokument
ViTex snabbguide 1. Inläsning till ViTex från scanner eller PDF Läs in text via scanner Läs in text från en JPEG-bild eller ett PDF-dokument 2. Uppläsning i ViTex Ikoner för uppläsning Läs upp enstaka
It-politik Fakta i korthet
På denna sida av datorn syns inte min dövblindhet. Tala i telefon är nästintill omöjligt, men tack vare hjälpprogram på min dator kan jag kommunicera obehindrat med min omvärld på annat sätt. Citat ur
Hjälp vid användning av Geodataportalen
1(12) Hjälp vid användning av Organisation Postadress Besöksadress Telefon E-post Internet Lantmäteriverket 801 82 Gävle Lantmäterigatan 2 0771-63 63 63 support@geodata.se www.lantmateriet.se 2(12) Denna
Concept Selection Chaper 7
Akademin för Innovation, Design och Teknik Concept Selection Chaper 7 KPP306 Produkt och processutveckling Grupp 2 Johannes Carlem Daniel Nordin Tommie Olsson 2012 02 28 Handledare: Rolf Lövgren Inledning