使用C,具有
<a name="img1" />
<img src="some-image.jpg" />
并致电
typedef struct Entity {
size_t id;
char *luaFun;
} Entity;
到全局(entity-> luaFun =“ entity_update”)
void LuaEntityUpdate(Entity *entity, double dt) {
lua_getglobal(L, entity->luaFun);
lua_pushinteger(L, entity->id);
lua_pushnumber(L, dt);
lua_call(L, 2, 0);
}
循环(单个游戏框架)大约需要:
使Windows的构建速度比Linux慢约64倍(同一台计算机,运行的应用程序减少到最少,并且都使用100%的单核)。
如此巨大的差异可能是什么原因?请查看下面的评论并进行编辑。
* Windows 10,Mingw-w64,来自:“ MingW-W64-builds”,使用Lua 5.3.5二进制发行版
** Mint 16,gcc,Lua 5.3.5来自官方消息来源
-编辑
根据评论中的建议,我试图在不打印任何消息和BINGO的情况下测量性能!没有任何打印性能几乎可以与Linux构建相匹敌。
现在,我尝试将打印内容替换为:
function entity_update(id, dt)
print("Entity updated ", id, " ", dt)
end
-
local w = print
w(...)
-
io.write(...)
但是它们的表现都一样。
我还尝试过通过Windows命令运行该程序,该程序比CLion中捕获的控制台快30%。
是否有任何技巧可以使Windows上的速度更快?最好在lua部分中使用日志记录实用程序,但是即使是调试,对于实时应用程序来说也太慢了。
也:标题已更改