@mod said:
if they want to fix that, i'd guess the simple solution would be to force every search through the vanilla path first?
I would think so. It seems that the a "vanilla" libdir had to be made to ensure that vanilla objects were loaded by default in cases when externals/abstractions shared the same name as vanilla objects. Checking the logs on start-up for Pd-extended, it seems that vanilla is the third libdir loaded, so I wouldn't think it would be significant. I'm guessing the vanilla libdir just isn't complete. I vaguely remember reading a while ago that a loaded library will override vanilla objects, so the vanilla libdir is really a kludge to negate that overriding. But if the vanilla libdir is incomplete, then objects are being searched in every loaded library first before checking if it is an internal. So that could be adding to the load time. Again, I'm speculating quite a bit here.
@cuinjune said:
Does this mean there can be any difference in audio quality between two?
What's the downside of using vanilla other than unable to use extended objects?
I suspect the pros for up-to-date portaudio is better compatibility with drivers, and maybe a boost in quality as far as portaudio itself is concerned. But if the implementation of portaudio isn't as good in Pd-extended as it is in Pd-vanilla, then it doesn't necessarily help. There have been other threads stating that lower latency can be achieved in vanilla, but I haven't really tested it myself. I always use Jack, anyway.
The major upside to Pd-extended is that it comes with a collection of widely used libraries and is itself widely used, meaning that you can write patches using many non-vanilla libraries, yet they will still be easy to share. There are the occasional objects like [import] and [initbang] that simply won't work in vanilla, and some things get implemented in Pd-extended well before they make their way into Pd-vanilla, but beyond that the advantages are generally cosmetic.