Несколько лет назад, когда я работал над J2ME, я использовал этот метод для придания тексту некоторого контура (псевдокод, но его легко обновить до WPF):
setColor(outlineColor)
drawText(x - 1, y, text)
drawText(x + 1, y, text)
drawText(x, y - 1, text)
drawText(x, y + 1, text)
setColor(textColor)
drawText(x, y, text)
(при условии, что вы хотите нарисовать текст в координатах x, y).
Я думаю, что рисование текста в 4 раза может быть быстрее, чем с помощью BuildGeometry.