While a library like SDL provides a cross-platform wrapper API for threading, I think it would be naive to assume that this leads directly to easy development of games across vastly different platforms (desktop / mobile).
What is the best way to tackle developing in this way (given any cross-platform threading API) considering the following:
- different numbers of cores
- vastly different processing capabilities per core
- A generally different systems architecture with eg. different latencies for cache, RAM , and I/O access
I get the feeling that the only way to do this is evaluate how many threads may be run per each device you intend to support, and find out what the lowest common denominator is. However, this still leaves me in the dark as to the total amount of processing throughput available. Am I right in assuming the only way to do this effectively is to actively develop for the lowest spec mobile device I intend to support, throughout development? -- i.e. the lowest common denominator? Should this roughly be sufficient? Or is there more to it than this?
EDIT: Please could others offer further experience on this as I don't feel my question has been answered fully yet.