杂记:id Tech4的高层对象都是抽象类,这将会使程序在运行时从虚函数表中查找虚函数地址而导致性能问题。但是这里有一个“技巧”来避免这个问题。所有的对象被以静态的方式实例化,如下: idCommonLocal commonLocal; // Implementation idCommon * common = &commonLocal; // Interface manipulated in the code 这样编译器在编译时就可以决定被调用的函数,从而不用去查找虚函数表。
杂记:id Tech4的高层对象都是抽象类,这将会使程序在运行时从虚函数表中查找虚函数地址而导致性能问题。但是这里有一个“技巧”来避免这个问题。所有的对象被以静态的方式实例化,如下: idCommonLocal commonLocal; // Implementation idCommon * common = &commonLocal; // Interface manipulated in the code 这样编译器在编译时就可以决定被调用的函数,从而不用去查找虚函数表。