If LDForge only deals with parts, then calculating the conditionals every frame on the CPU isn't ever going cause a performance problem (even if you don't bother to try to optimize with multi-threading). Even with the 48x48 baseplate, LDView gets 480FPS with conditional lines enabled on my computer (and around 2000 with them disabled).
Mind you, calculating which ones to draw is a pain. However, because of this, the code inside LDView that calculates whether a particular conditional should be drawn is well-commented. You're welcome to copy it if you want. Take a look at TREShapeGroup:houldDrawConditional() here:
http://ldview.cvs.sourceforge.net/viewvc...iew=markup
Note: I think Don Heyse gave me the initial code that the LDView code is based on.
Mind you, calculating which ones to draw is a pain. However, because of this, the code inside LDView that calculates whether a particular conditional should be drawn is well-commented. You're welcome to copy it if you want. Take a look at TREShapeGroup:houldDrawConditional() here:
http://ldview.cvs.sourceforge.net/viewvc...iew=markup
Note: I think Don Heyse gave me the initial code that the LDView code is based on.