Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Performance evaluation of NumPy, SciPy, PyMEL and OpenMaya compared to the C++ API in Autodesk Maya
Blekinge Institute of Technology, Faculty of Computing, Department of Computer Science.
Blekinge Institute of Technology, Faculty of Computing, Department of Computer Science.
2021 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE creditsStudent thesisAlternative title
Prestandautvärdering av NumPy, SciPy, PyMEL och OpenMaya jämfört med C++ APIet i Autodesk Maya (Swedish)
Abstract [en]

Background. Autodesk Maya allows scripting through both MEL and Python, and it is also possible to use different Python modules and a C++ API to perform the desired tasks. In theory, the C++ API is the fastest option in Maya, but there are no studies that support this claim. Other studies show that PyMEL is the slowest module in Maya to work with, but it is still the one used most frequently. This thesis has therefore made a speed measurement to determine which of the four selected Python modules and the C++ API is the fastest to use, regarding animation transfer between skeletal hierarchies with different numbers of data.

Objectives. The aim of this thesis is to measure the performance in terms of speed of the Python modules NumPy, SciPy, OpenMaya and PyMEL, as well as the C++ API, in order to determine which is the fastest. Our objectives are to determine the speed performance of each module by conducting experiments.

Methods. To achieve the objectives, an experiment was conducted to compare the speed of each Python module and the C++ API. To perform the experiments, the implementations for each module and the API have been written in the same way, with their own data types and classes. After performing the experiments for each module, the mean time consumption of each program has been compared.

Results. The results from the experiments show that there was a noticeable difference in the speed between the C++ API and the Python modules, as the C++ API delivered the highest speed for all the skeletons that took place in the experiments. The OpenMaya module was the fastest Python module that was tested, while PyMEL was the slowest. The C++ API’s measurements show that it took 0,388–1,909 seconds depending on which skeleton was used to perform the experiment, while OpenMaya’s measurements were 0,538–3,119 seconds which show that OpenMaya is 39–68% slower than the C++ API. NumPy, SciPy and PyMEL’s measurements ranged from 689% to 3165% slower than the C++ API.

Conclusions. The conclusion of the experiments show that the C++ API is the fastest to use, while PyMEL is the slowest module, as it is 2632–3165 % slower, when used for these animation transfers. This shows that the C++ API can be a better choice for complex calculations, such as animation transfers.

Place, publisher, year, edition, pages
2021.
Keywords [en]
Animation transfer, Performance, Scripting, Python
National Category
Engineering and Technology
Identifiers
URN: urn:nbn:se:bth-21664OAI: oai:DiVA.org:bth-21664DiVA, id: diva2:1568123
Subject / course
UD1449 Bachelor´s Thesis in Digital Game Development
Educational program
UDGTA Technical artist for games
Supervisors
Examiners
Available from: 2021-06-17 Created: 2021-06-17 Last updated: 2021-06-17Bibliographically approved

Open Access in DiVA

Performance evaluation of NumPy, SciPy, PyMEL and OpenMaya compared to the C++ API in Autodesk Maya(4816 kB)1390 downloads
File information
File name FULLTEXT02.pdfFile size 4816 kBChecksum SHA-512
93ee7338062460295847ec12f7486c7a3bc0239bca3516c98f77c9128d06a1f835e2dfea22107f3e03c6dd635891db63e663fd5f0d12706d8c20a0451154574a
Type fulltextMimetype application/pdf

By organisation
Department of Computer Science
Engineering and Technology

Search outside of DiVA

GoogleGoogle Scholar
Total: 1390 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 1492 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf