Gamasutra is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
July 15, 2019
arrowPress Releases

If you enjoy reading this site, you might also want to check out these UBM Tech sites:

Feature: 'Designing Fast Cross-Platform SIMD Vector Libraries'

Feature: 'Designing Fast Cross-Platform SIMD Vector Libraries' Exclusive

January 20, 2010 | By Staff

January 20, 2010 | By Staff
    Post A Comment
More: Console/PC, Exclusive

A new Gamasutra feature article by Gustavo Oliveira delves into the construction of fast vector libraries, based in part on the experience the author had while developing VMath.

Oliveira, a Qualcomm senior software engineer who has worked for Sony Computer Entertainment America and Electronic Arts, includes a number of examples and principles throughout the piece, which he introduces as follows:

"Inside most 3D applications there exists a vector library to perform routine calculations such as vector arithmetic, logic, comparison, dot and cross products, and so on. Although there are countless ways to go about designing this type of library, developers often miss key factors to allow a vector library to perform these calculations the fastest possible way.

"Around late 2004 I was assigned to develop such a vector library code-named VMath, standing for "Vector Math." The primary goal of VMath was not only to be the fastest but also easily portable across different platforms.

"To my surprise in 2009, the compiler technology has not changed much. Indeed the results presented in this article resulted from my research during that time, with some exceptions, are nearly the same that when I was working on VMath five years ago.

"Since this article is mostly written in C++ and focused primarily in performance, defining the fastest library can be misleading sometimes.

"Therefore, the fastest library as described in here, is the one that generates the smallest assembly code compared to other libraries when compiling the same code using the same settings (assuming release mode of course). This is because the fastest library generates fewer instructions to perform the same exact calculations. Or in other words, the fastest library is the one the bloats the code the least."

The full article, which includes code samples, is now available to read on Gamasutra.

Related Jobs

Sucker Punch Productions
Sucker Punch Productions — Bellevue, Washington, United States

QA Manager
Sucker Punch Productions
Sucker Punch Productions — Bellevue, Washington, United States

Lighting Artist
Tangent Games LLC
Tangent Games LLC — Burbank, California, United States

System Designer
Build A Rocket Boy Games
Build A Rocket Boy Games — Edinburgh, Scotland, United Kingdom

Senior Animation Programmer

Loading Comments

loader image