AK
2. действительно существуют более оптимальные варианты чтения папок чем findfirst/next. самому 'поднять' шансов мало. но можно юзать готовый everything, есть api
3. в последнее время списки файлов вообще перестал вычитывать, обрабатываю файлы сразу 'по ходу', скорость обработки выросла раза в 2, да и памяти на сотнях тысяч не напасешься
п.2 - мне желательно использовать мультиплатформенные стандартные средства, без компонент третьих сторон.
п.3 - вариант, конечно, без составления дополнительного списка, но мне всё равно нужно будет обрабатывать файлы не все напрямую, а для некоторых - проверять наличие обработанного файла-близнеца.
например, DAT файл будет переводиться в двоичную форму, и записываться в контейнер будет именно она. Или PNG файл будет игнорироваться, если есть такой же файл с расширением DDS. Можно и через FileExists делать, а можно и через проверку списка в таких случаях.
В общем, пока в раздумьях я...