Dev Depot: Fast Image Cache

Part of any good app’s user experience is fast, smooth scrolling, but this places a significant burden on performance for graphics rich applications, because the traditional method of loading individual images from disk is too slow — especially while scrolling.

The makers of Fast Image Cache (www.github.com/path/FastImageCache) set out to solve this problem by creating an efficient, persistent, and above all fast way to store and retrieve images in iOS apps. It does this by storing images of similar sizes and styles together, persisting image data to disk and returning images to users significantly faster than by traditional methods. Automatically managing cache expiry based on actual usage, Fast Image Cache utilizes a model-based approach for storing and retrieving images that allows image processing on a permodel basis before storing the image into the cache.

Image tables are similar to sprite sheets, often used in 2D gaming [and combine] images of the same dimensions into a single file, this file is opened once and is left open for reading and writing for as long as an application remains in memory.

“iOS applications, especially those in the social networking space, often have many images to display at once, such as user photos,” a Fast Image Cache spokesperson states. “The intuitive, traditional approach is to request image data from an API, process the original images to create the desired sizes and styles, and [then] store these processed images on the device.”

When an application needs to display these images, they are loaded from disk into memory and displayed in an image view, or otherwise shown on screen. The problem he notes is that the process of going from compressed, on-disk image data to a fully rendered Core Animation layer that the user can actually see is very expensive, overhead-wise.

“As the number of images to be displayed increases, this cost easily adds up to a noticeable degradation in frame rate, and scrollable views further exacerbate the situation because content can change rapidly, requiring fast processing time to maintain a smooth 60FPS [frame rate],” the spokesperson explains. “These costs can easily accumulate and kill perceived application performance. Especially while scrolling, users are presented with an unsatisfying user experience that is not in line with the overall iOS experience.”

Fast Image Cache provides a solution by minimizing (or avoiding entirely) much of the problem, using a variety of techniques, including byte alignment, memory mapping, and using uncompressed image data. At the heart of this system are image tables.

“Image tables are similar to sprite sheets, often used in 2D gaming [and combine] images of the same dimensions into a single file,” the spokesperson added. “This file is opened once and is left open for reading and writing for as long as an application remains in memory.”

Image tables store uncompressed image data in their files to avoid expensive image decompression operations, but this approach has consequences.

“Uncompressed image data requires more disk space, and the difference between compressed and uncompressed file sizes can be significant, especially for image formats [such as] JPEG,” the spokesperson concludes. “For this reason, Fast Image Cache works best with smaller images, although there is no API restriction that enforces this.”

Fast Image Cache is offered under the MIT license, requires iOS 6.0 or greater, and relies on the Core Graphics, Foundation and UIKit frameworks. If you develop iOS apps, and want to speed them up, then visit GitHub and give Fast Image Cache a try.

Related:  

Copyright © 2024 Adnet Media. All Rights Reserved. XBIZ is a trademark of Adnet Media.
Reproduction in whole or in part in any form or medium without express written permission is prohibited.

More Articles

opinion

Goodbye to Noncompete Agreements in the US?

A noncompetition agreement, also known as a noncompete clause or covenant not to compete, is a contract between an employer and an employee, or between two companies.

Corey D. Silverstein ·
opinion

The Search for Perfection in Your Payments Page

There has been a lot of talk about changes to cross sales and checkout pages. You have likely noticed that acquirers are now actively pushing back on allowing merchants to offer a negative option, upsell or any cross sales on payment pages.

Cathy Beardsley ·
opinion

Unpacking the Payment Card Industry's Latest Data Security Standard

The Payment Card Industry Data Security Standard (PCI DSS) is a set of requirements and guidelines that apply to all businesses that accept credit card payments, and is designed to ensure the security of those transactions.

Jonathan Corona ·
opinion

Compliance With State Age Verification Laws

During the past year, website operators have faced a slew of new state age verification laws entailing a variety of inconsistent compliance obligations.

Lawrence Walters ·
opinion

Merchants in Spotlight With Visa's VIRP

By now, most merchants know about the Visa Integrity Risk Program (VIRP) rolled out in spring 2023. The program is designed to ensure that acquirers and their designated agents — payment facilitators, independent sales organizations and wallets — maintain proper controls and oversight to prevent illegal transactions from entering the Visa payment system.

Cathy Beardsley ·
opinion

How to Know When Hosting Upgrades Are Really Needed

I was reminded about an annoyingly common experience that often frustrates website owners: upgrades. Sometimes, an upgrade of physical system resources like CPU, RAM or storage really is required to solve a problem or improve performance… but how do you know you’re not just being upsold?

Brad Mitchell ·
profile

WIA Profile: Natasha Inamorata

Natasha Inamorata was just a kid when she first picked up a disposable camera. She quickly became enamored with it and continued to shoot with whatever equipment she could afford. In her teens, she saved enough money to purchase a digital Canon ELPH, began taking portraits of her friends, shot an entire wedding on a point-and-shoot camera and edited the photos with Picnik.

Women in Adult ·
trends

Collab Nation: Top Creators Share Best Practices for Fruitful Co-Shoots

One of the fastest ways for creators to gain new subscribers and buyers, not to mention monetize their existing fan base, is to collaborate with other creators. The extra star power can multiply potential earnings, broaden brand reach and boost a creator’s reputation in the community.

Alejandro Freixes ·
opinion

Bridging Generational Divides in Payment Preferences

While Baby Boomers and Gen Xers tend to be most comfortable with the traditional payment methods to which they are accustomed, like cash and credit cards, the younger cohorts — Millennials and Gen Z — have veered sharply toward digital-first payment solutions.

Jonathan Corona ·
opinion

Legal and Business Safety for Creators at Trade Shows

As I write this, I am preparing to attend XBIZ Miami, which reminds me of attending my first trade show 20 years ago. Since then, I have met thousands of people from all over the world who were doing business — or seeking to do business — in the adult industry.

Corey D. Silverstein ·
Show More