H>зависит ли скорость рисования display list-а от кода его создвшего? (если суть сцены одинакова)
IMHO тут хитро.. Дисплей лист хранится в локальной памяти на борту карты. Если он больше чем там доступно памяти — будут жуткие тормоза. Лучше исмользовать ClientState массивы (glDrawElements и glDrawArrays) — при этом не надо держать копии данных (в дисплей листе) и работает все НААМНОГО быстрее (из личного опыта) — даже несмотря на то, что приходится все данные на каждый render гонять по шине. Зато память карты не использцется — а AGP штука быстрая, потому можно рисовать очень большие объекты. Может конечно зависит от карты, но на куче GeForce разных glDrawArrays была быстрее.
Ну а оптимизировать чтоб не рисовать лишнее все равно надо