Update to use DisplayLists for improved performance