It looks like you're new here. If you want to get involved, click one of these buttons!
I ran into this today on V20, all builds.
Using the lisp function GRDRAW is about 4x slower than in V19/V18, and it does not draw correctly.
It seems to blank out other items from GRDRAW, ash shown in the test function below.
The code below runs instantly in autocad, 2 seconds in V18/V19, and 9 seconds in V20.
I use GRDRAW extensively in general utility and also civil design tools, so its a deal killer for us for V20.
I did a support request on this so I'm sure the bricsys team will get back to me soon.
I am transitioning my civil tools to transient entities using .net, and that works well for temp items shown on screen during commands.
I still have several tools though, that leave items shown on screen after a command. The test code below is part of a tool that reports drawing health on file open.
I can't have 9 seconds delays on startup so may have to rethink some things if this is a deep issue.
Try this code (I do all caps for lisp, sorry...)
(DEFUN C:CTTESTGR ( / ANG CENLT LL SCREENWIDTH SHIFT UL VCTR VT WIDTH XINC)
(SETQ SCREENWIDTH (* (/ (CAR (GETVAR "SCREENSIZE"))(CADR (GETVAR "SCREENSIZE")))(GETVAR "VIEWSIZE"))
VT (GETVAR "VIEWTWIST")
(WHILE (< VT 0.0)
(SETQ VT (+ VT (* 2.0 PI)))
(WHILE (> VT (* 2.0 PI))
(SETQ VT (- VT (* 2.0 PI)))
(SETQ WIDTH (* 0.8 SCREENWIDTH)
VCTR (TRANS (GETVAR "VIEWCTR") 1 0)
CENLT (POLAR VCTR (- PI VT)(/ WIDTH 2.0)) ;20% TO LEFT
UL (POLAR CENLT (- (/ PI 2.0) VT)(/ (GETVAR "VIEWSIZE") 4.0)) ;25% TO TOP
LL (POLAR CENLT (- (/ PI -2.0) VT)(/ (GETVAR "VIEWSIZE") 4.0)) ;25% TO TOP
XINC (/ WIDTH 2000.0)
;LOOP AND DRAW 100 LINES VERTICALLY
(GRDRAW (TRANS (POLAR LL (- 0.0 VT) SHIFT) 0 1)
(TRANS (POLAR UL (- 0.0 VT) SHIFT) 0 1)
(SETQ SHIFT (+ XINC SHIFT))