The following might help:
Sync On turns on manual synching. This means that you have to manually use the
Sync command when you need it.
What Sync does is synchronise the screen with the world in your computer's memory.
All the commands which create/move objects can be
thought of as 'virtual'. In other words, when they are all executed the objects are 'primed' with the new data. The screen still shows the world in the state prior to these operations.
The Sync command then updates the viewable world on-screen to match the commands that you just issued.
This is why you will notice that 3D object-related errors more often than not will result in the Sync line being highlighted as the cause of the error. For the same reason, temporarily turning
Sync On to
Sync Off in your program will show the correct error line.
Using the Sync command takes time.
Ideally, you should only have a single Sync in your program - at the end of any loop which traps your program and after all of the 3D udating commands have been executed. Adding more simply slows down your program.
TDK_Man