In my experience if you ignore the check engine light and run with error codes the PCM/ECU may restrict outputs based on its program. I would run the codes, see which one(s) make sense, and then at least clear the codes so the computer has a chance to control per design. If/when the check engine light comes back on in normal driving, run the codes as soon as you can, before it stacks up a bunch of other codes which may really be caused by the computer logic and not by your root problem. Like Bill says, you may have a vacuum leak, and it may cause the computer to "see" a problem that is not really there, throw a false code, and maybe even control erratically. Clearing the codes may guide you to the problem.