Знаете ли вы что такое костыли? В первую очередь это слово ассоциируется у меня с мотоциклом, на котором я стабильно раз в год чето себе ломаю. Так вот мы поговорим не об этих костылях, а о «костылях» в программировании. Заметили что пишу в кавычках, дальше будет без кавычек потому что лень кнопки нажимать(Это тоже своего рода костыль). Костылем называется кусочек кода, иногда громадный кусище, призванный замаскировать баг.
В движке Windmill engine поддержка сети для всех языков писалась индивидуально. Причины для этого везде были разные. Например в C# было довольно проблематично реализовать функции обратного вызова, передаваемые в нативный код. На таком принципе были построены сетевые события. Они работали, но почему-то через раз. Если где то портилась память, все ссылки съезжали и получалось черте что. Помучившись, было решено написать сетевой код на C#.
Для более эффективного использования движка будет не лишним узнать, как же он работает, что происходит «за кадром» с момента вызова функции, например DrawSprite, и до появления результатов ее работы на экране. Важно понять, что функции рисования вообще и DrawSprite в частности в действительности ничего не рисуют, они лишь дают команду, что нужно нарисовать где-то что-то.