Коэффициент пидорастичности файла.

Определение: коэффициент пидорастичности текстуры (или любого другого файла):
размер текстуры в байтах, делённый на степень сжатия в zip.

напр. если файл в 800 байт сжимается до 400, то его коэффициент равен 800/(400/800) = 1600

Скрипт для нахождения самых пидорских текстур (напр. одноцветного голубого неба 2048×2048 в RGBA формате):


import sys, os

for f in sys.argv[1:]:
        data = open(f, 'rb').read()
        zdata = len(data.encode('zip'))
        if len(data):
                ratio = zdata / float(len(data))
        else:
                ratio = 1.0
        print '%s: %s %s %s %s' % (f, len(data) / ratio, int(ratio*100), len(data), zdata)

Скрипт проверяет файлы переданные в командной строке, для запуска на всех dds-файлах я использую под cygwin следующую команду:
find -iname ‘*.dds’ | xargs -P 4 python gay_coeff.py | sort -k 2 -n > dds_zip.txt
cygwin используется что бы encode(‘zip’) работал на всех ядрах процессора, в один поток легко переписать на чистый питон.

Ещё отлично ищутся сверх-тесселированные кубические домики.

Не у всех стоит unix-окружение, можете переписать на чистый питон, я тогда добавлю в пост ссылку на ваш скрипт.

Исходники тоже так можно проверять ;-)

  • http://www.cgportfolio.ru/database/showthread.php?t=26 Vlasov Alexey

    Если бы это была самая большая проблема:)
    p.s. Да оно в общем то вот именно такое можно и на виндовой командной строчке написать так что как есть вполне себе супер! Тут кстати еще такой момент – кто задумывается о таких вещах в проекте, для того cygwin не проблема:)