#### B+

• Guest
« on: May 25, 2017, 05:28:46 PM »

I say it is crazy addictive ear worm started at Naalaa because no built-in circle drawing at all, which is maddening for graphics crazed hobby programmers.

Here is my latest filled circle algo in SmallBASIC time is 40% of my last best filled circle algo. Results are more dramatic for larger radii.
Code: [Select]
`'new circle algo test.bas for SmallBASIC 0.12.9 (B+=MGA) 2017-05-25 post' MIT license info below for fCirc2 algoconst sqr12 = sqr(.5)radius = 350ox = xmax/2oy = ymax/2t0 = ticksfor i = 1 to 100  color (i mod 15 + 1)  fCirc ox, oy, radiusnextt = ticks - t0? t;" ms to draw 100 of these filled circles (r =350) my old fastest algo."delay 4000t0 = ticksfor i = 1 to 100  color (i mod 15 + 1)  fCirc2 ox, oy, radiusnextt = ticks - t0? t;" ms for same circle test with new fastest algo."pausesub fCirc(xx, yy, r)r2 = r * rfor x = 0 to r  y = sqr(r2-x*x)  line xx-x, yy+y, xx-x, yy-y  line xx+x, yy+y, xx+x, yy-ynextend subsub fCirc2(xx, yy, r)  'const sqr12 = sqr(.5) 'in main const section  r2 = r * r  sqr12r = sqr12*r  rect xx-sqr12r, yy-sqr12r, xx + sqr12r, yy+sqr12r filled   for x = 0 to sqr12r    y = sqr(r2-x*x)    line xx-x, yy+sqr12r, xx-x, yy+y    line xx-x, yy-sqr12r, xx-x, yy-y    line xx+x, yy+sqr12r, xx+x, yy+y    line xx+x, yy-sqr12r, xx+x, yy-y  next  for x = sqr12*r to r    y = sqr(r2-x*x)    line xx-x, yy+y, xx-x, yy-y    line xx+x, yy+y, xx+x, yy-y  nextend sub################################################################################### The MIT License (MIT)# Copyright (c) 2016-2017 B+=MGA## Permission is hereby granted, free of charge, to any person obtaining a copy# of this software and associated documentation files (the "Software"), to deal# in the Software without restriction, including without limitation the rights# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell# copies of the Software, and to permit persons to whom the Software is# furnished to do so, subject to the following conditions:## The above copyright notice and this permission notice shall be included in all# copies or substantial portions of the Software.## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE# SOFTWARE.##################################################################################`
(see attached)

Hi Marcus,

I would have posted in Naalaa a translation of SmallBASIC code but the madness is how Naalaa does math eg floats and integers, crazy confusing for a language that claims not to be advanced.
« Last Edit: May 25, 2017, 05:35:32 PM by B+ »

#### jj2007

• Guest
##### Re: Method or Madness ;-))
« Reply #1 on: May 26, 2017, 12:51:54 PM »
In my experience, the time to draw circles depends exclusively on what the graphics card can deliver. Calculating sinuses costs cycles, of course, but the filling and drawing costs much more.

Do you have an explanation why you see such big differences? Do you have timings?

Attached an example that fills a window with a hundred circles. Here is the source:

include \masm32\MasmBasic\Res\MbGui.asm      ; MasmBasic
Dim Pens() As DWORD
Dim Brushes() As DWORD
For_ ct=0 To 99
MakePen Pens(ct), Rand(-1), width 9      ; use random colours
MakeBrush Brushes(ct), Rand(-1)      ; also for the fill
Next
MakePath      123, Circle(200)      ; radius as n/1000 of window rect
SetGlobals posX, posY, pen, brush
Event Paint
NanoTimer()
For_ ecx=0 To 99      ; ID            pen/brush                  x            y            scaleX            scaleY
GuiDraw 123, <Pens(ecx)/Brushes(ecx)>, <Rand(500)>, <Rand(550)>, <Rand(800)>, <Rand(800)>
Next
GuiText 100.0-220, 100.0-22, Str\$("%i ms (resize window to refresh)", NanoTimer(ms))      ; ca 20ms on a Core i5
GuiEnd

#### B+

• Guest
##### Re: Method or Madness ;-))
« Reply #2 on: May 26, 2017, 05:15:38 PM »
Results are different on different systems of course, that is why we should be comparing one algo versus another.

In SmallBASIC there IS a significant speed improvement for large radii circles (attached my results with SB).

Johnno has just reported that on SdlBasic the new algo takes 3 times longer! I must check that, I do seem to remember getting worse results as well, maybe I still have my test code.

I do want to make clear we are NOT filling circles with PAINT because that coloring method fails when overlapping filled circles over all sorts of previous drawn items.

Of course SB's built-in circle fill blows away these numbers but some BASIC's do not have built-in Circle fills Naalaa and QB64 for example.
« Last Edit: May 26, 2017, 05:19:08 PM by B+ »

#### B+

• Guest
##### Re: Method or Madness ;-))
« Reply #3 on: May 26, 2017, 08:51:43 PM »
I have now translated to SdlBasic the SmallBASIC test code and I get same fine results!
Code: [Select]
`' New circle algo test.sdlbas (B+=MGA) 2017-05-26' Johnno has reported 3 times slower not faster than SmallBASIC results' Here is my code check from' new circle algo test.bas for SmallBASIC 0.12.9 (B+=MGA) 2017-05-25 post' MIT license info below for fCirc2 algooption qbasicconst xmax = 1200const ymax = 700setdisplay(xmax, ymax, 32, 1)setcaption("New circle algo test For SdlBasic")const sqr12 = sqr(.5)radius = 350ox = xmax/2oy = ymax/2t0 = ticksfor i = 1 to 100  ink(rgb(rnd(255), rnd(255), rnd(255)))  fCirc( ox, oy, radius)nextt = ticks - t0text(10, 20, 16, Str( t) + " ms to draw 100 of these filled circles (r =350) my old fastest algo.")wait( 4000)t0 = ticksfor i = 1 to 100  ink(rgb(rnd(255), rnd(255), rnd(255)))  fCirc2(ox, oy, radius)nextt = ticks - t0text(10, 40, 16, str(t) + " ms for same circle test with new fastest algo.")waitkey(32)endsub fCirc(xx, yy, r)r2 = r * rfor x = 0 to r  y = sqr(r2-x*x)  line( xx-x, yy+y, xx-x, yy-y)  line( xx+x, yy+y, xx+x, yy-y)nextend subsub fCirc2(xx, yy, r)  'const sqr12 = sqr(.5) 'in main const section  r2 = r * r  sqr12r = sqr12*r  bar( xx-sqr12r, yy-sqr12r, xx + sqr12r, yy+sqr12r)  for x = 0 to sqr12r    y = sqr(r2-x*x)    line( xx-x, yy+sqr12r, xx-x, yy+y)    line( xx-x, yy-sqr12r, xx-x, yy-y)    line( xx+x, yy+sqr12r, xx+x, yy+y)    line( xx+x, yy-sqr12r, xx+x, yy-y)  next  for x = sqr12*r to r    y = sqr(r2-x*x)    line(xx-x, yy+y, xx-x, yy-y)    line( xx+x, yy+y, xx+x, yy-y)  nextend sub'##################################################################################''# The MIT License (MIT)'# Copyright (c) 2016-2017 B+=MGA'#'# Permission is hereby granted, free of charge, to any person obtaining a copy'# of this software and associated documentation files (the "Software"), to deal'# in the Software without restriction, including without limitation the rights'# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell'# copies of the Software, and to permit persons to whom the Software is'# furnished to do so, subject to the following conditions:'#'# The above copyright notice and this permission notice shall be included in all'# copies or substantial portions of the Software.'#'# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR'# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,'# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE'# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER'# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,'# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE'# SOFTWARE.''##################################################################################`
I have to say, in most cases my graphics translations to SdlBasic run faster than in SmallBASIC which is why I am a fan of SdlBasic (plus you can do allot more with sound and graphics!) So here we have an unusual case where SmallBASIC is running faster than SdlBasic. Believe me this is rare.

« Last Edit: May 26, 2017, 11:02:36 PM by B+ »

#### B+

• Guest
##### Re: Method or Madness ;-))
« Reply #4 on: May 27, 2017, 08:13:29 PM »
Andy Amaya has brought to my attention Bresenham which saves time by avoiding SQR so here are 3 circle algo's and results in SmallBASIC.

Code: [Select]
`'3 fill circle tests.bas for SmallBASIC 0.12.9 (B+=MGA) 2017-05-27 post' MIT license info below for fCirc2 algo' Andy Amaya has brought to my attention the Bresenham Circle Fill ago' from Andy Amaya at The QB64 Edition post is in Blitz ';Source:';    http://homepage.smc.edu/kennedy_john/papers.htm';    http://homepage.smc.edu/kennedy_john/bcircle.pdf'';    A Fast Bresenham Type Algorithm For Drawing Circles';    by';    John Kennedy'';    Blitzplus/Blitz 3D port by Andy_A' Thanks Andy! best one yet! see fCircB(x, y, r)const sqr12 = sqr(.5)radius = 350ox = xmax/2oy = ymax/2t0 = ticksfor i = 1 to 100  color (i mod 15 + 1)  fCirc ox, oy, radiusnextt = ticks - t0? t;" ms to draw 100 of these filled circles (r =350) my old fastest algo."delay 4000t0 = ticksfor i = 1 to 100  color (i mod 15 + 1)  fCirc2 ox, oy, radiusnextt = ticks - t0? t;" ms for same circle test with new fastest algo."delay 4000t0 = ticksfor i = 1 to 100  color (i mod 15 + 1)  fCircB ox, oy, radiusnextt = ticks - t0? t;" ms for same circle test with Bresenham algo."pausesub fCirc(xx, yy, r)  local r2, x, y  r2 = r * r  for x = 0 to r    y = sqr(r2-x*x)    line xx-x, yy+y, xx-x, yy-y    line xx+x, yy+y, xx+x, yy-y  nextend subsub fCirc2(xx, yy, r)  local r2, sqr12r, x, y  'const sqr12 = sqr(.5) 'in main const section  r2 = r * r  sqr12r = sqr12*r  rect xx-sqr12r, yy-sqr12r, xx + sqr12r, yy+sqr12r filled   for x = 0 to sqr12r    y = sqr(r2-x*x)    line xx-x, yy+sqr12r, xx-x, yy+y    line xx-x, yy-sqr12r, xx-x, yy-y    line xx+x, yy+sqr12r, xx+x, yy+y    line xx+x, yy-sqr12r, xx+x, yy-y  next  for x = sqr12*r to r    y = sqr(r2-x*x)    line xx-x, yy+y, xx-x, yy-y    line xx+x, yy+y, xx+x, yy-y  nextend sub'Bresenham see Source notes abovesub fCircB(CX, CY, R) 'thanks Andy Amaya for heads up  Local X, Y  Local XChange, YChange  Local RadiusError    X = R  Y = 0  XChange = 1 - (R Lshift 1)  YChange = 1  RadiusError = 0    While  X >= Y          Line CX-X, CY+Y, CX+X, CY+Y        ';used calc'd values to draw    Line CX-X, CY-Y, CX+X, CY-Y        ';scan lines from points    Line CX-Y, CY+X, CX+Y, CY+X        ';in opposite octants    Line CX-Y, CY-X, CX+Y, CY-X    Y = Y + 1    RadiusError = RadiusError + YChange    YChange = YChange + 2        if (RadiusError Lshift 1) + XChange > 0 then      X = X - 1      RadiusError = RadiusError + XChange      XChange = XChange + 2    End If  WendEnd################################################################################### The MIT License (MIT)# Copyright (c) 2016-2017 B+=MGA## Permission is hereby granted, free of charge, to any person obtaining a copy# of this software and associated documentation files (the "Software"), to deal# in the Software without restriction, including without limitation the rights# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell# copies of the Software, and to permit persons to whom the Software is# furnished to do so, subject to the following conditions:## The above copyright notice and this permission notice shall be included in all# copies or substantial portions of the Software.## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE# SOFTWARE.##################################################################################`
Thanks Andy Amaya best time yet!

#### Rick3137

• Guest
##### Re: Method or Madness ;-))
« Reply #5 on: May 27, 2017, 09:23:12 PM »
The speed of Small Basic for drawing circles, was unexpected.

#### jj2007

• Guest
##### Re: Method or Madness ;-))
« Reply #6 on: May 28, 2017, 03:54:00 PM »
The speed of Small Basic for drawing circles, was unexpected.

Your 156 ms on top of the image are realistic. This is roughly what I get on my core i5 with the attached code, which simply uses the built-in Windows function GdipAddPathEllipse. What is your cpu?

Note that GdipAddPathEllipse is a slow Gdi+ function. The standard GDI Ellipse function is about ten times as fast.
« Last Edit: May 28, 2017, 04:00:58 PM by jj2007 »

#### B+

• Guest
##### Re: Method or Madness ;-))
« Reply #7 on: May 28, 2017, 04:27:42 PM »
Rick your numbers are shockingly weird to me, wow!

For me SdlBasic circle fill tests ran a bit slower which was surprising because usually SB graphics translations run faster in SdlBasic.

But Rick you have SB 10 times faster than I and SdlBasic many times slower??? yikes, that is crazy different and you use Windows 10 as I recall, maybe your much newer machine explains difference (but why would SdlBasic be so much slower than my results?)

BTW the Bresenham algo in Sdlbasic did not show improved results over my new circle algo but for me ran in between my old and new cilrcle algos. I posted code at SdlBasic forum to see if my translation was missing something.

Rick could I see your SdlBasic translation for the numbers you posted?

« Last Edit: May 28, 2017, 04:33:32 PM by B+ »

#### B+

• Guest
##### Re: Method or Madness ;-))
« Reply #8 on: May 28, 2017, 05:19:40 PM »
Hi JJ,

Quote
{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fnil\fcharset0 System;}}
{\colortbl ;\red0\green0\blue0;\red0\green0\blue255;\red112\green112\blue112;\red255\green0\blue0;}
{\*\generator Riched20 5.50.99.2070;}\viewkind4\uc1\pard\sl360\slmult1\tx1000\tx1400\tx4800\tx5800\tx0\cf1\v\f0\fs24\lang1040\'b0B\$;00FR00FR0G222b1i6212105Y001dA100034.errameeP2x4echoameeP2x7penNameeP2x5isArrneeP2x4tmp\$eneeP2x6gdiPeneeP205argC\$seeP207ellipseeP2x8MyCircleP20n000Bb020D00Dh000A00DG000A00C7000E00DA000G00Ak000Gu00zc0Vn#\cf0\protect\'b0B5\cf2\protect0\v0 GuiParas\cf1  equ "Fast circles", w700, h720\par
include \\masm32\\MasmBasic\\Res\\MbGui.asm\tab\cf3 ; \cf0\protect\v \protect0\v0 MasmBasic\protect\v \cf1\protect0\v0\par
\pard\sl240\slmult1\tx1000\tx1400\tx4800\tx5800\tx0   \cf2 Dim\cf1  Pens() As DWORD\par
\cf2 Dim\cf1  Brushes() As DWORD\par
\cf2 For_\cf1  ct=0 To 99\par
\tab\cf2 MakePen\cf1  Pens(ct), \cf2 Rand\cf1(-1), width 5\tab\cf3 ; use random colours\cf1\par
\tab\cf2 MakeBrush\cf1  Brushes(ct), \cf2 Rand\cf1(-1)\tab\cf3 ; also for the fill\cf1\par
\cf2   Next\cf1\par
\pard\sl360\slmult1\tx1000\tx1400\tx4800\tx5800\tx0   \cf2 MakePath\cf1\tab 123, Circle(500)\cf3\tab ; ID, type circle: radius 50%, i.e. n/1000 of window rect\cf0\par
\pard\tx1000\tx1400\tx4800\tx5800\tx0\protect\v\'b0B8\cf2\protect0\v0 Event\cf1  Key\par
\pard\sl360\slmult1\tx1000\tx1400\tx4800\tx5800\tx0   \cf2 GuiCls\cf1\par
\pard\tx1000\tx1400\tx4800\tx5800\tx0\cf0\protect\v\'b0B8\cf2\protect0\v0 Event\f1  cPaint\par
\cf2 NanoTimer\cf1()\par
\pard\tx600\tx1000\tx1400\tx1800\tx2133\tx2466\tx2800\tx3050\tx3300\tx3550\tx3800\tx4800\tx0   \cf2 For_\cf1  ct=0 \cf2 To\cf1  99\tab\cf3 ; ID\tab\tab pen/brush\tab\tab\tab x\tab\tab y\tab\tab(\cf4 no\cf3  scaleX\tab scaleY)\cf1\par
\pard\tx1000\tx1400\tx4800\tx5800\tx0\cf2\tab GuiDraw\cf1  123, <Pens(ct)/Brushes(ct)>, <\cf2 Rand\cf1(500).>, <\cf2 Rand\cf1(500).>\tab\cf3 ; , eax, <Rand(1000)>\tab ; ScaleX is eax, same as scaleY\par
\cf1   \cf2 Next\cf1\par
\cf2 GuiText\cf1  100.0-205, 100.0-24, \cf2 Str\$\cf1("%i ms (hit any key to refresh)", \cf2 NanoTimer\cf1(ms))\tab\cf3 ; ca 150 ms on a Core i5\cf1\par
\cf0\protect\v\lang1036\'b0B3\cf2\protect0\v0 GuiEnd\cf1\par
\par
}

Are you just using Paint to fill the circle?

#### jj2007

• Guest
##### Re: Method or Madness ;-))
« Reply #9 on: May 29, 2017, 02:02:11 AM »
Are you just using Paint to fill the circle?

No, it's GdipAddPathEllipse, a Windows Gdi+ function. As mentioned above, Ellipse is an even faster option, if you just want simple low quality circles.

The file is RTF, it opens in RichMasm, WordPad, MS Word, LibreOffice, ...

#### Rick3137

• Guest
##### Re: Method or Madness ;-))
« Reply #10 on: May 29, 2017, 01:35:52 PM »
Rick your numbers are shockingly weird to me, wow!

For me SdlBasic circle fill tests ran a bit slower which was surprising because usually SB graphics translations run faster in SdlBasic.

But Rick you have SB 10 times faster than I and SdlBasic many times slower??? yikes, that is crazy different and you use Windows 10 as I recall, maybe your much newer machine explains difference (but why would SdlBasic be so much slower than my results?)

BTW the Bresenham algo in Sdlbasic did not show improved results over my new circle algo but for me ran in between my old and new cilrcle algos. I posted code at SdlBasic forum to see if my translation was missing something.

Rick could I see your SdlBasic translation for the numbers you posted?

Code: [Select]
`' New circle algo test.sdlbas (B+=MGA) 2017-05-26' Johnno has reported 3 times slower not faster than SmallBASIC results' Here is my code check from' new circle algo test.bas for SmallBASIC 0.12.9 (B+=MGA) 2017-05-25 post' MIT license info below for fCirc2 algooption qbasicconst xmax = 1200const ymax = 700setdisplay(xmax, ymax, 32, 1)setcaption("New circle algo test For SdlBasic")const sqr12 = sqr(.5)radius = 350ox = xmax/2oy = ymax/2t0 = ticksfor i = 1 to 100  ink(rgb(rnd(255), rnd(255), rnd(255)))  fCirc( ox, oy, radius)nextt = ticks - t0text(10, 20, 16, Str( t) + " ms to draw 100 of these filled circles (r =350) my old fastest algo.")wait( 4000)t0 = ticksfor i = 1 to 100  ink(rgb(rnd(255), rnd(255), rnd(255)))  fCirc2(ox, oy, radius)nextt = ticks - t0text(10, 40, 16, str(t) + " ms for same circle test with new fastest algo.")waitkey(32)endsub fCirc(xx, yy, r)r2 = r * rfor x = 0 to r  y = sqr(r2-x*x)  line( xx-x, yy+y, xx-x, yy-y)  line( xx+x, yy+y, xx+x, yy-y)nextend subsub fCirc2(xx, yy, r)  'const sqr12 = sqr(.5) 'in main const section  r2 = r * r  sqr12r = sqr12*r  bar( xx-sqr12r, yy-sqr12r, xx + sqr12r, yy+sqr12r)  for x = 0 to sqr12r    y = sqr(r2-x*x)    line( xx-x, yy+sqr12r, xx-x, yy+y)    line( xx-x, yy-sqr12r, xx-x, yy-y)    line( xx+x, yy+sqr12r, xx+x, yy+y)    line( xx+x, yy-sqr12r, xx+x, yy-y)  next  for x = sqr12*r to r    y = sqr(r2-x*x)    line(xx-x, yy+y, xx-x, yy-y)    line( xx+x, yy+y, xx+x, yy-y)  nextend sub'##################################################################################''# The MIT License (MIT)'# Copyright (c) 2016-2017 B+=MGA'#'# Permission is hereby granted, free of charge, to any person obtaining a copy'# of this software and associated documentation files (the "Software"), to deal'# in the Software without restriction, including without limitation the rights'# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell'# copies of the Software, and to permit persons to whom the Software is'# furnished to do so, subject to the following conditions:'#'# The above copyright notice and this permission notice shall be included in all'# copies or substantial portions of the Software.'#'# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR'# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,'# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE'# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER'# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,'# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE'# SOFTWARE.''##################################################################################`

#### B+

• Guest
##### Re: Method or Madness ;-))
« Reply #11 on: May 29, 2017, 05:51:22 PM »
Thanks Rick, it is just my code!

Here are my results with same. You can see why I am shocked at your results.

#### Rick3137

• Guest
##### Re: Method or Madness ;-))
« Reply #12 on: May 29, 2017, 08:46:46 PM »
It's not good and I sometimes wonder if their isn't some unknown programmers if the security field, taking shots at Basic.

#### jj2007

• Guest
##### Re: Method or Madness ;-))
« Reply #13 on: May 29, 2017, 10:31:57 PM »
@B+: Which Windows version, which CPU, which graphics card?

I have a simple i5 with a standard Nvidia... and 100 circles take 20ms

#### Rick3137

• Guest
##### Re: Method or Madness ;-))
« Reply #14 on: May 29, 2017, 11:39:48 PM »
There might be something about Windows10 that does not like Mark's SDL algorithms.
I tried it with the original fillcircle command and got 688 ms.