我不确定3d渲染是否正确吗?下面是我的3d渲染方法的一种方法。当我在桌面上运行游戏时,可以60fps正常运行,但是当我在android上运行时,仅可以15fps运行。当我注释掉这种方法时,我也能获得60fps,所以我认为问题出在我的3d渲染代码中。
你能告诉我它是否正确吗?
private void draw3d() {
gameViewport.apply();
modelBatch.begin(gameCamera);
modelBatch.render(highwayInstance,environment);
modelBatch.render(highway2Instance,environment);
modelBatch.render(highwayLines,environment);
modelBatch.render(buttons,environment);
if (activeMetronomeFirsts.size != 0) {
int activeMetronomeFirstLength = activeMetronomeFirsts.size;
for (int i = activeMetronomeFirstLength; --i >= 0;) {
modelBatch.render(activeMetronomeFirsts.get(i).getMetronomeInstance(),environment);
}
}
if (activeMetronomes.size != 0) {
int activeMetronomeLength = activeMetronomes.size;
for (int i = activeMetronomeLength; --i >= 0;) {
modelBatch.render(activeMetronomes.get(i).getMetronomeInstance(),environment);
}
}
if (activesnares.size != 0) {
int activesnareLength = activesnares.size;
for (int i = activesnareLength; --i >= 0;) {
modelBatch.render(activesnares.get(i).getsnareInstance(),environment);
//activesnares.get(i).draw(modelBatch);
}
}
if (activeHiHats.size != 0) {
int activeHiHatLength = activeHiHats.size;
for (int i = activeHiHatLength; --i >= 0;) {
modelBatch.render(activeHiHats.get(i).getHiHatInstance(),environment);
}
}
if (activeTom1s.size != 0) {
int activeTom1Length = activeTom1s.size;
for (int i = activeTom1Length; --i >= 0;) {
modelBatch.render(activeTom1s.get(i).getTom1Instance(),environment);
}
}
if (activeRides.size != 0) {
int activeRideLength = activeRides.size;
for (int i = activeRideLength; --i >= 0;) {
modelBatch.render(activeRides.get(i).getRideInstance(),environment);
}
}
if (activeTom2s.size != 0) {
int activeTom2Length = activeTom2s.size;
for (int i = activeTom2Length; --i >= 0;) {
modelBatch.render(activeTom2s.get(i).getTom2Instance(),environment);
}
}
if (activeCrashs.size != 0) {
int activeCrashLength = activeCrashs.size;
for (int i = activeCrashLength; --i >= 0;) {
modelBatch.render(activeCrashs.get(i).getcrashInstance(),environment);
}
}
if (activeTom3s.size != 0) {
int activeTom3Length = activeTom3s.size;
for (int i = activeTom3Length; --i >= 0;) {
modelBatch.render(activeTom3s.get(i).getTom3Instance(),environment);
}
}
if (activeBasses.size != 0) {
int activeBassLength = activeBasses.size;
for (int i = activeBassLength; --i >= 0;) {
modelBatch.render(activeBasses.get(i).getBassInstance(),environment);
}
}
modelBatch.end();
}