Har ägnat senaste veckan åt Trash utmaningen Mandelbrot algoritmen. >Det trodde jag inte men GetTickCount ljuger inte Njaaaaaaaaaa. det stämmer inte GetTickCount duger alldeles utmärkt. du kan sätta pixlar i vb precis lika snabbt som i delphi. Bra Roggan förstod att det skulle finnas något annat sätt att pixla. Kunde ju vara trevligt om du lägger upp Delphi koden i filarean också. >Optimerat till max (nästan) det finns ett steg till sk. "counter crawl" >det stämmer inte GetTickCount duger alldeles utmärkt. det är millisekunder det handlar om. >Q skrev :Kunde ju vara trevligt om du lägger upp Delphi koden i filarean också Till Niklas woho , nu har jag nästan en fungerande contour crawler. nu funkar det: mmmmmmmmmmm ? impad ! , vilket språk ? mmmmmmmmmmm ? impad ! , vilket språk ? Oki på de sven , vad har du för fart på din dator? Kul att du tycker att sånt här är kul :-) , Jag är facinerad. 1794 Mhz min c# version (sourcen kommer när jag optimerat lite till) Snälla du får skicka ett körbart prog om jag mfl skall bry sig. har bara vs.net på min dator så det blir lite svårt. Nääääääääääääääääähhhhhhhhhhhhhhäääääääääääää du > <b>62ms tar fraktalen nu på min 1.6 gghz</b> Vilket program refererar du till ?? om du inte tror på det så får du väll be någon som har .net installerat verifiera det då.. mmmmmmmmmmmmmmmmmm. > <b>Vilket program refererar du till ??</b> nu är iaf sourcen skickad till trash , så får väll han avgöra om den är rätt eller om något inte funkar som det ska... > <b>ang mängden RAM , .net är kännt för att allokera onödigt mycket minne för sina apps... det är inte mycket jag kan göra något åt...</b> Jag har lagt ut en .exe som tar det minsta jag behöver för VB och är körbar > <b>som jag har gjort i Programarkivet:Ny Snabb Vb-Mandelbrot VB</b> jag har inte vb runtime på min dator , nu vill jag se att din exe fungerar här.... Whooooooooooooops var har jag brytit mot Trash regler ? det är väll ingen som sagt att du brutit mot reglerna (?) Ok Roggan <det är väll ingen som sagt att du brutit mot reglerna (?) installera .net så funkar det. > <b>< fit.... R</b> >"det är ett jävla skit det där med DVD filmer , de funkar inte i min video..." > < fit.... R Börjar sura till. Förstår inte överhuvudtaget varför RikardD (keep out) tjaffsar i detta Forum Ett enkelt tips som kan ge ännu bättre prestanda är att flytta beräkningarna till en egen klass, helst förseglad. Klasser som inte ärver från MarshalByRefObject (som Form gör) kan optimeras hårdare. Här gav det ~ 25% bättre siffror. > <b>RickardD har du tillfört detta Forum något positivt ???</b> >Jodå, jag kan väldigt mycket! ett stycke standalone exe kommer här... (portade c# koden till c++) >> <b>>Jodå, jag kan väldigt mycket!</b> Sammanfattning: Mycke snack och lite verkstad. (gamalt populär uttryck) det går fortfarande bra att installera .net och köra c# fraktalen , som ser helt rätt ut... Skicka den till Trash så får han döma av. tjo. De va som fae..... De va som fae.....Mandelbrot Delphi !
Optimerat till max (nästan) det finns ett steg till sk. "counter crawl"
In-line Assembler ,där var mina kunskaper för mossiga,men den kommer ju att "spedda"
Har konstaterat att Vb 6 med rätt kompileringsalternativ är ett strå vassare Programarkivet:Ny Snabb Vb-Mandelbrot
än Delphi 3.0 och Delphi 5.0 . (Det trodde jag inte men GetTickCount ljuger inte)
Tiden för Vb 6 blev 830 ms Delphi 1300 ms
Det märkliga är att det är matematikalgoritmerna i Delphi som suger
att sedan sätta ut pixel i Form.Canvas går kvickt som en "höna skiter"
Så det paradoxala blir att skriva matte i VB och sätta pixel i Delphi.
Trots många års inre motstånd , så blir det nu C++ jag lägger krutet på.
Obs ! Jag gjorde nu en sk "pudel" :-)Sv: Mandelbrot Delphi !
GetTickCount är inte alls speciellt exakt. Du kan ju överväga att använda QueryPerformanceCounter istället.
MSSv: Mandelbrot Delphi !
det är millisekunder det handlar om. QueryPerformanceCounter suger kraft ur
det som skall uträknas, Mandelbrotalgoritmen tål inga störningar om den
skall göra sitt bästa.
The GetTickCount function retrieves the number of milliseconds that have elapsed since Windows was started.Sv: Mandelbrot Delphi !
kolla på "DIB sections"
apiet "createDIBsection"
(exempel finns i min gamla 3d phongshader i vb6 http://www.sourcecode4free.com/files/codeupload2.zip)
då kan du sätta pixlar i en array av bytes , och sedan blitta hela arrayen till skärmen.
det är exakt så depphi gör.
get/setpixel är långsammt som skit..
btw.
det heter ContourCrawling , och inte CouterCrawling .
det är en algoritm som krälar runt konturerna på ett lager i en fraktal och sedan fyller varje lager med en viss färg..
//RogerSv: Mandelbrot Delphi !
Oki på ContoureCrawl,läste slarvigt,nu fick det en vettig mening.
Återkommer med resultat av optimering.Sv: Mandelbrot Delphi !
Sv: Mandelbrot Delphi !
Tja... har du inte med Contour crawling, så har du missat den största biten. Det du optimerar bort där är alla (nåja.. de flesta) iterationer som går till max.
Sen är jag fortfarande irriterad över att ni har satt "Cut-off value" till 100. Det är en specifik konstant som ska vara 2. Allt annat är rent slöseri.Sv: Mandelbrot Delphi !
GetTickCount har en lägsta upplösning på sisådär 10 ms, vilket jag tycker är för dåligt om den totala tiden är några hundra msek.
>QueryPerformanceCounter suger kraft ur det som skall uträknas,
Var har du fått det ifrån, och framför allt har du nått bevis för det påståendet?
Rimligtvis så anropas bara funktionen en gång före och en gång efter dina beräkningar, hur menar du då att den skulle "suga kraft" under tiden som din mandelbrotalgoritm körs?
Har du sett http://support.microsoft.com/?kbid=172338?
MSSv: Mandelbrot Delphi !
Jag slutade att jobba på den när jag såg att algoritmen drog tre ggr så lång
tid som VB .exefilen. körde den som en Delphi dll.
Direkt kopia av VBkoden.
Start := GetTickCount ;
nx := 639 ;
ny := 479 ;
//algoritmdata
p1 := -2.25 ;
p2 := 0.75 ;
q1 := -1.5 ;
q2 := 1.5 ;
MaxColor := 256 ;
iy := 0 ;
Repeat
cy := (q1 + iy * (q2 - q1) / (ny)) ;
inc(iy) ;
ix := 0 ;
Repeat
cx := (p1 + ix * (p2 - p1) / (nx)) ;
inc(ix) ;
X := 0 ;
Y := 0 ;
zx := 0 ;
zy := 0 ;
m := 0 ;
Repeat
y:= 2 * x * y + cy ;
x:= zx - zy + cx ;
zx:= x * x ;
zy:= y * y ;
inc(m) ;
Until (m > MaxColor)
Or ((zx + zy)>100) ;
inc(byteNr) ;// adress till pixel
picArray[byteNr] := m Mod 256 ;// Color id Palett
Until ix > 640 ;
Until iy > 240 ;
//**************** Rita Canvas *************
>Rimligtvis så anropas bara funktionen en gång före och en gång efter dina.
beräkningar, hur menar du då att den skulle "suga kraft" under tiden som din
mandelbrotalgoritm körs?
Ja det är riktigt,det är därför jag använder GetTickCount.
Om jag nu kommer ihåg rätt så måste jag köra QueryPerformanceCounter
i en processugande loop för att kunna mäta ett tidsförlopp.
Citat:"QueryPerformanceCounter QueryPerformanceFrequency same"
"same" syftar väl på raden ovanför dvs 10 ms
Ang GetTickCount , om det nu är som du skriver(vilket jag betvivlar)
så är 10 ms hit och dit ointressant i mitt Mandelbrotexperiment.
Om det blir 810 ms eller 800 spelar inte så stor roll för att mäta optimeringen.
Vore väldigt glad om jag kom ner i sådana tider där 10 ms var avgörande ;-)
Själva algoritmen är en väldigt bra benchmark för att kolla vad min dator
verkligen går för,processor speed mm. Körde på en gammal Dell 200 Mhz
där blev tiderna * 4.
Sven som har mani på optimering och komplicerade algoritmer(utan att förstå allt).Sv: Mandelbrot Delphi !
>Sen är jag fortfarande irriterad över att ni har satt "Cut-off value" till 100.
Det är en specifik konstant som ska vara 2
Egentlige 4 för att vara hundra på att escapepointen uppnåtts.
Men Niklas du har både rätt och fel.
Bilden kommer att se annorlunda ut beroende på vilken cut off du väljer.
Nu gav Trash riktlinjen att den skulle se ut som en referens bild, då blir det 100.
Bilden blir annorlunda men tiderna ~ de samma
Du kan testa att ändra i min VB algoritm så ser du skillnaden.
Ps
Skulle vara intressant att se en lösning med Contoure Crawl i Vb eller Delphi
Jag klarar inte att omfatta denna algoritm. Har bara sett den i C.
DSSv: Mandelbrot Delphi !
problemet är ju nu att jag får någon form av polygon(er) (som har samma form som de djupaste fälten i fraktalen)
för att kunna dra någon nytta av detta så måste jag ju nu kunna fylla de polygonerna så att fraktalgeneratorn vet var den INTE ska rita/räkna...
http://www.sourcecode4free.com/fraktal.gif
//RogerSv: Mandelbrot Delphi !
www.sourcecode4free.com/fraktal2.gif
dock blev den slöare än vad den var när den räknade helt vanligt :P
//RogerSv: Mandelbrot Delphi !
Jag tror på en lösning där man kollar i arrayen om nästkommande pixel
har samma värde som det föregående osv. nästa pixel, tills man hittar
den första som avviker. Då ritar man en Line mellan dessa lika,enskillda PSet:ar man.
Trodde att Crawl betydde detta, dvs man "krälar" längs arrayen.
Du kommer aldrig ifrån att du måste rita , dvs Dib och Bmp BitBlt trix
funkar inte förrän du ritat den första halvan.Sv: Mandelbrot Delphi !
C# , dock verkar c# vara redigt slött på rekursiva anrop...
och därför blir denna lösningen slöare än att beräkna allt helt vanligt..
----
nej , du behöver inte pset'ta , om du kollar det 3dexempel jag länkade till förut så ser du.
man skapar en array med width*height*3 bytes (eller *4 om det är argb format)
sedan skapar man en dibsection som knyts till din array
efter det så är det bara att rita i arrayen
när allt är färdigt så blittar man sin dibsection till särmen..
---
crawl betyder att du krälar utefter konturen på ett "lager" i fraktalen..
i mitt fall så kör jag bara efter det djupaste lagret.
själva krälandet resulterar i ett avtryck (det röda) , som jag sedan kan använda för att fylla de djupa delarna av fraktalen (dvs. de bitarna kan man skippa att beräkna)
så med contour crawling så behöver man bara beräkna de yttersta djupa pixlarna istället för alla djupa pixlar..
//RogerSv: Mandelbrot Delphi !
Skall kolla ditt exempel igen. fick en massa felmeddelande om Typ vec. Public Private.
Så jag orkade ine felsöka.
Sen tror jag inte att du kan rita bilden som Trash vill med "kräla".Sv: Mandelbrot Delphi !
vore kul att testa din fraktal här och se hur fort det går.
//RogerSv: Mandelbrot Delphi !
Sv: Mandelbrot Delphi !
http://www.compona.com/fraktaler.zip
"Fast C# Mandelbrot.exe" är den snabba versionen
"MandelbrotDebugVer.exe" är en debugver som visar hur contourcrawlern fungerar.
ps.
detta kräver .net framework 1.0
--
jag använder bara Now.Tick för att mäta tiden , så den är inte så exakt..
tror den mäter i steg om 13 ms eller något i den stilen...
--
bilden är 256 färger (i en 24 bit bitmap) , contour crawlern är nu per pixel korrekt.
--
det kan vara värt att klicka både en och två ggr på knappen på formuläret för att få en bra tid , eftersom c# jit kompilerar vid första körningen..
//RogerSv: Mandelbrot Delphi !
Tänker inte ladda in något .net shit, förrän jag vet att jag vill ha det på min dator.
Där är Delphi gooood , StandAlone är ordet.Sv: Mandelbrot Delphi !
hur som.
62ms tar fraktalen nu på min 1.6 gghz
//RogerSv: Mandelbrot Delphi !
Det tror jag inte på.
Obs den skall se ut likadan som Trash , och min bild ser ut.
Du och andra ser vilket djä... bullshit det blir när man inte kan utväxla
en enkel .exefil utan att man måste "hora" med MicroSoft.
Jag kommer inte inom överskådlig tid ta hem något MS 20 mb .net "shit"
Jag sprider detta budskap inom mitt nätverk, med hopp om att dom tar ställning.Sv: Mandelbrot Delphi !
Klickar massor av gånger, och hamnar alltid mellan 60-70 ms på min AMD Athlon 1000 MHz.
Däremot så tar den ~7.8 MByte RAM när den är nystartad och ~14 MByte RAM när jag har kört den ett par gånger! På tok för mycket för en sådan (vad jag antar) liten applikation!Sv: Mandelbrot Delphi !
Det är i princip fel att komma upp till denna speed om du skall härma den bild
som Trash har givet förutsättningar för.
Du vill bara vara till lags , och du gjorde bort dig. Vi har namn för "sånna"
Bilden skall se ut som de givna förutsättningarna !!!!!!!!!!!!!!!!!!!!!!!!!!!!Sv: Mandelbrot Delphi !
trash sa absolut inget om att man inte fick göra sitt bidrag i c#.
http://www.compona.com/fraktal.gif
där är en screenshot , den övre är exakt så som den serut i appen.
och den nedre samma , fast med ändrad kontrast och inverterad i photoshop så att man kan se att den ritar med alla färgerna , sftersom det det inte syns helt klart på den övre...
//Roger
ps.
contour crawlingen gjorde en ganska markant skillnad i farten , gick från 264 ms till 62 ms..
ang mängden RAM , .net är kännt för att allokera onödigt mycket minne för sina apps... det är inte mycket jag kan göra något åt...
har dock 2st 640x480 arrayer (en int och en byte) för att kontrollera vart contour crawlern varit. så de tar väll sin beskärda del minne... dock fanns det inga restriktioner på minnesanvändningen heller i beskrivningen av tävlingen..Sv: Mandelbrot Delphi !
Som jag skrev innan det är i princip omöjligt att göra detta i 640 * 480
med den processokraft Ni beskriver.
C# är givetvis helt ok , har stor respekt för all C dialekter.
Ok presenter en .exe som ritar samma bild som jag har gjort i Programarkivet:Ny Snabb Vb-Mandelbrot VB
Så skall jag böja ner mitt huvud . Den skall vara körbar på vilken
dator jag än installerar den påSv: Mandelbrot Delphi !
Håller med om att jag borde ha skrivit ut det.
Roggans Fast C# Mandelbrot.exe som finns i <URL:http://www.compona.com/fraktaler.zip> som är skriven i C#.
Länkar på resultatet finns här:
<URL:http://www.dehlin.nu/rickard/owa/mandelbrot1.gif>
<URL:http://www.dehlin.nu/rickard/owa/mandelbrot2.gif>
> <b>Det är i princip fel att komma upp till denna speed om du skall härma den bild
som Trash har givet förutsättningar för.</b>
Det vet jag inget om! Jag har bara kört Roggans program och ser vad som står där. Om det är rätt eller fel vet jag inte, den diskussionen får du ju ta med Roggan och inte med mig!
> <b>Du vill bara vara till lags , och du gjorde bort dig.</b>
Är du dum på riktigt? Jag har kört en mjukvara som Roggan har gjort, och presenterat resultatet! Bara för att du inte lyckas göra något snabbare i dina favoritspråk än Roggan i ditt hatobjekt så är det inget som har med mig att göra!
> <b>Vi har namn för "sånna"</b>
Och definitionen av dig brukar alltid sluta med "den otrevligaste på Pellesoft". Då vet folk vem man menar!
> <b>Bilden skall se ut som de givna förutsättningarna</b>
Varför säger du det till mig? Säg det till den som har utvecklat applikationen istället!Sv: Mandelbrot Delphi !
nu finns även sourcen ute:
http://www.compona.com/mandelbrot.zip
så de som vill får gärna testa eländet om ni inte tror att det är på riktigt eller att det skulle vara en bild/precalcat.
obs. kompilera i releaseläge och starta exefilen UTANFÖR vs.net , annars krokar vs.net på massa kontroll tjaffs som slöartill det , även fast det är i release läge..
//RogerSv: Mandelbrot Delphi !
Min absoluta förhoppning är att du har fel på den punkten, men tyvärr så tror jag dig!
> <b>dock fanns det inga restriktioner på minnesanvändningen heller i beskrivningen av tävlingen..</b>
Det är jag helt medveten om! Det var bara ett sidospår om en nackdel med C#, eller .NET, i mina ögon!Sv: Mandelbrot Delphi !
för de flesta Windowsanvändare. Msvbm....6 .dll osv det är för mycket bara detta.
Nu vill jag se en .exe som gör det samma och skall vara körbar för
min svärmor 71 som är intresserad av data. .
Den skall vara exakt i all detaljer. Hon har kollat min version och tycker
att jag skall ställa ut den i en konstutställning. :-) *LOL*Sv: Mandelbrot Delphi !
~1800 ms på en AMD 1000 MHz!
> <b>Den skall vara körbar på vilken dator jag än installerar den på</b>
Mig veterligen så är det Trash: och inte du som definierar reglerna för denna "tävling". Håll dig till Trashs regler istället för att ändra förutsättningarna när de inte passar dig!Sv: Mandelbrot Delphi !
ps.
eftersom jag kan både vb6 , c++ och asm så kan jag ju kanske göra en c++ version med inline asm om det skulle krävas.
....men den lär ju knappast bli långsammare...
//RogerSv: Mandelbrot Delphi !
Har jag gjort det så skall jag vika mig , men var har jag gjort det ??????????Sv: Mandelbrot Delphi !
däremot att du försöker ändra dem , att man nu inte får göra apps i .net tex...
men men..Sv: Mandelbrot Delphi !
Jag vill kunna köra en .exe fil på min dator som visar samma bild som Trash
började sin utmaning med. Skall med nöje kolla , lägg upp den i filarean
Obs glöm inte att ta bort den om det blir "blajs".Sv: Mandelbrot Delphi !
< fit.... R skrev Håll dig till Trashs regler istället för att ändra förutsättningarna när de inte passar dig!
Phuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu.......................
Ok Roggan dej är det kul att utbyta tankar med.Har haft stort utbyte av dina ideer.Sv: Mandelbrot Delphi !
det är ju som om jag skulle säga att "jag har windows 3.11 jag kan inte köra ditt 32bitars vb6 progg , nu får du ändra din kod.."
funkar inte nya saker på det systemet man har så är man så illa tvungen att uppgradera om man vill kunna ta del av det nya...
---
"det är ett jävla skit det där med DVD filmer , de funkar inte i min video..."
//RogerSv: Mandelbrot Delphi !
Tack för den du! Hur vore det om du tog tag i ditt beteende mot folk?Sv: Mandelbrot Delphi !
*LOL* Nix min vän , den liknelsen går inte hem, hade det varit ett sånt
genombrott, så skulle jag ha hört talas om det.
Kul att gagga med dig , "no hard feelings"
Sorgligt men du har förmodligen hört det förr !! R "keep out" du platsar inteSv: Mandelbrot Delphi !
>Tack för den du! Hur vore det om du tog tag i ditt beteende mot folk?
*LOL* socialflummeri kan jag inget om. Det finns säkert Forum där du
kan utveckla beteendforskning inom IT och hur man beter sig i ett fritt Forum.Sv: Mandelbrot Delphi !
RickardD har du tillfört detta Forum något positivt ???
Kan du överhuvudtaget något om Delphi ???????
Till RikardD "Va faen gör du i detta Forum " Du kan inget här heller !
Hur många kan köra min vanliga .exe på sin dator ?????
Hur många kan kör de andras .exe på sin dator.
Jag har "horat" genom att ta in Msvb...60 dll i mitt bibli.
Kör mitt .exe och slå tiden , så får jag respekt.
Min svärmor 82 vill se resultatet, hon tycker att den bild jag gjort är ganska braSv: Mandelbrot Delphi !
MSSv: Mandelbrot Delphi !
Om du tittar på min första postning i denna tråden så handlar det om att jag kör Roggans mjukvara på min AMD för att visa hur mjukvaran presterar på en sådan processor. Varken mer eller mindre. Att sedan inte du trodde på resultatet och skulle börja tjafsa bryr jag mig inte det minsta om! Backa tillbaks i tråden och se vem det var jag postade till och fråga dig själv varför du skulle lägga din näsa i blöt!
> <b>Kan du överhuvudtaget något om Delphi ???????</b>
Jag kan en del om hur Delphi förhåller sig till andra språk. Men jag kan inte programmera i Delphi nej.
> <b>Till RikardD "Va faen gör du i detta Forum </b>
Jag läser de flesta forum för att lära mig nya saker hela tiden! Det är enligt mig en bra anledning att vara i ett forum!
> <b>Du kan inget här heller !</b>
Jodå, jag kan väldigt mycket! Dock inte inom programering. Och jag är inte heller någon som påstår att jag kan något när jag inte gör det! Men jag har inte heller uttalat mig om programering i denna tråden! Jag har enbart talat om hur Roggans mjukvara preseterar på min PC.
Precis som att folk i överflöd har bett dig att skriva ordentligt så behöver du börja läsa ordentligt och inte lägga in en massa egna tolkningar i vad andra skriver! Håll dig till vad som står i inläggen istället!Sv: Mandelbrot Delphi !
Fattar fortfarande inte varför din signatur dyker upp i Delphi ?????
Jag vänder blicken inåt, så gör man när det finns "tossingar" i byn.Sv: Mandelbrot Delphi !
(faktum är att det blev faktiskt långsammare än i ren c# , fast det finns säkert massa kul params man kan ställa in hu c++ ska optimeras...)
får mellan 65 och 72 ms i c++ versionen...
http://www.compona.com/mandelbrot.exe
[edit]
enligt trash så blir den _helt_ svart-vit på hans dator.
så jag antar att det är DIBbandet som inte är 100% ok...
det är hårdkodat till 32bitars rgb...
[/edit]
[edit igen]
denna ritar visst inte heller 100% som den ska ... det blir en lång vit tagg i början på fraktalen...
c# fraktalen är bättre...
[/edit]
//RogerSv: Mandelbrot Delphi !
> <b>Fattar fortfarande inte varför din signatur dyker upp i Delphi ?????</b>
Det var väldigt länge sedan jag fick klart mig för att du har svårt för att förstå saker. Men om vi tar det från början; du postade en fråga, alltså svarade jag. Det är helt enkelt inte svårare än så SvenPon:
Sluta att fråga, sluta att ta till okvädesord så ska du se att allt lungar sig så att du slipper sitta och bli orolig!Sv: Mandelbrot Delphi !
I detta experiment , får användarna döma. Jag har gjort ett exempel
Programarkivet:Ny Snabb Vb-Mandelbrot den går att köra. ! på alla PC. (som har msvb ...6.. : -))installerad
Kom igen gör ett exempel som ritar en exakt bild på samma tid !!!!
Som min Mor med win98 kan hämta hem och kolla.(hon är duktig på PC)Sv: Mandelbrot Delphi !
//RogerSv: Mandelbrot Delphi !
Obs man skall kunna se koden och var du mäter tiden.
Det är ju enkelt att lägga allt i minnet och sedan bara visa slutresultatet.
Iofs så betvivlar jag inte C# slår dom tider jag kan fixa med Vb och Delphi.
Men 62 ms tror jag helt enkelt inte på, du borde hamna på sådär 300 msSv: Mandelbrot Delphi !
nu har jag moddat DIN kod.
(den i filarkivet)
www.sourcecode4free.com/fastsven.zip
tog bort setpixel eländet och gjorde så den använder dibbar istället..
nu tar den ganska exakt 250 ms på min 800mhz här
och det är ganska exakt lika snabbt som c# koden tog på denna datorn innan jag gjorde contour crawlern...
ps.
man ska nog ha kod för både 24 och 32 bitars färg om dibben ska vara 100% korrekt.
annars kan den strula på vissa burkar...
//RogerSv: Mandelbrot Delphi !
Tar 181 ms på min maskin färg, där ser man , jag böjer min nacke till en bugning.
De var inte dåligt. Jag är störtimpad. Själv kar jag kommit ner till ca 300 ms
genom att använda API LineTo när flera(många)pixel i rad har samma värde.