Доброго всем времени суток!
Охватила ностальгия и решил немного побегать в нативную версию того самого Sacred-а. Помню, что году эдак в 2010 нативная линуксовая версия выглядела намного приятнее windows-версии (поддерживалось нативное разрешение), при этом производительность была на высоте. Однако все меняется.
Запустив тот же самый бинарник сегодня с удивлением обнаружил, что уже в меню игра начинает потреблять 80-90% CPU и чувствуются тормоза. На экране выбора класса персонажа чувствуются серьезные тормоза, ну а играть попросту невозможно (меньше одного fps).
В strace кажется подозрительным постоянные попытки игры найти несуществующие файлы:
[pid 32537] open("/mnt/media/games/Sacred/./PAK/NPC_DIALOG_01.TGA", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] open("/mnt/media/games/Sacred/./pak/npc_dialog_01.tga", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] open("./PAK/NPC_DIALOG_01.TGA", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] open("./pak/npc_dialog_01.tga", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] open("/mnt/media/games/Sacred/./PAK/NPC_DIALOG_01.TGA", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] open("/mnt/media/games/Sacred/./pak/npc_dialog_01.tga", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] open("./PAK/NPC_DIALOG_01.TGA", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] open("./pak/npc_dialog_01.tga", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] _llseek(20, 478392320, [478392320], SEEK_SET) = 0
[pid 32537] read(20, "&2v\3223\20\346\354\24d\221\234b\22\326\35\31\233\33\251\277\343\334Q\277\217\v.\271\214\344L"..., 4096) = 4096
Но судя по последнему llseek-у, нужный ресурс запакован в файлы игры и успешно находится, да и картинка рисуется «правильная».
Собственно вопросы:
- есть ли у кого success story по работе этой игры на актуальных дистрибутивах Linux?
- чем можно померять, на что, собственно, уходит процессорное время? С опенсорсными библиотеками и LD_PRELOAD-ом можно творить настоящие чудеса, но нужно знать, куда копать, а я пока понятия не имею.