Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#3398 closed defect (fixed)

FPS suddenly dropped down to less than 1 FPS

Reported by: alexanderW3 Owned by:
Priority: Should Have Milestone: Alpha 19
Component: Core engine Keywords: pathfinding
Cc: Patch:

Description

During an attack of an AI player, the FPS dropped to less than 1.

Change History (6)

comment:2 by alexanderW3, 9 years ago

After a while, this error popped up:

Assertion failed: "m_fileSize >= off_t(minFileSize)"
Location: archive_zip.cpp:441 (ArchiveReader_Zip::ArchiveReader_Zip)

Call stack:

ArchiveReader_Zip::ArchiveReader_Zip (archive_zip.cpp:441)
    this = (unavailable)
    pathname = 0x0016F200 -> 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = "\㏾.zip"

    fileInfo = 
        name = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 47 ('/')

        size = 0 (0x0000000000000000)
        mtime = 1441502373 (0x0000000055EB94A5)


CreateArchiveReader_Zip (archive_zip.cpp:573)
    archivePathname = 0x0016F200 (see above)

PopulateHelper::AddFiles (vfs_populate.cpp:120)
    this = (unavailable)
    files = 0x0016F264 -> (unsupported vector<CFileInfo >)
    path = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 92 ('\')

    pathname = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 92 ('\')

    archiveReader = (shared_ptr<IArchiveReader>)

PopulateHelper::AddEntries (vfs_populate.cpp:68)
    this = (unavailable)
    subdirectoryNames = (unsupported vector<Path >)
    files = (unsupported vector<CFileInfo >)

vfs_Populate (vfs_populate.cpp:164)
    directory = 0x03A7412C -> 
        m_files = (unsupported map<Path,VfsFile >)
        m_subdirectories = (unsupported map<Path,VfsDirectory >)
        m_realDirectory = (shared_ptr<RealDirectory>)
        m_shouldPopulate = 0 (0x00000000)

    helper = 
        m_directory = 0x03A7412C (see above)
        m_realDirectory = (shared_ptr<RealDirectory>)


vfs_Lookup (vfs_lookup.cpp:134)
    pathname = 0x0016F4A4 -> 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = [8] { 47 ('/'), 47 ('/'), 54394, 2307, 62708, 22, 53199, 79 ('O') }

    startDirectory = 0x009FFB28 -> 
        m_files = (unsupported map<Path,VfsFile >)
        m_subdirectories = (unsupported map<Path,VfsDirectory >)
        m_realDirectory = (shared_ptr<RealDirectory>)
        m_shouldPopulate = 0 (0x00000000)

    directory = 0x0016F3F4 -> 0x009FFB28 (see above)
    pfile = 0x0016F3F8 -> 0x00000000
    flags = 0 (0x00000000)
    subdirectoryName = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 47 ('/')

    currentPath = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 62416

    realDirectory = (shared_ptr<RealDirectory>)
    filename = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 64272


VFS::RemoveFile (vfs.cpp:269)
    this = (unavailable)
    pathname = 0x0016F4A4 (see above)
    directory = 0x009FFB28 (see above)
    file = 0x00000000
    s = (`anonymous-namespace'::ScopedLock)

ReloadChangedFiles (filesystem.cpp:81)
    notifications = (unsupported vector<DirWatchNotification >)
    profile2__ = 
        m_Name = 0x00535EB4 -> "hotload"

    pathname = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 47 ('/')


Frame (main.cpp:317)
    realTimeSinceLastFrame = 0.022885 (0x3CBB7867)
    time = 3.81227e-016 (0x3CBB786705070240)
    profile2__ = 
        m_Name = 0x00524838 -> "frame"

    profile2__ = 
        m_Name = 0x3CBB7867 -> (unavailable - internal error)



RunGameOrAtlas (main.cpp:511)
    argc = 1 (0x00000001)
    argv = 0x00A05348 -> 0x00A0F648 -> "C:\Users\Alexander Wilms\AppData\Local\0 A.D. alpha\binaries\system\pyrogenesis.exe"
    args = 
        m_Args = (unsupported vector<pair<CStr8,CStr8> >)
        m_Arg0 = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')


    res = 0 (0x0000000000000000)
    paths = 
        m_root = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 63140

        m_rdata = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 37232

        m_gameData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 36724

        m_userData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 12613

        m_config = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 1

        m_cache = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 58260

        m_logs = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 36858


    replay = 
        m_Stream = 0x009C0194 -> (basic_istream<char,char_traits<char> >)

    mod = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 0

    zip = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 1

    mods = (unsupported vector<CStr8 >)
    paths = 
        m_root = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 63140

        m_rdata = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 37232

        m_gameData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 36724

        m_userData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 12613

        m_config = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 1

        m_cache = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 58260

        m_logs = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 36858


    builder = 
        m_VFS = (shared_ptr<IVFS>)
        m_Files = (unsupported vector<Path >)
        m_TempDir = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 60771

        m_NumBaseMods = 10223616 (0x009C0000)


SDL_main (main.cpp:555)
    argc = 1 (0x00000001)
    argv = 0x00A05348 (see above)

main (sdl_windows_main.c:140)
    argc = 1 (0x00000001)
    argv = 0x00A05348 (see above)

wmain (wseh.cpp:380)
    argc = 1 (0x00000001)
    argv = 0x00A0B680 -> 0x00A0B688 -> "C:\Users\Alexander Wilms\AppData\Local\0 A.D. alpha\binaries\system\pyrogenesis.exe"
    utf8_argv = (unsupported vector<char * >)
    utf8 = (unsupported basic_string<char,char_traits<char> >)

CallStartupWithinTryBlock (wseh.cpp:397)
    ret = 0 (0x00000000)

RtlInitializeExceptionChain (:0)

RtlInitializeExceptionChain (:0)


errno = 0 (No error reported here)
OS error = 0 (no error code was set)
Last edited 9 years ago by historic_bruno (previous) (diff)

comment:3 by alexanderW3, 9 years ago

After the enemy destroyed my gates, the FPS went up to normal levels. Maybe it's related to pathfinding?

comment:4 by Lionkanzen, 9 years ago

Is highly related with old pathfinder you can't isolated by walls because creates a massive lag( and massive is a tiny word for FPS :1)

Try don't isolated by walls, and A19 don't have this issue.

comment:5 by Itms, 9 years ago

Keywords: pathfinding added
Milestone: BacklogAlpha 19
Resolution: fixed
Status: newclosed

Yes, as Lionkanzen says, the issue is fixed in the development version. A new version of the game with these improvements should be out as soon as possible.

comment:6 by historic_bruno, 9 years ago

Is that ArchiveReader_Zip error fixed, too?

Note: See TracTickets for help on using tickets.