Commit Graph

15 Commits

Author SHA1 Message Date
Denis Mingulov 869168a884 ZipFile - speedup initialization for zip archive by 30-50%
unzip.h/.cpp - unzGoToFirstFile/unzGoToNextFile retrieves information
about the current file, so it is possible to remove redundant calls
to unzGetCurrentFileInfo and speed up general execution.

unzip.h/.cpp are modified accordingly by creation unzGoToFirstFile64
and unzGoToNextFile64 with file info (unz_file_info64) and name as
possible output parameters.

ZipFile::setFilter (it is used to create a file list at ZipFile
constructor) - redundant calls to unzGetCurrentFileInfo64 are removed,
so briefly the time required to generate a zip file list is something
like 1 average old unzLocateFile call.
2012-11-11 15:04:41 +02:00
Denis Mingulov 83cf8aaf29 Android: Access to files from APK is boosted - 1st review update 2012-11-09 09:53:40 +02:00
Denis Mingulov 071d264cc5 Android: Access to files from APK is boosted
Open APK file just once and cache a file list information (name and
position inside archive). Also a general ZipFile helper class is
created to read multiple files from Zip archives - might be used
for another platforms if needed.

Previously it was so for each separate file access operation:
- Open zip archive, initially parse its structure (unzOpen)
- Locate the particular file there by a linear search through
  full archive (unzLocateFile).
  So if file does not exist - still an archive has to be handled
  fully, even slower than a file exists.
- Read file.
- Close zip archive

After this commit:
- Once - open zip/apk file and collect file list information
  (average consumed time - the same like a search for 2 different
  files by unzLocateFile)
- When needed - directly retrieve file position inside the archive,
  setting it up to the zip reader and reading file

ZipFile class is located in support/zip_support/ZipUtils.h and .cpp
to prevent creation of a new files and adding them to multiple
project files.
2012-11-08 13:46:53 +02:00
James Chen 07b9db8e91 Merge branch 'gles20' into gles20-ccbi 2012-06-19 17:28:31 +08:00
James Chen c4056b1bb0 fixed #1269: Updated include search paths for win32 and android. 2012-06-19 17:22:55 +08:00
James Chen 591566b43a fixed #1335: Memory leaks in cocos2dx and CCBReader. 2012-06-19 16:31:26 +08:00
James Chen 23574172ff issue #1324: Added create() for static member functions that new an autorelease object, updated cocoa folder. 2012-06-14 16:05:58 +08:00
James Chen 76a560a474 issue #1310: Made CCFileUtils as a singleton. 2012-06-08 16:22:57 +08:00
James Chen 230b8a386b issue #1176: Changed linebreak symbol to UNIX format ('\n'),replaced 'tab'
with four spaces. Also,
1. Used macro NS_CC_BEGIN instead of namespace cocos2d {, NS_CC_END instead
of }.
2. Removed some unused files.
3. Renamed the name of some folders, for example,
"test.android"-->"proj.android" .
2012-04-19 14:35:52 +08:00
minggo f0d22ae504 issue #879: replase assert with CCAssert 2011-11-28 17:28:43 +08:00
Walzer 3afe6ebfb2 fixed #638, add support for pvr ccz format. I've tested it on both ios & android, also with instrument memleak detection. But haven't tested on win32 & marmalde, in thoery it will work. 2011-08-16 11:56:17 +08:00
natural-law fcbe0443be Resolve a bug in ZipUtils.cpp. And modify the Makefile of tests on wophone. 2011-07-11 15:16:29 +08:00
minggo 70ce4f877f fixed #565: upgrade tileMap_parallax_nodes to 1.0.0-rc3 2011-07-04 14:11:43 +08:00
minggo dc55c164ba fixed #292 2010-12-29 18:01:37 +08:00
minggo b2b8591b26 fixed #279 2010-12-28 10:23:14 +08:00